Files
akademiawodociagowca/frontend
debian ae696abff7 Kolejka glosu odswieza sie takze bez zdarzenia
Kolejka zgloszen i stan glosu polegaly WYLACZNIE na zdarzeniach WebSocket.
Zdarzenie potrafi nie dojsc, a polaczenie nie zawsze to sygnalizuje: karta
uspiona przez system, chwilowa utrata sieci, przelaczenie z WiFi na komorke.
WebSocket nie ma przy tym historii, wiec zgubionego zdarzenia nikt nie powtorzy.

Prowadzacy widzial przez to "Nikt nie prosi o glos" przy zgloszeniach
czekajacych juz kilka minut i dowiadywal sie o nich dopiero po odswiezeniu
strony.

Po stronie UCZESTNIKA bylo grozniej: stan pobieral sie RAZ, przy wejsciu na
sale. Zgubione zdarzenie o przyznaniu glosu oznaczalo, ze uczestnik nie
dowiadywal sie o nim wcale: przycisk zostawal w starym stanie, a mikrofon
zamkniety, chociaz uprawnienie po stronie serwera juz bylo. Wyglada to na
niedzialajacy mikrofon, a nie na zgubione zdarzenie, wiec szukanie przyczyny
idzie w zla strone.

Odpytywanie jest DRUGA droga, nie glowna: WebSocket zostaje, bo prowadzacy ma
widziec podniesiona reke od razu. Panel odswieza kolejke co 5 sekund,
uczestnik swoj stan co 10. Odpowiedz to kilka wierszy albo pojedynczy obiekt,
wiec koszt jest znikomy nawet przy duzej sali. Ten sam wzorzec co przy banerach,
gdzie front takze nie polega wylacznie na zdarzeniach.

Wczesniejsza poprawka (dociagniecie stanu w `onConnect`) lapala tylko jeden
przypadek: ponowne polaczenie. Nie pomagala, gdy polaczenie formalnie zyje,
a ginie pojedyncze zdarzenie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 14:59:38 +02:00
..
2026-09-04 09:45:07 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-04 09:45:07 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-04 09:45:07 +02:00
2026-09-04 09:45:07 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00
2026-09-02 08:21:27 +02:00