chessmail

Leichen

kluger - 02. Mär '24
..wie entstehen diese eigentlich in der Liveschach-Lobby? Manchmal werden dort Probanden stundenlang angezeigt, obwohl sie gar nicht online sind. Wenn man nicht nachforscht, erhält man den Eindruck, dass sie ignorant sind und nicht reagieren auf Einladungen bzw. Nachrichten.
shaack - 02. Mär '24 Edited
Woher weisst du, dass diejenigen nicht online sind? Vielleicht ist einfach nur der Computer an und die Seite auf.
Rubo - 02. Mär '24
...ich erlebe hin und wieder ähnliche spukerscheinungen, da ein SF spielt, aber er trotzdem und gleichzeitig in der lobby zu sehen ist. mfg. Frank
shaack - 02. Mär '24
Die meisten haben ein Handy und einen Computer, manche sogar noch ein iPad. Warum sollte das eine Spukerscheinung sein? Man kann ja auf mehreren Geräten gleichzeitig eingeloggt sein und mit mehreren Geräte verschiedene Seiten anzeigen.
Vabanque - 02. Mär '24
>>shaack(O, F) - vor 2 Std. Bearbeitet
Woher weisst du, dass diejenigen nicht online sind? Vielleicht ist einfach nur der Computer an und die Seite auf.<<

Ja, die Leute meinen auch bei mir oft, ich wäre immer online, dabei ist nur mein PC online, und gucke gar nicht drauf, sondern woanders hin.
Rubo - 02. Mär '24
...@ SF shaack, sorry, habe mich wohl oben "belämmert" ausgedrückt: ....der SF ist
GLEICHZEITIG im spiel und steht TROTZDEM noch bereit für eine einladung zum spiel in der liste. mfg. Frank
brauna - 02. Mär '24
Ja, kann ich bestätigen, was rubo sagt. Dieser kleine Bug kommt sporadisch vor.
toby84 - 02. Mär '24
na das hat shaack doch oben erklärt:

"Die meisten haben ein Handy und einen Computer, manche sogar noch ein iPad. Warum sollte das eine Spukerscheinung sein? Man kann ja auf mehreren Geräten gleichzeitig eingeloggt sein und mit mehreren Geräte verschiedene Seiten anzeigen."

sprich: mit einem gerät ist man in der lobby, mit einem anderen in einem live- spiel.
Rubo - 02. Mär '24
...na, toll, dann muß ich mich auch einmal DOPPELT machen - gehe flanieren und
zu hause spiele ich mit meinem mädchen karten...ganz toll.
Pro.me.theus - 02. Mär '24
>> Vabanque: Ja, die Leute meinen auch bei mir oft, ich wäre immer online, dabei ist nur mein PC online, und gucke gar nicht drauf, sondern woanders hin.<<

Die Frage ist dann eigentlich, welchen Sinn es hat anzuzeigen wer online ist.
Wenn die Anzeige nicht verlässlich ist und uU nur falsche Erwartungen („mach doch endlich deinen Zug!“) weckt.
kluger - 03. Mär '24
Man erkennt es nur, wenn man auf die Profilseite des Angezeigten geht und dessen Name nicht unterstrichen ist (das bedeutet doch, dass man nicht eingeloggt ist, oder?). Das meinte ich mit 'nachforschen'. Könnte es eventuell damit zusammen hängen, dass man den Browser schließt ohne sich abzumelden?
underdunk - 03. Mär '24
Dann wäre es aber klar ein Bug, wenn das so ist.
brauna - 03. Mär '24
...ich erklär's nochmal, lieber @toby und @shaack:
Es geht nur ums Live-Schach!! Ein SF spielt gerade ein Live-Schach-Spiel und ist GLEICHZEITIG aber verfügbar in der Live-Schach-Lobby.

