Everything reported since v1.0.8, plus two Tizen bugs the owner hit while testing.
Fixed
- #12 — Portuguese text with the interface in English. Same class as #3: a sentence assembled with
snprintfnever matches a translation key, because the key is the whole Portuguese string. The report quoted "Retomar T1E1"; rather than patch that one line I swept for the pattern and found it in nine places — the title screen's primary button, the player title, the episode list, the post-play panel, the friends feed, the profile ranking and the subtitle labels, plus "de %s" in search and "Legenda %d" in the player. Translation now wraps the format, which is how two other screens already did it. The abbreviation follows the language too: T1E1 in Portuguese, S1E1 in English. - #14 — next episode did not play. The prompt closed and nothing happened because the id sent to the add-on came out malformed: the code composed
"%s:%d:%d"from the item's IMDb id without cutting it at the colon. An item that arrived through the Continue Watching row is already composed — both sources for that row store"tt123:1:2"in that field — so the request becamett123:1:2:1:3, the search returned nothing, and no source was ever chosen. The three other places that build an episode id already cut; this was the only one that did not. It only shows up when the series was opened from Continue Watching, which is exactly the path someone bingeing uses. - Player zoom did nothing on Tizen. The AVPlay API has no source rectangle, so the crop is emulated by drawing the whole frame into a larger, shifted rectangle — which requires a rectangle that extends past the screen. It was handed to the function that clamps to the screen, so the crop was undone on the way, every time, in every aspect mode. Measured: a 2.39:1 film in a 1920x1080 frame computes
0,-185 1920x1451, and after clamping it is0,0 1920x1080— precisely "no zoom". The comment there blamed the firmware; the culprit was two calls up, on our side. Whether Samsung honours an off-screen rectangle is still unverified — the difference is that the app is no longer the one preventing it, and the log prints the exact rectangle requested. - Home row settings did not survive a reload on Tizen. The module wrote with a plain
fopeninstead of going through the storage layer, which skipped two things that are invisible on LG and fatal on Samsung: it never marked the store dirty — on Tizen a write lands in memory, and only the storage layer's flush moves it to persistent storage — and it never took the filesystem lock, which exists because the WebAssembly filesystem is a shared JavaScript structure and is not thread-safe. The documented symptom of ignoring that lock is the whole app freezing with no error.
Investigated, and instrumented instead of guessed
-
#13 — a collection installed from the account never appears. Not fixed, and I would rather say why than ship a guess. A folder only enters with at least one usable source and a title; a source whose provider is TMDB or Trakt is skipped, because this app has no equivalent for those, and a folder made only of those disappears leaving no trace. That is one of three possible causes, and they need three different repairs. The discard is now counted and named:
[colecoes] descartadas: N de provedor nao-addon, N sem fonte utilizavel, N sem titulo, N alem do teto | primeira: <name>@rawldon — please install the collection again and photograph the on-screen log (red button). That line says which of the three it is, and then it is a repair rather than a hunt.
-
Freezing when leaving a movie. Two hypotheses were dropped before they became code, and they are worth retiring publicly: the Trakt scrobble already runs on its own detached thread, and the local progress write only touches memory and a short file. What is left on the drawing thread is the AVPlay teardown —
stop()thenclose(), both synchronous — andwebapis.avplayexists only on the main thread, so there is nowhere to move it. The exit now prints how long each half took. If it turns out to be seconds, the answer is not "move it off the main thread", which is impossible: it is for the screen to say it is closing instead of appearing frozen.
Installing
LG webOS 4.x — space.nuvio.native.legacy_1.0.10_arm.ipk. See INSTALL.md.
Samsung Tizen 5.5+ — NuvioTV-1.0.10-tizen.wgt, unsigned on purpose; you sign it with a certificate carrying your own TV's DUID. Steps are in the v1.0.7 notes.
Verification
All three toolchains compile clean and the LG package's binary matches a fresh build of this tag. No device check in this round: the LG was offline and there is no Samsung on the bench, so nothing here was watched running. The zoom fix in particular is arithmetic I verified on paper — the numbers are in the notes above — and not on a screen.
Unofficial, and not affiliated with NuvioMedia.