You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Private, app-owned webOS DB8 storage for Plex account and Plex Home
credentials, including automatic migration from legacy browser storage and a
session-only fallback when private storage is unavailable.
A privacy policy, in-app privacy information, and a complete local-data
deletion action covering credentials, servers, preferences, subtitle
offsets, navigation state, and the local client identifier.
Network awareness backed by the official webOS API, with LAN, Internet, and
local-only diagnostics, visible connection state, offline-safe local
operation, and recovery when connectivity returns.
A playback queue for playlists, series, seasons, collections, and mixed
media playlists. The player exposes the queue without leaving playback and
preserves Plex playlist ordering.
A compact server-activity indicator in the navigation bar, including a
Chrome 53-compatible animated state for legacy LG webOS TVs.
Automatic playback-version ranking by resolution, HDR, estimated quality,
and Direct Play compatibility, plus version affinity across adjacent
episodes.
Native TV locale detection for the initial onboarding language and
background Plex discovery while the language is being selected.
A TV-readable technical media-information dialog for the active file,
available from media details and player settings without exposing full
filesystem paths or raw Plex XML.
LG Content Store preparation documents, static UX compliance checks,
dependency auditing and update automation, plus a physical-TV release
signoff gate.
Changed
Playback queues now continue through mixed item types in Plex's original
order, while automatic version selection favors the best compatible source
according to the user's preferences.
Advanced subtitle controls use a compact, remote-friendly layout with modal
selectors, live text-subtitle preview, delayed size application, loop-aware
preview restarts, and clearer Apply and Cancel actions.
Media detail pages use more consistent spacing, progressive artwork,
non-flashing metadata transitions, readable summaries, and resilient
backdrop loading.
Library navigation, recommendation rows, recycled cards, empty states, and
progressive images preserve focus and visual state more consistently.
HDR priorities automatically adapt to detected TV capabilities and expose
their availability in diagnostics and settings.
Onboarding preserves discovery work across language navigation and avoids
unnecessary repeated scans.
Continuous integration now validates pull requests from Dependabot without
granting elevated GitHub token permissions; release packaging uses refreshed
pinned GitHub and Docker actions.
Fixed
Playlist queue navigation and the server-activity indicator retain their
intended position and layout on legacy webOS, even when activity labels are
visible or the navigation bar is crowded.
Final playback progress is sent before leaving the player and protected from
an immediately stale Plex response, so Resume uses the latest confirmed
position after returning to media details.
Direct Play, seek, chapter, buffering, and subtitle-preview recovery no
longer leave stale loading indicators or mismatched presentation state in
the covered regression cases.
Interrupted progressive artwork requests can be retried instead of leaving a
backdrop permanently unavailable.
Offline state no longer disables reachable LAN Plex servers or triggers
avoidable cloud requests.
Setup no longer gets stuck after returning from language selection, and an
unavailable network state is presented as informational rather than as a
blocking failure.
The media-information modules are imported through the browser namespace,
preventing the packaged TV app from remaining indefinitely on its startup
screen.
Compatibility Notes
Existing credentials are migrated on first launch. If private DB8 cannot be
used, credentials remain available only for the current session and are not
persisted in plaintext browser storage.
Runtime compatibility remains Chrome 53 / legacy LG webOS; no framework or
runtime dependency was added to the installed application.
A public v1.0.4 tag additionally requires the completed physical-TV
regression signoff documented in docs/testing.md.