Istoric versiuni MediaLab TV

Toate versiunile publicate, cea mai nouă prima. Versiunile gata de instalat ale plugin-urilor noastre Jellyfin și codul lor sursă complet sunt publice (GPL-3.0); plugin-ul are nevoie de o licență ca să funcționeze. Abonamentele și perioada de probă primesc mereu ultima versiune, licențele lifetime primesc actualizări în fereastra lor de actualizări.

1.6.2

Ultima

Corectat: linkul „Licență” din pagina principală nu deschidea pagina Licență în Emby 4.10; pagina are acum antetul comun MediaLab (iconiță, titlu, insigna stării licenței cu acces la pagina Licență și banner când licența nu e activă).

Corectat (licențiere): câmpul pentru cheia de licență e mereu vizibil, deci o cheie nouă se poate activa și când licența salvată încă figurează activă; o cheie refuzată nu mai înlocuiește cheia salvată, iar pagina arată motivul; dacă ultima verificare eșuează (de exemplu licență ștearsă sau revocată), pagina și jurnalul arată un avertisment cu data până la care licența salvată mai funcționează; activarea, verificarea manuală și eliberarea se scriu în jurnal.

TV-6: numele genurilor/persoanelor din lista de titluri nu se mai citește direct după id (pe Emby fără verificarea bibliotecilor, pe Jellyfin fără userId) — trece prin calea cu verificarea accesului. Stabilizare L1a: toate suitele e2e trec (browse 74/74 pe ambele platforme, lansator, tv-e2e, securitate Turnstile). Modernizări: auto-patch-ul căii de acces se anulează la oprirea serverului, tokenul de anulare ajunge la verificările de licență, excepțiile înghițite ajung în jurnal, css/js cu cache de 1 h.

  • OSD refăcut pentru telecomandă: bară de progres cu partea văzută vs durata totală, cursor, marcaje de capitole, timp scurs/total, insignele media și butoane curate.
  • Capitole: jos de două ori deschide o bandă orizontală cu miniaturi, titlu și timp; OK sare la capitol. Fără bare de derulare în OSD (panoul de subtitrări/audio și capitolele se derulează cu focusul); focus alb modern.
  • Include reparația de securitate Turnstile din 1.3.2.
  • Actualizare de securitate: instalarea pluginurilor verifică obligatoriu suma de control și semnătura pachetului și respinge numele de fișier nesigure; limita de măsurători SpeedTest e pe utilizator, cu plafon de concurență; cota de filme se consumă doar la adăugare reușită, iar „anulează” raportează erorile; conectarea TV prin Turnstile cere acțiunea exactă a paginii.

Include tot ce aduce 1.3.0 (nepublicată separat):

  • Player refăcut pentru telecomandă: buton Ecran complet, selectoare rapide de subtitrări și audio, listă de canale TV cu programul curent, capitole cu marcaje pe bara de derulare, volum pe tastele media, blocarea OSD-ului, informații despre fișier.
  • Calitate AUTO permanentă după viteza reală a rețelei (pornește din măsurare, apoi urcă / coboară singură).
  • Ecran nou „Verifică rețeaua” în meniu.
  • Reluarea pornește corect de la poziția salvată.
  • Securitate (audit, TV-1): profilurile salvate pe televizor nu mai păstrează tokenul de acces al altor conturi, doar numele și imaginea. Trecerea la alt profil cere parola acelui cont; tokenul profilului anterior este revocat pe server la comutare. Tokenurile salvate de versiunile anterioare se revocă la prima pornire.
  • Securitate (TV-2): sigla SVG încărcată de administrator este citită ca XML (fără DTD) și rescrisă doar din elemente și atribute permise; adresele externe, animațiile, <use>, <image> și <style> sunt eliminate, iar un SVG cu script este refuzat. Și siglele încărcate anterior trec prin același filtru. Sigla se servește cu Content-Disposition: inline și cu politica CSP sandbox.
  • Securitate (TV-3): opțiunea „Ține minte parola pe televizoare” rămâne oprită implicit, se aplică doar în browserele de televizor (niciodată pe calculatoare sau telefoane), iar panoul avertizează că parola se păstrează necriptată pe televizor.
  • Nou: verificare anti-robot Cloudflare Turnstile pe pagina de conectare a televizorului (oprită implicit). Setări: pornit/oprit, cheia site-ului, cheia secretă (păstrată criptată pe server) sau „Folosește cheile din Înregistrare”. Când e activă, pagina se conectează prin /MediaLabTv/Login, care verifică tokenul la Cloudflare (cu IP-ul real al clientului), limitează încercările pe IP și apoi folosește conectarea obișnuită a serverului (cu blocarea după parole greșite). Widgetul este invizibil; o casetă apare doar când Cloudflare cere o confirmare, și se ajunge la ea cu săgețile telecomenzii. /Users/AuthenticateByName al serverului rămâne accesibil: Turnstile este o frână anti-robot pentru această pagină, nu o barieră pentru tot serverul.
  • Licență: răspunsurile nesigilate ale serverului de licențe sunt respinse, descriptorii de versiune (actualizare, revenire) trebuie să fie semnați, jurnalele exportate sunt redactate.
  • Confidențialitate: codul QR de plată de pe pagina „Licență” se generează acum local, în pagină; linkul de plată nu mai este trimis unui serviciu QR terț (api.qrserver.com).
  • Ecran complet: buton în antet (doar dacă browserul îl permite) și tasta F; venind din Quick Connect sau pe televizor, primul OK / clic trece pe ecran complet (browserele cer un gest al utilizatorului).

