Correct configuration E2E and isolate native playback dialog rejection

This commit is contained in:
2026-10-12 22:04:10 +02:00
parent f5cdfa285e
commit a5a1df21a4
6 changed files with 243 additions and 27 deletions
+10 -1
View File
@@ -89,4 +89,13 @@ Wyniki w osobnych JSON: `e2e-ui-20261012.json`, `e2e-config-20261012.json`, `e2e
Całego E2E nie uznano za zielony: TVP1, TVP2 i TVN nie uzyskały klatek; źródło dekodera było puste lub miało niewłaściwy program/transponder według równoległej diagnostyki natywnej. Przy błędach źródła Jellyfin Web nadal zgłosił nieobsłużone odrzucenia obietnic `undefined`; wyjście do kanałów przeszło. Administracyjna nawigacja konfiguracji dla tymczasowego konta jest raportowana osobno i nie wolno uznać jej za PASS na podstawie samego API HTML. Nie zmieniano konfiguracji tunerów, nie restartowano Vu ani nie omijano ochrony logowania administratora. Końcowe aktywne transmisje wstrzymano na prośbę zadania dekodera prowadzącego ponownie izolowane strojenie.
Zakres nie obejmuje Android TV, pełnego logowania SSO w Keycloak, tworzenia/wykonywania nowych nagrań ani wielogodzinnej stabilności. Wynik short E2E nie jest gwarancją tych funkcji.
Zakres nie obejmuje Android TV, pełnego logowania SSO w Keycloak, tworzenia/wykonywania nowych nagrań ani wielogodzinnej stabilności. Wynik short E2E nie jest gwarancją tych funkcji.
## Analiza niezaliczonych punktów — 12.10.2026
Korekta raportu panelu administratora: wcześniejszy FAIL był fałszywym wynikiem scenariusza testowego. Test zmieniał uprawnienia po logowaniu oraz nawigował przed zakończeniem inicjalizacji sesji. Wydzielone konto administratora utworzone przed pierwszym logowaniem, oczekiwanie na zapisane credentials i zniknięcie formularza logowania oraz dopiero potem nawigacja pozwoliły otworzyć konfigurację. Z modułem web i z modułem wyłączonym wyłącznie w izolowanej przeglądarce formularz i API konfiguracji działały (HTTP 200, host192.168.10.20, port8001, nagraniaVu=false). Nie zmieniano konfiguracji dodatku ani serwera. Poprawiony `test-e2e.cjs --ui-only` zakończył się **17/17 PASS**, a `--config-only` **3/3 PASS**. Podane poprzednio przypisanie tego FAIL do konfiguracji wtyczki jest wycofane.
`diagnose-web.cjs` nie otwiera TV na odbiorniku: podstawia odpowiedzi PlaybackInfo i blokuje ewentualny endpoint otwarcia live. Porównuje moduł web z jego brakiem, oraz zapisuje typ/treść unhandledrejection i przebieg stop/powrotu. Wynik `web-analysis-20261012.json` potwierdza: sam błąd HTTP i anulowanie oczekującego żądania nie wywołały unhandledrejection; wyjście po błędzie, podczas zamykania komunikatu odtwarzacza, wywołało `undefined` także bez modułu wtyczki. Przy aktywnym module zarówno `playbackManager.stop()`, jak i `appRouter.show()` spełniły obietnice; samo dodanie catch do tych dwóch wywołań nie usuwa źródłowego odrzucenia.
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.