Ploff v1.0.5
Added
- Independent poster/thumbnail and backdrop download-quality controls. Poster
artwork uses 70%, 80%, 85%, 90%, and 100% steps with a 90% default; backdrops
use 50%, 60%, 70%, 85%, and 100% with an 85% default. These settings change
Plex request resolution without changing on-screen element geometry. - Origin-aware paginated playback sequences for Series, Playlist, and Collection
origins, with bounded metadata and artwork retention, duplicate-safe occurrence
identity, a virtualized queue drawer, and confirmation before crossing missing
season or episode ranges. - A pre-release memory lifecycle gate that repeatedly creates and destroys caches,
dialogs, queue state, cancellable Plex requests, timers, and progressive-image
jobs while checking deterministic teardown,WeakRefcollection, and heap
stabilization. - Local Plex discovery through the packaged Luna service, restoring multicast GDM
discovery on webOS while preserving manual server entry. - Lazy, non-blocking update checks after the first successful Home load, with a
clickable application-version row, manual refresh, release status, and QR link. - Explicit visible Cancel, Close, or Back actions for persistent dialogs that
previously depended only on the remote Back key. - Library-origin badges on mixed Home rows, Search, Watchlist, and playlist content.
- Watched-state and live Play/Pause markers in the playback queue.
- An exhausted-queue countdown that returns to Home or leaves the final frame paused
when cancelled.
Changed
- Ordered application settings now render as accessible stepped bars with the
active value shown beside the track; LAN and remote video quality increase
from 4 Mbps through 12 Mbps to Original at the rightmost step. - Related settings, selectors, dialogs, filters, setup surfaces, and Player panels
share action surfaces, focus rings, panel tokens, disabled states, and consistent
secondary-left / primary-right action ordering. - Ordinary pointer clicks now synchronize focus and use the same semantic OK path as
the physical remote; timeline coordinates, navbar long-press, and other truly
pointer-specific interactions keep dedicated handling. - Main navigation Back now rises one visible level at a time through content, filters,
sub-navigation, the current navbar item, and finally Home. - Playback queues open on the current item but allow navigation to earlier episodes or
earlier playlist/collection occurrences. - Player settings focus the first available action on open and temporarily hide active
Skip prompts without discarding them. - Runtime bundle guardrails are documented as adjustable engineering alarms rather
than webOS platform limits. - Player return restoration now reloads the authoritative Plex origin for Series,
Playlist, and Collection detail views and restores the exact played occurrence. - Playlist and Collection detail share one presentation contract, while long
containers and episodic queues load only bounded pages or season segments. - The generated ES5 coordinator bundle is deterministically token-minified and
verified through normalized AST equivalence. - Plex pagination, media-document parsing, track normalization, cancellable HTTP
transport, media choices, technical labels, search normalization, and server
identity matching now use focused shared domain modules instead of duplicated
implementations. - Player terminology was reviewed across all eight locales, and unused translation
keys were removed while preserving key and placeholder parity. - The full Library catalog now uses focus-only updates, frame-scheduled scrolling,
incremental keyed row reconciliation, in-place page append, and tiered artwork
promotion while retaining the existing three-row overscan. - Card geometry, fixed artwork dimensions, mounted-node lookup, bounded card
presentation, and Search measurements now reuse explicitly invalidated caches instead
of recalculating static layout data during navigation and scrolling.
Fixed
- Concurrent, stale, malformed, aborted, or terminal Plex pages can no longer
expand a known queue boundary, leave phantom items, or poison a later retry. - Rapid Player selections and superseded playback preparation now preserve the
latest user choice and abort obsolete metadata, decision, and stream work. - Library and Recently Added pagination preserve raw Plex offsets and merge groups
correctly when one season spans page boundaries. - Home, dialog, Player, Up Next, queue-gap, progressive-image, and XHR lifecycle
paths release timers, callbacks, handlers, and retained target bindings during
replacement or teardown. - Rapid navbar movement can no longer leave the highlighted navigation item and
visible page out of sync when focus enters the content. - Pointer hover no longer rebuilds settings, setup, choice, language, server, resume,
or Library-filter controls before their click completes. - Watchlist, Library, recommendations, theme audio, credentials, server probes,
metadata refresh, cloud Search ordering, update checks, and local-storage failure
paths reject stale work and remain bounded or non-blocking across profile, server,
network, and lifecycle changes.
Verified release. Includes the generic IPK and SHA-256 checksums.