Das meinte rubo, und das hat m.E. nix mit Einloggen auf mehreren Geräten zu tun.
underdunk - 03. Mär '24
Ah, hier geht es um zwei unterschiedliche Sachverhalte.
toby84 - 03. Mär '24
"und das hat m.E. nix mit Einloggen auf mehreren Geräten zu tun."

warum nicht? ich kann nur mutmaßen, wie genau das im hintergrund programmiert ist, aber für möglich halte ich das schon.
underdunk - 03. Mär '24
@toby84, ich denke brauna meint, wenn jemand Live spielt, sollte er nicht mehr in der Live-Schach-Lobby geführt werden, auch wenn der User mit einem anderen Gerät da ist.
kluger - 03. Mär '24
Kann man das nicht abfangen, dass mehrere Logins möglich sind? Dann erledigt sich das Problem ja schon.. nicht aber meine Eingangsfrage.
shaack - 03. Mär '24 Edited
Wenn jemand die Live-Schach Lobbyseite auf einem Gerät anzeigt, dann wird er dort auch online angezeigt. Das ist möglich und nicht unbedingt ein Bug. Mehrere Logins zu verbieten, würde halt dazu führen, dass man sich dauernd selbst rauswirft und dann neu einloggen muss.
kluger - 03. Mär '24
Und nun zu meiner Frage zurück: wie kann es zu erklären sein, dass manchmal Spieler in der Livelobby angezeigt werden, obwohl sie nicht eingeloggt sind?
shaack - 03. Mär '24 Edited
Die Http-Session und die Websocket-Session sind voneinander unabhängig. Die Http-Session wird automatisch noch 20 Minuten beendet, wenn ein User nichts macht. Die Websocket-Session hingegen wird nicht beendet, sie bleibt solange bestehen, bis das Browserfenster geschlossen wird. Die Http-Session aber bleibt erhalten, auch wenn der Browser geschlossen wird, bis sie nach 20 Minuten automatisch beendet wird. Ganz einfach. 😉

Http ist ein zustandsloses Protokoll, Websocket hingegen hält eine direkt Verbund aufrecht. Nur so ist Live-Schach möglich. Mit Http geht nur Fernschach, der Zustand wird über die Session oben drauf gesetzt und es gibt kein direkte Verbindung zum Client.
underdunk - 03. Mär '24
Das ist der technische Hintergrund, aber doch wohl nicht gewünschtes Verhalten?
shaack - 03. Mär '24 Edited
Um das Problem zu lösen muss zuerst geklärt werden, was "online" und "offline" genau bedeutet. Wie geschrieben ist Http zustandslos und damit nicht in der Lage zu erkennen, ob jemand, der keine Aktion macht online ist. Ohne den technischen Hintergrund ist es ausgeschlossen, eine Antwort zu finden.

Oder nicht technisch: Bin ich online, wenn der Browser offen ist und ich nichts tue?
Http: Nein (aber erst nach 20 Minuten), Websocket: Ja ⇦ !
brauna - 03. Mär '24
...auch diesen Sachverhalt von kluger kann ich bestätigen.

Man kann ja an der Unterstreichung gut sehen, ob einer eingeloggt ist oder nicht.

Wenn er aber nicht eingeloggt ist, dann darf er auch nicht in der live Schach lobby stehen als verfügbar...und das ab und zu über Stunden.

Ich wollte das auch schon melden, aber es hat mich halt nicht gestört;-)
shaack - 03. Mär '24
Das ist kein Fehler, das ist einfach so.

Namen unterstreichen: Http
Live-Schach Lobby: Websocket
underdunk - 03. Mär '24
@shaack, in erster Linie sollte das zumindest einheitlich sein.
shaack - 03. Mär '24 Edited
Man könnte User in der Live-Schach Lobby ausblenden, die keine Http-Session haben. Wäre aber eventuell eine Datenbankabfrage mehr, pro User in der Lobby. Der Preis wäre also, dass chessmail minimal langsamer wird dadurch.
brauna - 03. Mär '24
Okay, technisch mag das so sein.
Menschlich gesehen ist es zu einem Zeitpunkt halt unmöglich, gerade ein Live-Schach zu spielen, und dennoch in der Live-Schach-Liste verfügbar zu sein.

