webOS IPTV Player v1.5.0
✨ Features
- Movies & Series (Xtream VOD) — browse an Xtream account's on-demand catalogs as a hero over per-category poster rails, drill into a category grid, and open a detail screen (Play/Resume for a movie, a season selector over an episode list for a series). Playback runs through the same player as live/catch-up, and a Continue Watching rail resumes from your stored position.
- Multiple Xtream accounts — a circular avatar in the tab bar switches which account drives Movies/Series/Search; the choice persists and Live stays merged across accounts.
- Docked section tab bar — a persistent bar above every view replaces the old channel-list header, with Live / Movies / Series / Settings tabs; D-pad Up focuses it and OK drops focus back into the view below.
- Global search — a Search tab spans channels, movies, and series in one view, relevance-ranked by name; movie/series results deep-link into the matching catalog detail.
- Program reminders — set a reminder on an upcoming program in the EPG (OK; a bell marks it). At air time a webOS notification fires even with the app closed, and opening it tunes straight to the channel. In Developer Mode it's an interactive Watch now / Cancel alert; retail shows a toast plus an in-app prompt.
- VOD audio & subtitle tracks — pick audio and subtitle tracks from the player menu for movies and episodes, remembered per item; subtitles cover in-container tracks and Xtream sidecar SRT/WebVTT plus ASS/SSA (rendered with assjs, lazy-loaded).
- Stream info on the VOD OSD — resolution, HDR, frame-rate, and codec badges for directly-played movies/episodes, read from the MP4/MKV container header with a small ranged fetch when the video element can't report them.
- Catch-up play/pause — OK now pauses and resumes during catch-up playback, with an on-screen play/pause button as a Magic-Remote hit-target.
🧰 Internal & Docs
- Renamed the bundled webOS JS service (
com.lennylxx.iptv.upload→com.lennylxx.iptv.service) so it can host more than uploads, and moved the LAN upload feature underbundled-service/src/upload/. - Added the Xtream Codes foundation — pure
get.php/xmltv.php/player_api.phpURL builders, a per-account client tolerant of messy JSON, and an IndexedDB-cached catalog with a TTL and stale-fallback. - Consolidated inline SVG icons into a shared icons module.
- Fixed the CI service paths for the bundled-service rename and added an e2e job.
- Documented Xtream VOD, accounts, search, and program reminders in the README and AGENTS.md, corrected the WebVTT subtitle note, and expanded the preview screenshots.
Full Changelog: v1.4.0...v1.5.0