v4.0.3 — 2026-07-09
✨ New features
- Settings: search and quick toggles. A "Search settings…" field at the top of Settings filters
the whole screen down to matching rows — results carry their group as a breadcrumb (e.g.
Playback › HDR) and act exactly like the real row, so you jump straight to a setting without hunting
through groups. Above it, a pinned row of one-press quick toggles (Live preview · Preview sound ·
HDR · Auto-play · Check for update) flips the most-used options without opening a sub-menu. Back
clears an active search before it leaves Settings. - Search: a launcher home, a detail pane and smarter Back. The empty Search screen is now a launcher
— a "Jump to" row (Continue watching, Unwatched, Channels) plus your recent
searches as chips (with Clear). Results moved to a list + detail layout: focusing a result
shows its poster, plot and rating in a side pane with a primary action button (Play / Watch live /
Open series), and OK still plays it directly. Back clears the query (returning to the launcher)
before it leaves Search. "Unwatched" and "Channels" are bounded to your favourites (and recent
history) so they stay fast on large playlists. - Downloads: queue groups, a storage bar and clearer failures. The Downloads list is now grouped
into Active · Waiting · Completed · Failed sections with counts, a storage bar at the top shows
free space (e.g.12.4 GB free of 118 GB), and a failed download now reads
"Download failed — couldn't reach the source. Tap Retry." next to its one-press Retry. - Download status on the poster. Start a download of a movie, a whole series, or a single episode and
a compact status strip (Downloading / Queued / Paused / Failed, with a progress bar) now appears at
the top of that item's poster panel — so you can see it's actually running without opening the
Downloads screen. The strip only shows while something is in flight and disappears once complete. - Shell: a shared "Continue" chip. The top bar now carries a compact Continue chip that resumes
your most-recent item in one press — Resume a movie, Next up an episode, or your Last
channel — labelled with the title and shown on every screen. It only takes focus from the navigation
panel (like the search pill), so it never gets in the way while browsing, and hides when there's
nothing to resume. - Series episode view: watched state, "Next up" and a "Hide watched" filter. Episodes now show a ✓
(and a dimmed title) once watched to ≥95%, and a thin progress bar when part-watched, so you can see
exactly where you are in a season at a glance. Season chips show awatched/totalcount
(e.g.Season 2 · 8/18). A "Next up" card at the top of the episode detail pane surfaces the
episode to continue with — the one you're mid-way through, or the next one after the last finished —
with a one-press Play (and aResume <time>line when in progress). A "Hide watched" toggle
in the header filters the list down to what's left to watch. Opening a show still focuses your
last-watched episode (#22); when that episode is hidden by the filter, focus falls to the first
visible one instead of losing focus. - Mark an episode watched / unwatched manually. Long-press an episode for a new "Mark as
watched" option (or "Mark as unwatched" if it's already watched) — corrects the auto-detected
≥95% state without playing the episode. Marking watched restarts the episode from the beginning the
next time you press Play (it won't jump to the credits). - TV Guide: a "now" line, Jump-to-Now, catch-up badges, genre dots and a preview strip. The guide
grid now draws a red vertical line at the current time; a "Jump to Now" button in the header
scrolls the timeline back to now (handy after browsing the catch-up archive); programmes you can
rewind from show a ↻ badge; channel labels get a small colour dot by genre
(sport / news / movies / kids / music / docs); and a non-modal strip at the bottom previews the
programme under the cursor (title, channel, time, runtime, catch-up, synopsis) without opening the
dialog — OK still opens the full detail. - Movies: watched state on posters and a resume label. Movie posters (and the compact list rows)
now show a ✓ badge (with dimmed art) once watched to ≥95%, and a thin progress bar when part-watched,
matching the Series episode view. The movie detail pane shows aResume <time>label under the poster
when there's an unfinished position, and long-press gains a "Mark as watched / unwatched" option
(mirrors Series; marking watched still restarts from the beginning on Play). - Player: a next-episode countdown card. When a series episode nears its end, a card appears with a
countdown to the automatic next-episode advance plus Play now and Cancel — so you can jump
early or stop the auto-advance. Works on both the mpv and ExoPlayer engines.
🐛 Fixes
- All seasons now reachable on long-running series. The season selector on the Series detail screen
was a single non-scrolling row, so shows with more seasons than fit on one line (e.g. a 12-season
series) had the seasons past the visible ones clipped off the right edge — invisible and unreachable
with the D-pad. The selector is now a scrollable rail: Right/Left moves season-by-season and
auto-scrolls the focused season into view, and opening a show scrolls straight to the active
(last-watched) season. - Clearer 4K decode-guard message. When a stream's format can't be hardware-decoded on the TV and
falls back to software decoding (which can't sustain >1080p), the error now explains the stream's
format is the issue rather than implying the TV can't play any 4K content — the TV may still play
other 4K videos fine. - Player seek bubble now shows time remaining. The scrub bubble above the seek thumb was not
displaying (padding couldn't lift it out of the bar) and, once fixed, now reads the time left to the
end (e.g.-12:34) — the elapsed and total times are already shown at the bar's two ends. - Favourite "On Now" now covers every favourite channel. When the Favourite Channels row was set to
On Now, the inline mini-guide only looked up programme data for the first ~10 favourites and left
the rest without guide info. The builder now reads programme summaries for the whole candidate list in
a single batched query, so every visible favourite shows its airing show (community PR #62 by
@codeVerine — Sagar Mukundan UV). - Home artwork and metadata from TMDB. The Home hero card and Continue Watching series tiles now
prefer TMDB backdrops, title logos and plot text when metadata is available, while preserving the
provider artwork/text fallbacks. Continue Watching series tiles resolve episode/show artwork on focus
and render as landscape cards instead of stretched portrait art. The hero's expanded view now uses
a landscape backdrop with a title logo, plot and a Play action (community PR #62 by
@codeVerine — Sagar Mukundan UV). Requires metadata cache v13 (Room
migration12 → 13, additivelogoPathcolumn onmetadata_cache). - Home refreshes after a playlist switch. Switching the active playlist from the top-bar quick
switcher while sitting on Home now updates the hero, Continue Watching, Recent and Favourites rows in
place — previously you had to leave and reopen Home to see the new source's content (community PR #62
by @codeVerine — Sagar Mukundan UV). - Manual reorder now survives Backup & Restore. The Move up/down positions you set for channels,
movies and series (thecontent_ordertable from v4.0.0) were never written to a backup or restored
— the resolver supported it but the backup section picker never asked for it. Backup & Restore now
has a dedicated Manual reorder section (export and restore) so your custom order comes back after
a restore. Existing backup files still restore cleanly; older files simply have no reorder data to
apply.
What's Changed
- Polish Home On Now and artwork by @codeVerine in #62
Full Changelog: v4.0.2...v4.0.3