Synchronize native Enigma2 channels every six hours and migrate preferences

This commit is contained in:
2026-10-23 19:26:28 +02:00
parent 50b39fa40b
commit 2e7662f018
11 changed files with 391 additions and 6 deletions
+14
View File
@@ -70,3 +70,17 @@ Odczyt metadanych LiveTvChannel potwierdził stare i nowe wpisy Pulsu/Pulsu 2 or
102 kontrole .NET10 przeszły, w tym rzeczywiste GetChannelStream z atrapą OpenWebif i natywnej biblioteki: nowy SID 5105, wspólne metadane i jedno połączenie relay dla starego/nowego Pulsu, anulowanie bez dodatkowego połączenia. Build Release: 0 ostrzeżeń, 0 błędów. Restore korzystał z cache pakietów bez sieci; NuGetAudit wyłączono jedynie dla tego odtworzenia offline. Nie potwierdza to odbioru na zalogowanym urządzeniu.
Status na moment zapisu: **7.0.9 przygotowana, niewdrożona**. W produkcji pozostaje 7.0.8. Nowa sesja Wydarzeń 24 rozpoczęta o 16:21:45 UTC dała poprawne serwerowe HLS (248 klatek 1080p / 9,88 s oraz 10,027 s audio). Restart wymagany do podmiany DLL czeka na zgodę dotyczącą tej aktywnej sesji. Osobny brak odkodowanego wyjścia CANAL+4K wymaga diagnostyki źródła ECM i nie jest naprawiany przez ten resolver. Nie zmieniono ustawień Jellyfina, wrapperów, plików Web ani konfiguracji dekodera.
### 7.0.9 wdrożona — 23.10.2026, 19:07 CEST
Po poleceniu użytkownika „Restart” wdrożono DLL o SHA256 `8db3b3700ef417c591f2361e013e20c601052bd35bc124f449c899183950c986`. Produkcja używa teraz **7.0.9.0**, co potwierdził świeży log załadowania i publiczny health. Konfiguracja serwera/wtyczki, wrappery, moduł Web i 26 plików preferencji pozostały identyczne. Dwa aktywne nagrania dekodera zachowano; nie restartowano odbiornika. Backup: `/var/lib/jellyfin/decoder-plugin-backups/plugin-only-20261023T170741733074Z`; raport `deployment-7.0.9-20261023.json`. Poprzedni akapit opisuje etap przed zgodą i wdrożeniem. Obsługa automatycznej synchronizacji okresowej jest osobnym zadaniem; 7.0.9 sprawdza aktualne referencje przy odtwarzaniu.
## 7.0.10 — automatyczna synchronizacja, 23.10.2026
Na żądanie użytkownika domyślny harmonogram zadania wtyczki „Synchronizacja kanałów Enigma2” to **start serwera i co 6 godzin**. Dodano w ustawieniach wtyczki przełącznik automatycznej synchronizacji, domyślnie włączony. Godziny można zmienić w natywnych zadaniach zaplanowanych dla tego zadania. Nie zmieniamy globalnego harmonogramu Refresh Guide.
Zadanie pobiera bukiety z limitem30s i wykrywa zmiany referencji, nazw, kolejności, numerów lub adresów logo. Przy zmianie albo braku kanałów w natywnej bibliotece uruchamia przez ITaskManager istniejące natywne RefreshGuide (limit5min), dzięki czemu aktualizowana jest właściwa Telewizja i EPG. Nie otwiera strumieni ani nie zmienia tunerów. Pusta lista lub błąd odbiornika nie uruchamia odświeżenia. Gdy RefreshGuide już trwa, synchronizacja jest odkładana do kolejnego wyzwolenia. Lista bez zmian nie wymaga ponownego pełnego odświeżania przewodnika.
Przed natywnym odświeżeniem zapisuje własny checkpoint w `data/decoder-integration/channel-sync.json`: stare identyfikatory/ref/nazwy oraz natywne ulubione. Po jednoznacznej migracji aktualizuje natywne ulubione oraz ulubione/ukryte/kolejność we własnych preferencjach użytkowników. Aktualizacje plików preferencji używają tych samych blokad co edytor, zachowują aktualne ustawienia i usuwają duplikaty. Błąd/anulowanie pozostawia checkpoint do ponowienia również wtedy, gdy natywne zadanie usunęło już stare kanały. Bezpośrednich zapisów do bazy Jellyfina nie ma. Stan ostatniej kontroli/synchronizacji jest dostępny w administracyjnym DecoderIntegration/Status.
120 kontroli .NET10 przeszło: dokładnie6h/start, zmiany numerów i logo, migracja natywnych i własnych preferencji, rozdzielenie użytkowników, pusta lista, zajęty przewodnik, częściowa awaria i ponowienie, współbieżność, anulowanie oraz wyłączenie funkcji. Źródła ani nagrania produkcyjne nie były używane w tych testach. Stan przed wdrożeniem: produkcja7.0.9, kandydat7.0.10.