Denn es ist ja anders programmiert: sobald ich ein Live-Schach beginne, werde ich sofort - was ja vollkommen richtig ist - aus der Verfügbarkeitsliste rausgenommen
brauna - 03. Mär '24 Edited
...das bezog sich natürlich auf den vorigen Kommentar von shaack ;-)
underdunk - 03. Mär '24
Ich denke mal, shaacks Ausführungen beziehen sich auf das Problem das kluger beschreibt.

Dein Fehlerbild ist was anderes. Vielleicht nimmt shaack dazu auch noch Stellung.
shaack - 03. Mär '24 Edited
Solange sich ein Problem nicht deterministisch reproduzieren lässt, ist es so gut wie unmöglich, es zu beheben. Aktuell ist nicht mal klar, ob es überhaupt eine Problem ist, oder dadurch entsteht, dass ein User mehrere Browser gleichzeitig nutzt.

Das heisst, wenn mir jemand die genauen Schritte sagt, um der Problem herzustellen, wissen wir mehr.
shaack - 03. Mär '24 Edited
...ich verstehe aber, dass sowohl @kluger als auch @brauna nur auf einen potentiellen Fehler hinweisen wollten und ich etwas pikiert reagiert habe. Typisch Informatiker. 😬 Ich verstehe auch, dass die Anzeige verwirrend sein kann. Also danke für die Meldungen, leider kann ich da aber so direkt nicht viel machen.

Was ich eher bräuchte wäre eine Ansage wie, wenn man das und das macht, passiert das und das.
underdunk - 03. Mär '24
Also, das Problem von brauna verstehe ich so: Man öffnet im Browser zwei Tabs, geht mit Tab 1 in die Live-Schach-Lobby und mit Tab 2 beginnt man ein Live-Spiel. Nun sollte der User nicht mehr in der Lobby geführt werden, wird es aber noch.

Richtig brauna?
shaack - 03. Mär '24
Ich glaube, man muss die Lobby zusätzlich betreten, nachdem das Spiel gestartet wurde, weil bei Spielbeginn alle zugehörigen User automatisch auf das Spiel gezogen werden. Bin mir aber auch nicht sicher.
toby84 - 03. Mär '24
man müsste es halt mal durchtesten. dafür braucht es zwei spieler, die sich zu genau diesem zweck verabreden. dann testen mit

- 2 geräten
- 2 browsern

und dann allen kombinationen davon
kluger - 18. Mär '24 Edited
Gerade hängt wieder ein Spieler in der Livelobby, der schon seit Stunden nicht online ist/war.
Man lädt ihn ein, schreibt in der Lobby - keine Reaktion. Blick ins Profil: Spieler nicht online.
toby84 - 18. Mär '24
und doch ist die ganze zeit sein gerät an und der browser auf der chessmail liveschach-lobby geöffnet, denn sonst gäbe es keine websocket-verbindung. also wie damit umgehen?
underdunk - 18. Mär '24
Warum wird das denn unterschiedlich gehandhabt? Der Live-Status und der im Profil? Die Inkonsistenz ist ja das eigentliche Problem.
underdunk - 18. Mär '24
Könnte man das Websocket nich auch nach 20 Minuten ohne Interaktion schließen?
toby84 - 18. Mär '24
man korrigiere mich, wenn ich etwas falsch darstelle, ich kenne mich damit nicht wirklich aus. ein websocket bildet eine stehende verbindung, die es dem server ermöglicht, daten in echtzeit an den client zurückzumelden. über eine http-verbindung ist das nicht möglich. der client muss aktiv anfragen, um neuigkeiten zu erfahren. dass das live-schach auf ständige aktualisierungen angewiesen ist, sollte nachvollziehbar sein. dass ein websocket einfach so lange aktiv ist, wie der browser die verbindung nicht beendet, ist dann auch plausibel. http hingegen hat keine "echte" verbindung, das läuft einfach so lange, wie anfragen kommen. bleiben die aus, wird die verbindung irgendwann als beendet betrachtet.

