Panel prowadzenia: lista osob na sali i usuwanie po stronie serwera
Deploy PROD / deploy (push) Successful in 26s
Deploy PROD / deploy (push) Successful in 26s
Karta "Na sali" pokazuje liczbe i liste obecnych (przy LiveKit prosto z serwera pokoju, przy innych dostawcach z sygnalow obecnosci), z wyszukiwaniem, paginacja, wyciszeniem na czacie i usuwaniem z sali. Usuniecie uczestnika z zapisu blokuje go i wyrzuca przez removeParticipant; dotad sale opuszczala tylko posluszna przegladarka. Blokada z czatu robi to samo i pyta o potwierdzenie. Zablokowany nie pisze juz na czacie. Prowadzacego nie da sie usunac. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1671,6 +1671,28 @@ Tabela `speak_requests` (V17), kolejka w panelu prowadzenia, temat WebSocket
|
||||
czekajacy piec minut widzi, jak mowi ktos zgloszony przed chwila.
|
||||
- Pilnuje tego `SpeakRequestTest`, w tym dziesiec rownoczesnych zgloszen.
|
||||
|
||||
### Obecni na sali w panelu prowadzenia
|
||||
|
||||
Karta "Na sali" (`RoomParticipants`), endpointy `/admin/webinars/{id}/room/participants`.
|
||||
|
||||
- **Przy LiveKit lista pochodzi z serwera pokoju** (`RoomServiceClient.listParticipants`),
|
||||
a nie z naszej bazy. Tylko serwer wie, kto faktycznie odbiera obraz, i tylko tam
|
||||
widac polaczenia spoza zapisu (klient z kluczem API, pozostalosc po tescie).
|
||||
Przy pozostalych dostawcach zrodlem sa sygnaly obecnosci; pole `source` mowi,
|
||||
ktore odpowiedzialo. Awaria serwera pokoju przelacza na sygnaly, nie wywraca karty.
|
||||
- **Ukryci uczestnicy (Egress) nie sa osobami** i nie trafiaja na liste.
|
||||
- **Usuniecie uczestnika z zapisu to BLOKADA plus wyrzucenie po stronie serwera.**
|
||||
Samo wyrzucenie nic nie daje, bo wrocilby tym samym linkiem. Zdarzenie BANNED
|
||||
wyprowadza wylacznie posluszna przegladarke: bot albo wlasny klient zostawaly
|
||||
na sali, dlatego `removeParticipant` wola takze blokada z czatu.
|
||||
- **Prowadzacego (`spk-`) nie da sie usunac.** Przy liscie dwustu osob omylkowe
|
||||
klikniecie jest realne, a webinar zostalby bez obrazu.
|
||||
- **Zablokowany nie pisze na czacie.** Interceptor STOMP sprawdza blokade tylko
|
||||
przy CONNECT, wiec `postChat` sprawdza ja przy kazdej wiadomosci.
|
||||
- Lista jest **odpytywana co 10 sekund**, bo wejscie i wyjscie widzi serwer wideo,
|
||||
a nie nasz backend: nie ma zdarzenia do rozeslania. Paginacja i wyszukiwanie
|
||||
po stronie backendu; liczniki dotycza calej sali, nie wyniku wyszukiwania.
|
||||
|
||||
### Tryb otwartego mikrofonu
|
||||
|
||||
Kolumna `webinars.open_mic` (V18), przelacznik w panelu prowadzenia.
|
||||
|
||||
Reference in New Issue
Block a user