addCloseListener reagiert nicht (Standalone App)

Issue #118 resolved
Oliver Widmann created an issue

Da wir auf die Standalone in naher Zukunft angewiesen sind und ich diese schon seit längerem nutze, ist mir aufgefallen, dass der addCloseListener nicht in der Standalone App reagiert.

var htmlFile = new HTMLFile('index.html', {});
    var appContent = AppContent.popupContent(htmlFile, 250, 50);
    if(user.canSendAppContent(appContent)){
        user.sendAppContent(appContent);
        appContent.addCloseListener(function(user, appContent){
            logger.debug('CLOSE!');
        });
    }

Edit: Wenn bereits ein AppContent geöffnet ist, wird das Event getriggert. Das ist aber nicht im Sinne des Erfinders, denn bei einem closeListener, erwartet man, dass dieser auch reagiert, wenn z.B. das Popup geschlossen wird.

Comments (5)

  1. Adrian Preuss

    Liegt daran, dass die UI nicht korrekt beendet wird und im Hintergrund weiterläuft. Sobald die UI einmal geöffnet wurde, das Popup-Fenster aber geschlossen ist, befindet es sich wohl noch im Speicher, wird nicht richtig destructed.

    Anscheinend wird das Popup-Fenster ausschließlich disposed, sprich nur ausgeblendet, nicht aber komplett beendet. Vielleicht ist hier ein EventListener im Clienten daran schuld.

    @finomosec bitte prüfe das mal, da hier auch die ContentSession nicht beendet wird.

  2. Frederic Leitenberger (privat)

    Danke für diesen Hinweis. Das hilft sehr um das Problem zu beheben. Es kann aber noch etwas dauern bis wir dafür Zeit finden.

  3. Adrian Preuss

    Das Problem besteht immer noch.

    Schließt man das Fenster, wird es nur "visuell" geschlossen, im Hintergrund läuft das Popup aber noch weiter, bis man entweder:

    • die App neustartet
    • den Channel wechselt
    • sich ausloggt und neu einloggt

    denn dann, wird die WebView anscheinend erst "richtig" geschlossen. Beim klick auf das "X" in der Titlebar wird anscheinend der Frame/JFrame nur disposed, invisible, but not really closed.

  4. Log in to comment