Safari macht Chat kaputt

  • Das Problem bestand auch schon beim alten Chat, für den neuen möchte ich es aber nochmal ansprechen.


    Wenn man im Safari den Tab mit dem Chat zu lange nicht geöffnet hat, stürzt der Chat ab. In diesem Chat hier gibt es dann folgende Fehlermeldung:

    Zitat

    The chat was shut down because of persisting connection problems or another serious error: Sie besitzen leider nicht die notwendigen Zugriffsrechte, um diese Aktion auszuführen.

    Ich helfe gerne wo ich kann, um das Problem einzugrenzen. Im Normalfall geschieht das nach ca. 20–30 Minuten, manchmal aber auch wesentlich schneller, selten auch mal gar nicht.

  • Das selbe Problem habe ich mit meinem iPad auch bei einigen Chats. Ich vermute mal, dass Safari irgendwann die Verbindung von den "inaktiven" Tabs kappt. Kann mich aber auch teuschen :)

  • Beim iPad ist das nochmal etwas anderes, da dieses inaktive Tabs grundsätzlich abschaltet und sämtliches JavaScript dort deaktiviert. Am Mac ist das etwas anders und passiert erst nach einiger Zeit. Dort kann das allerdings umgangen werden im Vergleich zum iPad.

    • Offizieller Beitrag

    Hallo,


    der Safari friert HIntergrundtabs ein bzw. drosselt sie nach einiger Zeit so signifikant, dass über 3 Minuten (!) keine Anfrage an den Server gestellt werden konnte.


    Vergleiche auch dieses Thema im Community Forum (das betrifft zwar den Chrome, hat aber wohl eine ähnliche Ursache): https://community.woltlab.com/…ostID=1632413#post1632413.


    Mittelfristig müssen wir mal schauen, ob man da mit Service Workern etwas drehen kann. Die sind wohl zukünftig das Mittel der Wahl, um Hintergrundaufgaben durchzuführen. Kurzfristig ist da aber wohl nichts möglich.


    /cc Max

    • Offizieller Beitrag

    Im Chrome trifft auch Folgendes zu:

    As mentioned in #14, tabs with active connections (websockets, webrtc) will not be throttled. Soundless sound will not grant exception, only audible sound (user will see a traditional "tab is playing audio" icon).

    Da kann man die Probleme also mit Push/nodePush umgehen.


    Wenn Push nicht konfiguriert ist, müssen wir wohl checken, ob der Tab aktiv ist und wenn nicht, dann den Repeating Timer langsamer stellen und hoffen, dass dann genug Anfragen verschickt werden, sodass die Session am Leben erhalten wird :/

    Vermutlich müssen wir dann auch noch das Rendern von Nachrichten pausieren, solange der inaktiv ist, um CPU-Zeit zu sparen.


    Und was man im Safari machen kann: Keine Ahnung. Dazu habe ich nur eine Entwickler-Option gefunden, um das Verhalten im Safari global zu deaktivieren.


    Ist doch alles doof :(