Include tot ce aduce 1.2.0:

  • Interfață nouă în stil Netflix, deschisă implicit după conectare (setarea „După conectare se deschide”: interfața MediaLab TV sau Jellyfin Web): acasă cu banner care se rotește și rânduri (Continuă vizionarea, Episodul următor, filme și seriale adăugate recent, câte un rând pe bibliotecă, Lista mea, colecții, genuri, TV în direct: acum, filme în seara asta, sport, copii, urmează); pagina titlului (fundal, note, distribuție, sezoane și episoade, titluri similare, trailer local, Lista mea, Văzut); grile; căutare cu tastatură pe ecran; profiluri („Cine se uită?”, fără utilizatorii ascunși); deconectare.
  • Player propriu: piste audio, subtitrări, reluare, raportarea redării (apare în Continuă vizionarea), episodul următor și butoanele „Sari peste intro / rezumat / generic” (Media Segments din Jellyfin).
  • Mod TV ales singur pe Tizen, webOS, Android TV / Google TV și televizoarele Philips (sau din comutatorul din meniul profilului): dimensiuni pentru 720p, 1080p și 4K, margini sigure, tastele telecomenzii (săgeți, OK, Înapoi cu întrebare înainte de ieșire, media, cele colorate, canal +/−, cifrele), cursorul Magic Remote și derulare mai rapidă.
  • Datele vin doar din listele utilizatorului, cu tokenul lui, deci serverul aplică drepturile și limitele de vârstă.
  • Confidențialitate: după conectare televizorul păstrează doar tokenul serverului și numele de utilizator, nu și parola; tokenul se verifică la fiecare pornire (revocat → formularul de conectare). Setarea „Ține minte parola pe televizoare” (oprită implicit) o păstrează doar pentru televizoarele care pierd tokenul. O parolă salvată de versiunea 1.1 se folosește o singură dată, dacă e nevoie, apoi se șterge.
  • Include hls.js 1.5.20 (Apache-2.0, THIRD-PARTY-NOTICES.txt). Pe medialab Server, aplicația primește și o intrare în meniul utilizatorului din Jellyfin Web (pe Jellyfin oficial, nimic).

1.2.0

Înlocuită, nedistribuită

Doar pentru istoric: nu se descarcă și nu vine ca actualizare.

  • Interfață și player proprii în stil Netflix (cu hls.js 1.5.20), mod TV pentru telecomandă; parola nu mai rămâne pe televizor. Înlocuită înainte de publicare de 1.2.1 (codul QR de plată generat local, ecran complet).

1.1.0

Înlocuită, nedistribuită
  • Prima versiune pentru Jellyfin 12.2 (licența jf-tvapp): branding, calea de acces /web/<cale>/ servită de plugin, conectarea cu telefonul și conturile noi prin Quick Connect; după conectare deschidea Jellyfin Web. Înlocuită înainte de publicare de 1.2.0 (interfață și player proprii, parola nu mai rămâne pe televizor).