github disclosurez/Lumora v5.9
Lumora v5.9

latest release: v6.0
3 hours ago

Lumora v5.9

Continue Watching

  • A second TV picks up where the first one left off. Watching on one device and swapping to another left the second one with nothing to offer, because the Trakt sync only ever read what was finished - Continue Watching is built from what was stopped halfway, and that list lives on Trakt (/sync/playback) where it was read only so a removal could delete from it. It is pulled now: each paused entry is matched back to a copy of the same title in this device's catalogue (by TMDB id, then by the same title normalisation the watched marks use), and recorded as an in-progress position - so the tile appears on Home, the series page's Play button points at the episode that was actually in progress rather than the first one, and a film's page says Resume. Trakt states a percentage rather than a position and no duration, so the percentage travels as a percentage and is resolved against the local stream's own runtime when the title is opened; a position this device measured itself always wins when it is newer, and an entry for something finished here never resurrects it. Removing the tile still deletes Trakt's own entry, so it does not come straight back on the next pull.
  • A show spelled differently by the tracker and the panel still lands on the right episode. A watched mark is keyed by the show's title, so a mark from Trakt ("SAS Rogue Heroes") only reached an episode a panel spells differently ("SAS: Rogue Heroes") by luck - and when it missed, the Up Next row offered episode one instead of the one after the last thing watched. The pulled marks are now also written under the catalogue's own spelling of the show, matched by TMDB id where the panel carries one and by title where it does not. Additive only: nothing is ever un-marked by it, and the mark under the tracker's spelling stays so an un-tick still clears it.
  • Simkl feeds Up Next rather than Continue Watching, by design. Simkl's API has no account-wide "paused" list - a scrobble's stop only records a watched mark - so there is no resume point to fetch from it. Its watched history already answers "what comes next", which is what the Up Next row is for. The Trakt pane's toggle is now Sync watch history and Continue Watching, since it governs both.

Up Next

  • A show taken off Up Next leaves Trakt's Up Next as well. The removal used to be local only, so a show dropped from the row here was still the first thing trakt.tv and every other Trakt client offered - which read as the removal having been ignored. Trakt's own drop is the same idea (off Up Next, Progress and Calendars, watched history untouched), so removing a tile now drops the show there too, matched by TMDB id and only while signed in - independent of the sync toggles, because a removal is an instruction rather than a report. Restore removed shows undrops them again. A show that cannot be matched to a TMDB id, or a Trakt account that refuses the call, still comes off the row locally: the local removal lands first and never waits on the network. Watching the show again undrops it on Trakt by itself, and Trakt's settings page can always put it back.

Simkl

  • Simkl connects again. Simkl's original PIN sign-in has been retired for OAuth 2.0 clients, and the app still called it - so the code screen appeared, the code was typed on the phone, and no token ever came back (Simkl answered 400 unauthorized_client, pointing at the device endpoint). Sign-in now uses the OAuth 2.0 device flow: the same short code and QR, the same place to type it, and a token pair at the end. AUTH V2 access tokens last seven days, so the refresh token is stored alongside and used automatically a day before the access token lapses - a refresh Simkl rejects (the connection was revoked on its site) signs the session out instead of retrying a dead grant. Signing out revokes the grant on Simkl's side too, and every request now carries the client id, app name and app version the API requires, plus a User-Agent.

Live TV guide

  • A programme block opens its details instead of starting the channel. OK on a block now expands a panel under its own row - title, slot, status and the listing's description - filled from the guide already on screen, so opening it costs no request and cannot disagree with the blocks above it. One panel at a time (opening another collapses the previous row), updated in place rather than rebuilt, so D-pad focus stays on the block. The now line under a channel name is a touch target for the same panel, future listings surface the long-press reminder gesture, and the channel column is the way to start playback.

Toolbar

  • The settings gear is not printed on top of the clock any more. The tab strip is a scroll view, and a scroll view does not clip its own content - it draws the child through a translate, past its own edge - so when the row grew past the space the clock leaves, the settings gear and the refresh button were painted straight over the time and off the right-hand side of the screen, where the gear could not even be tapped (the clock was in front of it). The overflow is clipped at the strip's edge now, so nothing can reach the clock, and the row is trimmed to fit as well: on a 1080p set the six tabs, Search, the settings/refresh pair and the clock all sit on one line again, with the clock reading as the second step under the tab labels. A set with the width to spare (a 4K panel) keeps the roomier spacing the chrome had before.
  • Settings can be closed from the toolbar again. The close button is the toolbar's settings gear, and opening Settings hid the pills around it - but a pill that was already hidden (the Downloads tab is phone-only) was switched to INVISIBLE, which still takes up room in the row's layout, so the close button was handed a whole pill's width and pushed off the end of the screen, where nobody could see it. A hidden pill now stays hidden.

Settings

  • The settings screen uses the TV's width again. The content column carried a 200dp inset, which on a 1080p panel left a ~500dp-wide phone-shaped strip down the middle of the screen and a quarter of the width as dead space on the right - and every provider row squeezed into it, so a provider's name and URL were crushed to a few characters under the row's own buttons. The inset is 40dp now, still enough to keep text off the bezel: the panes fill the panel, and a provider's name and full URL read on one line again.

Installation

Download the APK below and install on your Android TV, Fire TV Stick, or phone.

Don't miss a new Lumora release

NewReleases is sending notifications on new releases.