user.isAway() liefert falschen return [BTS] #0016638
Wenn man per isAway() prüft, ob ein User gerade Away ist oder nicht, liefert die Funktion in einigen Fällen ein true - obwohl der user garnicht (mehr) away ist.
Man kann den Fehler zumindest temporär leicht beheben, indem User kurz /away geht & dann die Funktion /back nutzt. Danach klappt es (zumindest bisher) immer wieder richtig.
Comments (9)
-
-
Viele der Blockaden treten bei Multichannel Nutzung auf, wenn man /away in Channel 1 Nutzt, wird man in Channel 2 korrekt als /away gesetzt, sollte man aber /back in Channel 1 nutzen, bleibt man in Channel 2 /away für die UserApps bis zum neubetreten des Channels oder bis man dort ebenfalls /back schreibt..
-
Das was ddvoid beschreibt tritt vorzugsweise nach diesen Schritten auf: /away => disconnect durch timeout => reconnect Für die Userapps ist man nach wie vor /away, selbst /back ändert dies nicht. Erst nach erneutem setzen von /away und /back wird der Wert korrekt gewertet.
-
Dieses Ticket wurde an die Entwickler weitergegeben. Ebenfalls wurde auch isEventModerator() und isVideoStreaming() ins BTS aufgenommen.
-
- changed title to user.isAway() liefert falschen return [BTS]
-
Ich habe die Verarbeitung der away events (away + back) nochmals überprüft, es scheint alles korrekt zu sein. Dennoch habe ich daran etwas vereinfacht, aber ich glaube nicht, dass dies die Probleme behebt; zumal ja auch noch andere Felder betroffen sind. Die Änderungen gehen mit dem nächsten ChatServer-Update live.
Aktuell geht meine Vermutung in die Richtung, dass das Problem beim Übermitteln oder Verarbeiten der Change-Events auf AppServer-Seite liegt. Ich werde mir dies bei Zeiten nochmals anschauen.
Guten Rutsch ins neue Jahr!
-
Ich habe die isStreamingVideo() Methoden nochmal genau untersucht und auch dort keine Fehler finden können. Ich muss es nochmal genauer untersuchen.
Als kleine Verbesserung habe ich das hier eingebaut: User.isAway() und User.isStreamingVideo() können nun nur noch true liefern, wenn der User online ist. Dazu ist ein AppServer-Update nötig, welches ich erst nächste Woche machen werde.
-
Fehler tritt nach wie vor auf. Man wird nach reconnect nach wie vor als /away erkannt.
-
- changed title to user.isAway() liefert falschen return [BTS] #0016638
BTS-ID hinzugefügt
- Log in to comment
Das ganze ist nicht nur beim Away.
Auch isEventModerator() sowie isVideoStreaming() liefert genauso falsche Werte, anscheinend ein grundlegendes Synchronisierungsproblem. Das Video-Streaming scheint überhaupt nicht zu funktionieren, es wird immer ein "false" zurückgegeben.