github iqui27/nuvio-native-legacy v1.0.21
v1.0.21 — the Home screen starts with your catalogs

latest releases: v2.0.8, v2.0.7-test.2, v2.0.7-test.1...
one month ago

The Home screen starts with your own catalogs again, in under a second. Plus the account library, the collections fix, and a Settings screen that was rebuilt rather than patched.

The Home cache was never surviving

Measured on an OLED65C9, same device, before and after:

BEFORE  [t] 16766 catalogo da rede publicado          <- 16.8 s before your catalogs appeared
AFTER   [cat] cache lido: 283 titulos, 7 fileiras
        [t]   844 catalogo do cache na tela
        [home] 7 fileiras na tela (limite 7, 7 no catalogo)
        [t]   877 primeiro quadro na tela

Two causes, both confirmed on hardware:

  1. The cache lived in the package's art/ folder — the same folder the deploy syncs. It was being overwritten by a stale copy from another build, and the app answered [cat] cache descartado (formato de outra build) on every start. So every launch fell back to the packaged sample catalog and then waited for the network. That is the "it shows the default, then switches to mine, then re-orders" that was reported.
  2. On Tizen it was worse: that folder is /app/art, which is MEMFS — RAM. The cache there had never survived a single close.

It now lives in the writable data folder, out of the deploy's reach. And with a valid cache, discovery stops publishing in pieces, so the second and third jumps go away too.

A privacy defect fell out of the same work. The cache holds the assembled Home of an account — watchlist, continue watching, the friends feed with names and avatars — and each row's base URL, which for Xperience carries a JWT inside the path. It was not keyed by user and logout did not delete it. The header now carries user and profile, refuses and deletes what does not match, and signing out removes the file.

The library now comes from your account

Reported in #20. Three RPCs were being fetched and counted, then thrown away. Only collections kept their payload, which is why the Library screen had nothing but local data and the badge always read Local.

One of those three calls was to an RPC that does not exist. Reading the web app's own source rather than guessing: what it calls the saved library is sync_pull_library with p_limit/p_offset. This code had the two halves swapped — calling the real RPC without the paging parameters and the non-existent one with them.

The badge now reports the real source (CONTA / TRAKT / LOCAL), and watched state no longer requires Trakt.

Collections stop becoming loose rows (#18)

The v1.0.11 fix for this was correct code that never ran for the reporter, and I owe an apology for closing it. col_por_catalogo() was the only reader of the collection folders that did not resolve the add-on base first. A collection from your account arrives with an addonId and no URL — the URL only exists after that add-on's manifest is read, which happens ~5 s later. So the match never happened, and every catalog inside a collection became its own row.

Settings, rebuilt

Twelve categories became six — five of them were describing the same thing under different names. What was lost in granularity came back as subsections, which label a block without adding another level to walk through. No setting moved and no key changed, so nothing you had configured resets.

The row sheet now shows where each row comes from: an icon and a label for from the app / collection / add-on catalog, and for the focused row, which add-on it came from, whether it is films or shows, and how many titles it holds right now.

Two rendering bugs found by looking at a screenshot

  • \n was drawn as a box. The text layout split words on spaces only, so a newline went whole to the font renderer and came out as .notdef. The Settings help footer had three lines in the source and appeared as one run-on line with two boxes on the TV. This was already in a photograph — the reporter of #12 sent it, and I read it as untranslated text, which was a different defect on the same screen. There were two, and I had seen one.
  • Fixed pixel offsets stacked the title over the subtitle, because a line's height depends on the style, the scale and the language.

Also in this release

The next-episode card, the poster menu, Back on the Home screen, and the WebP artwork on Tizen — see v1.0.16, v1.0.17 and v1.0.20. The Home screen also remembers where you were when you closed it, and 75 more strings are translated.

Known, and not fixed here

Removing an item from Continue Watching does not stick: the local record is deleted, but nothing removes it from Trakt's playback list or from the account, so it returns on the next sync. Reported while this release was being built; it is next.

Installing

Samsung Tizen 5.5+ — NuvioTV-1.0.21-tizen.wgt, unsigned; sign it with your own TV's DUID (steps in the v1.0.7 notes).
LG webOS 4.x — space.nuvio.native.legacy_1.0.21_arm.ipk.

Unofficial, and not affiliated with NuvioMedia.

Don't miss a new nuvio-native-legacy release

NewReleases is sending notifications on new releases.