ob der server die websocket-verbindung einseitig unterbrechen kann, weiß ich nicht. dann müsste das aber in jedem fall irgendwie dem user zurückgemeldet werden. sonst hat der das gefühl, dass sein live-schach eingefroren ist. ich vermute, damit es dann wieder funktioniert, müsste die seite neu geladen werden. aber vll sollte besser shaack auskunft über die technischen hintergründe geben.
shaack - 18. Mär '24
Ja, die Seite müsste neu geladen werden, um dann wieder eine neue Verbindung herzustellen. Man könnte einfach keine User mehr in der Liveschach Lobby anzeigen und das Problem wäre gelöst.
toby84 - 18. Mär '24
das hätte was für sich. dann gäbe es nur noch öffentliche spiele und keine persönlichen einladungen mehr. es wurde ja früher auch schon angemerkt, dass es zumindest einer person unangenehm war, in der lobby so sichtbar und persönlich einladbar zu sein, wenn man eigentlich gar nicht spielen, sondern nur zuschauen möchte.
shaack - 18. Mär '24 Edited
Die persönlichen Einladungen könnte man ja auch anders machen, z.B. in gesamt chessmail empfangbar. Eine weitere Idee ist noch ein Umschalter, mit dem man sich selbst an- oder aussschalten kann oder zumindest anzeigen kann, dann man keine persönlichen Einladungen empfangen möchte.
toby84 - 18. Mär '24
und wie lange würde es dann dauern, bis man die einladungen sieht, wenn man nicht in der live-lobby ist? die spiele, in denen man am zug ist, und die offenen mails werden ja auch dann gelegentlich aktualisiert, wenn man selbst in chessmail nichts macht. läuft das über abfragen an den server, die in regelmäßigen abständen automatisch vom client geschickt werden? wie oft passiert das?

"Eine weitere Idee ist noch ein Umschalter, mit dem man sich selbst an- oder aussschalten kann oder zumindest anzeigen kann, dann man keine persönlichen Einladungen empfangen möchte."

damit bleibt das problem der liveschach-lobby-leichen aber erhalten. das ausblenden der info, wer in der lobby ist, würde das problem hingegen lösen.
shaack - 18. Mär '24 Edited
Das Websocket ist im gesamten chessmail im Hintergrund für die automatischen Updates auch der Fernschach-Spiele und den grünen Zahlen. Man könnte eine Live-Einladung also z.B. sofort als grüne Zahl am Blitz-Icon anzeigen.
toby84 - 18. Mär '24 Edited
ach so. na dann wäre das ja kein problem.

erweitert: dann könnte man ja auch einfach die spieler auf der startseite über das web-socket filtern statt über die http-verbindung, oder spricht etwas dagegen? dann wäre das einheitlich zur darstellung im live-schach.
shaack - 18. Mär '24
Ja, diese Funktion beim Websocket bezieht sich auf eine bestimmte Seite. Der http-Login gilt für alle Seiten. Es ist kompliziert diese beiden Protokolle zu vereinigen, weil sie so unterschiedlich sind.
toby84 - 18. Mär '24
ok 👌
kluger - 18. Mär '24
Wenn es zu kompliziert ist bin ich für meinen Teil mit der aktuellen Umsetzung einverstanden 🙂 ich weiß ja, dass 4 Uhr MEZ selten jemand online ist, vor allem im Live ( frei nach Schiller 'Ich kenne ja meine Pappenheimer')
shaack - 18. Mär '24
Im Live-Bereich ist einiges zu tun, mal sehen.