github iqui27/nuvio-native-legacy v1.0.16
v1.0.16 — the next episode actually plays

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

"Play next episode" never worked — on any platform, since the feature shipped. The v1.0.10 fix for it was real code that never ran.

#14 — the next episode

The report came with a video, and the video showed more than the words did: the card appears, OK is pressed, and the card does not even go away.

posplay_evento stored the request and called posplay_fechar() on the next line — and posplay_fechar() zeroes pedT/pedE/pedTitulo. The request died in the same event that created it, so posplay_pediu_episodio() never returned anything. The v1.0.10 fix (the id truncation in app.c) sits downstream of that closed gate: correct code that was never reached. That is why the reporter saw no change.

Zeroing also cleared dispensado, and without it the "should appear" condition is still true, so the panel came back on the very next frame. That is the second half of what the video shows.

posplay_fechar() still exists and still zeroes — that is right when the player switches title. What is new is esconder(), which leaves the screen without discarding the choice.

The 5-second countdown never existed either. The header string "A seguir em %d s", the constant, and the block that consumes the timer were all there from the first commit of the file; the single line that arms the clock was missing. So the panel sat on "Up next" forever and nothing ever auto-played.

And the episode it offered was wrong — found only by running it on real hardware. Playing Silo S02E08, the panel offered S02E07, and the log confirmed it: automatico (verificado): Silo S02 E07. The panel asked the catalog item which episode was playing, and that item still pointed at S02E06 — that is how the show was entered, from the Continue Watching row, and nothing moves it when playback starts from the title page's button. It now asks the player, which is what actually follows playback.

With the gate finally open, the code in app.c ran for the first time and turned out to be insufficient: it did not save progress for the episode that just finished, did not update the player's episode (so the next save would overwrite the previous episode's progress), and did not request subtitles. It now takes the same path as the player's own next-episode button.

Measured on an OLED65C9, with a person pressing OK:

[tecla] Return
[player] saida: video_parar 1 ms
[t] 252909 posplay: proximo episodio
[trakt] stop tt14688458:2:8 92.3% -> ok      <- finished episode saved
[legendas] tt14688458:2:7: 5                 <- subtitles requested
automatico (verificado): Silo S02 E07

Long-press on a poster

Reported separately: holding OK on a card fires too fast and ends up selecting twice, and the menu clicks an option by itself while the button is still down.

There was no single threshold. The home screen used a separate 110 ms constant whose name said "feedback" but which was the actual trigger — so the home opened the poster menu in a tenth of a second, less than an ordinary tap, while the same gesture on the title page waited 500 ms. That constant is gone: one measure, one place. The threshold is now 700 ms, the Android TV value; on a TV remote the OK button travels far and releases slowly.

The menu opens while the button is still down, and that is deliberate — waiting for the release would make the progress bar fill on screen with nothing happening. The price was the remote's auto-repeat reaching the freshly opened menu as a selection. Now the press that opened it cannot select: the guard clears on the first key-up, and auto-repeat never counts as a tap.

Verification

Two new regression suites that link the whole app: tests/posplay.sh (8 cases, from the OK press to the correct episode) and tests/hold.sh (3 cases). Both fail on the previous code. The end-to-end run above is from a real TV, not a simulation.

Installing

Samsung Tizen 5.5+ — NuvioTV-1.0.16-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.16_arm.ipk. Everything from v1.0.15, including the WebP artwork fix for Tizen, is included.

Unofficial, and not affiliated with NuvioMedia.

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

NewReleases is sending notifications on new releases.