github vatax3/NuvioTVOS v1.0.7
Nuvio for Apple TV 1.0.7

latest releases: v1.0.44, v1.0.43, v1.0.42...
one month ago

Three reports, and the first one explained more than it was reported for.
Sideload over 1.0.6; the About screen prints 1.0.7 (9).

The hero followed nothing, and neither did three other things

Moving the cursor across Home did not change the details at the top. The cause
was one line, and it had been quietly breaking four features at once.

The focus reporter read isFocused from the SwiftUI environment. That cannot
work: a view modifier wraps what it modifies, so the environment it reads is
the parent's — and isFocused is published downwards into the focused view's
own subtree, never upwards to something sitting outside it. It was reporting
whatever the ancestor happened to be, which on Home is nothing.

Everything hanging off that callback was dead:

  • the hero details never followed the cursor,
  • a focused poster never expanded into its backdrop,
  • the spoiler blur never lifted off an unwatched episode still,
  • titles too long for their card never scrolled.

All four work now. This was checked rather than argued: both versions were
built and run on a simulator, and the screenshots settle it — with the old
reader the focused card stays a flat poster, with the new one it opens into its
backdrop with the logo, rating and synopsis.

Episodes never showed their air date

released was being parsed, and used to decide whether an episode had aired —
so a season of unaired episodes looked exactly like an aired one. Episode cards
now carry runtime on the leading edge and the air date on the trailing one, the
same metadata row Android draws.

The empty strip on the left was the menu

The gap down the left edge was not a layout mistake. Collapsed, the sidebar drew
a single pill — just the current destination — inside a column sized to hold
it, so most of the band was nothing at all.

Android's closed drawer is a strip of icons, one per destination: the same loop
runs whether it is open or shut, and only the labels come and go. That is what
happens here now, centred vertically as Android centres its column. You can see
where you can go without opening anything, and the band is used rather than
empty.

Centring has a second effect worth having: the nearest thing to move left onto is
now level with the middle of the screen instead of pinned to the top corner.

The content offset itself is unchanged, and was already close — 66dp against
Android's 54dp before row padding on either side. What made it look wrong was the
emptiness, not the width.

Verification

129 unit tests and 8 UI tests pass. The focus fix is confirmed by simulator
screenshots as described above; the episode metadata row is a straightforward
addition and was not separately captured.

Unchanged from 1.0.5: the Trakt, TMDB and debrid network paths, and the Android
collections round trip, are not verified here for want of the accounts.


Sideloading. Unsigned. Sign it with your own certificate and install with
Xcode, Sideloadly or your usual tool. Requires tvOS 17 or later.

Don't miss a new NuvioTVOS release

NewReleases is sending notifications on new releases.