Add coordinated continuous browser reception trial

This commit is contained in:
2026-10-12 23:30:19 +02:00
parent a5a1df21a4
commit 5c10d8b9b8
2 changed files with 191 additions and 1 deletions
+9 -1
View File
@@ -98,4 +98,12 @@ Korekta raportu panelu administratora: wcześniejszy FAIL był fałszywym wyniki
Mechanizm pasujący do wyników: natywny [playbackmanager](https://github.com/jellyfin/jellyfin-web/blob/master/src/components/playback/playbackmanager.js) wywołuje `alert()` w showPlaybackInfoErrorMessage bez obsługi zwróconej obietnicy. [Dialog](https://github.com/jellyfin/jellyfin-web/blob/master/src/components/dialog/dialog.js) kończy się `Promise.reject()` bez argumentu, gdy zamknięto go bez wyniku przycisku. [dialogHelper](https://github.com/jellyfin/jellyfin-web/blob/master/src/components/dialogHelper/dialogHelper.js) zamyka dialogi przy zmianie historii. To tłumaczy undefined po opuszczeniu komunikatu; nie jest dowodem błędu zatrzymania strumienia ani diagnozą OSCam. W tym zadaniu analizy nie modyfikowano natywnego klienta lub produkcyjnego modułu web. Ewentualne obejście w module wtyczki powinno skoordynować domknięcie komunikatu i nawigację; nie należy globalnie tłumić unhandledrejection.
Brak obrazu na TVP1/TVP2/TVN nadal ma odrębne dowody: produkcyjne logi końcowego E2E zawierają POST PlaybackInfo z InvalidOperationException po HTTP502 z relay, a wcześniejsze odczyty bezpośrednie i diagnostyka odbiornika wykazały brak lub niewłaściwy program/transponder. Nie jest to błąd logowania do konfiguracji ani sam komunikat undefined. Odtwarzanie 4Fun, native OSD, współdzielenie i zwolnienie źródła pozostają potwierdzone wynikami E2E. Aktualne próby sterowania SCR są prowadzone wyłącznie przez zadanie odbiornika; ich wynik nie jest zakładany z góry.
Brak obrazu na TVP1/TVP2/TVN nadal ma odrębne dowody: produkcyjne logi końcowego E2E zawierają POST PlaybackInfo z InvalidOperationException po HTTP502 z relay, a wcześniejsze odczyty bezpośrednie i diagnostyka odbiornika wykazały brak lub niewłaściwy program/transponder. Nie jest to błąd logowania do konfiguracji ani sam komunikat undefined. Odtwarzanie 4Fun, native OSD, współdzielenie i zwolnienie źródła pozostają potwierdzone wynikami E2E. Aktualne próby sterowania SCR są prowadzone wyłącznie przez zadanie odbiornika; ich wynik nie jest zakładany z góry.
## Skoordynowana próba ciągłego odbioru
`test-reception-trial.cjs` uruchamia się dopiero po wyraźnej wiadomości zadania odbiornika, że zaczyna się uzgodnione okno. Wymaga flagi `--coordinated`; bez niej kończy się przed logowaniem i otwarciem TV. Domyślnie TVP 1 HD: pierwszy klient od pierwszej rzeczywistej klatki przez 900 s, drugi dołącza po 300 s i kończy po 600 s. Parametry `--duration`, `--join`, `--leave` podaje się w sekundach i zmienia wyłącznie zgodnie z ustalonym oknem. Przykład po uzgodnieniu: `node test-reception-trial.cjs --coordinated --report=reception-trial.json`.
Co 5 s zapisuje postęp klatek i zegara, bufor, stan odtwarzacza, zdarzenia przerw i dostępny licznik zdekodowanego audio. Co około 30 s odczytuje administracyjny status wtyczki i listę istniejących klientów OpenWebif. Nie otwiera dodatkowej transmisji diagnostycznej. Wyniki JSON/JSONL rozróżniają jednoczesną liczbę fizycznych połączeń od globalnego licznika otwarć. `Consumers` nie jest utożsamiany z liczbą przeglądarek, ponieważ Jellyfin może współdzielić również własny pipeline. Brak licznika audio jest oznaczony UNVERIFIED; same metadane nie potwierdzają słyszalnego dźwięku.
Próba używa dwóch własnych kont, zamyka ich sesje i usuwa konta oraz preferencje w cleanup; po zakończeniu czeka 20 s na zwolnienie relay. Nie wymaga globalnego zera źródeł, jeżeli inni użytkownicy oglądają TV. Nie przełącza kanałów, nie zapisuje konfiguracji, nie tworzy nagrań i nie restartuje usług. Przy pierwszym nieudanym starcie kończy się z FAIL bez samodzielnego ponawiania odbioru.