A polish-and-reliability build. Home loads in smoothly and scrolls cleaner, two cases where the Play button's source search could get stuck are closed, auto-play to the next episode is steadier, audio passthrough settings finally stay where you set them, and library transfers got safer. No new features in this one.
At a glance
- Home loads in smoothly. Every row fills in on its own in the background — no more scrolling to trigger a row — and posters no longer flicker or fade as you scroll past them.
- Audio passthrough settings now stay per device, instead of syncing (and silently overwriting each other) across every device on your account.
- The Play button no longer gets stuck searching, whether you're reopening an in-progress title or backing out of an episode you just finished.
- Auto-play to the next episode is more reliable when its source is still being found as the current episode ends.
- Library transfers are safer — tighter scope, Trakt rate-limit handling, and a heads-up when your destination is linked to another service.
Improved
Home screen loading and scrolling
- Rows fill in on their own. The first 8 catalogue rows load up front, and the rest are drained automatically in the background in display order. You no longer have to scroll to a row to make it load, and fast-scrolling no longer leaves a scattered pattern of blank rows.
- Smoother while it loads. The background fill is deliberately paced and steps aside whenever a row you've scrolled to is loading, so bringing up Home doesn't compete with what you're actually looking at. Cold-start peak load concurrency was lowered to prioritise smoothness over raw fill speed.
- No more poster flicker while scrolling. Already-loaded posters used to briefly fade as they recycled during a scroll, and fade in again on reopen. They now snap straight from cache. The full-screen hero backdrop still fades in as before — that's deliberate.
- Less scroll jank from metadata prefetch. The on-focus prefetch that readies a title's detail page while its poster is focused no longer fires dozens of times mid-scroll — it waits for the scroll to settle, then prefetches the item you land on. Detail pages still open just as fast.
- A small, invisible one: the debug recomposition-highlighter overlay is now fully excluded from release builds. It previously carried a tiny per-card cost even when switched off.
Changed
Audio passthrough and denied-codec settings are now per device
Your audio passthrough switches now stay on the device you set them on, instead of being copied to every device signed in to the same profile.
The per-format passthrough switches (Dolby Digital / Dolby Digital Plus / TrueHD / DTS / DTS-HD), Force AC-3 passthrough, MAT passthrough, and the Denied Codec Handling mode are all determined by what's physically downstream of the box — your soundbar, AVR or TV over ARC/eARC. What's correct in one room is often wrong in another, and previously these settings synced across your devices, so tuning the audio on one box could quietly change another. This brings them in line with the settings that were already per-device for the same reason — playback buffers, Dolby Vision handling, frame-rate matching, downmix, channel count and audio-delay-per-device.
What to expect after updating: because these settings used to sync, each of your devices is currently holding whatever value last came through. This update freezes that and stops further copying — it doesn't reconcile or reset anything, and each device is independent from here on. If you run Nuvio on more than one device, just check the audio switches once on each and set them to suit that room; from then on they'll stay put. Nothing changes if you only use one device, and playback itself is unaffected.
Fixed
Home screen
- Hero backdrop updates on the first card of a row. Previously, scrolling down and landing on a row's first card sometimes left the big backdrop stuck on the previous title until you moved sideways. It now updates correctly on the first card once the scroll settles.
The Play button no longer gets stuck searching
Two related situations where the source line under Play could spin on "Finding best source" indefinitely, instead of resolving:
- Re-opening a title that had already been pre-warmed — from the Continue Watching row, or a previous visit to the same detail page.
- Backing out of an episode watched to near the end — inside the look-ahead window for the next episode, before it auto-advanced.
Both are fixed: the pre-search cache now correctly re-announces its result in these cases instead of keeping it to itself. (Background look-ahead and Continue Watching warmers won't trigger extra, unnecessary re-searches during playback as a side effect of this fix.)
Separately, the details page now also refreshes your tracking progress (Trakt / MDBList / Simkl) every time you return to it — matching what already happens when the app comes back from the background. This clears a related case: returning to a details page right after finishing an episode could leave that episode not yet registered as watched, so the Play button — and its source search — stayed pointed at the one you'd just finished instead of moving on to the next. (This alone doesn't fix Continue Watching taking a moment to reflect an episode you just finished — see Known limitations.)
Auto-play to the next episode is more reliable
If the next episode's source was still being found right as the current one ended, the auto-play timeout could expire and drop you into the manual source picker instead of continuing automatically. It now waits for a search already in progress to finish, up to the normal timeout ceiling — so a next episode that's almost ready gets picked up and plays on its own instead of stopping short.
Library transfers are safer
- Tighter scope. Transfers now only touch your watchlist / plan-to-watch list on both ends. Previously a transfer could sweep in whatever a service considered part of your "library" — including Simkl's completed, watching and history, or a Trakt personal list — which wasn't the intent.
- Trakt reads survive rate limits. A large Trakt read now backs off and retries if Trakt rate-limits it, instead of quietly falling back to a stale, incomplete snapshot.
- A heads-up for linked services. The transfer preview now warns you if your destination is itself synced to another service (for example, an MDBList list linked to Trakt) — since your change may propagate there too.
Known limitations
- Some scroll jank remains on Home (and in Settings generally), from the cost of composing the rich poster cards — depth, gradients, badges — as they stream in during a fast scroll. This was measured thoroughly this cycle: it's not layout, draw, or GPU cost, and it isn't fork-specific — official NuvioTV shows the same floor on this box, and is actually worse on the equivalent Settings-screen scroll. Reducing it further would mean simplifying the card's visual design — a deliberate look-and-feel trade-off, not a bug fix.
- Continue Watching can take a moment to reflect an episode you just finished, if your Watch Progress source is Trakt, MDBList or Simkl — caused by that service's own sync delay, not the app. A dedicated fix (an overlay that shows "just finished" immediately, regardless of provider) is scoped but not yet built.
Install
Sideload via ADB or a file manager. This is a personal test build with the application ID com.nuvio.tv.test, so it installs alongside official NuvioTV rather than replacing it.