Lumora v7.2
Player
- The end offer can no longer appear at the start of an episode. Two of the three end-zone triggers lacked the guard the third already had: the credits path read the player's position and duration without checking that this attempt had played anything, so a freshly fetched credits marker could "contain" the previous episode's near-end position and raise Play Next Episode over the opening seconds; and a late
STATE_ENDEDfrom the episode that was just replaced could be attributed to the new one, doing the same. Either way the countdown then skipped the episode that had just started. Both paths now key oncurrentStreamPlayed, which is cleared as the new stream is set up and set once it reaches READY.
Settings
- General pane sections now head their own rows. "User profiles" was appended straight after the pane's "App behaviour" label, so Simple mode / Disable VOD / Open the app on sat under the profiles heading. The profiles block now comes after those rows, with its own label above it.
- Enabling user profiles no longer closes Settings. The profile reload re-entered the Live tab, and that re-entry dismissed the panel. The reload now skips the tab re-entry while the Settings overlay owns the content slot (
settingsContainerandcontentRoware weight-1 siblings, so the panel also kept its full height), and the Manage profiles row the toggle reveals is visible in the same visit. - TV focus is handed back when a panel closes. Settings and the profile switcher restore focus to the control that opened them, watch the rebuild behind the close and pull focus back if it slips - closing Settings could previously leave the ring on the full-screen root frame, where RIGHT and UP resolved to nowhere and the remote looked dead. The switcher's focus ring now renders on all four sides, the top-bar chip no longer keeps its ring lit behind the dialog, the rail's group heading wraps instead of reading "YOUR LIB...", the tab strip fades at a clipped edge when the profile chip is present, and the top-bar Refresh button has a name for screen readers.
Start screen
- "Last played" is the new default for Open the app on. Every play records the tab it belongs to - Live TV, Series or Movies - and the app opens there next launch. It reads as Live TV until something has played, a VOD-off setup still falls back to Live TV, and an explicitly chosen start screen is unchanged. The choice is first in the list and applies from the next launch, as the row says.
Catalogue
- VOD is reimported every 72 hours; live TV keeps the 24-hour refresh. Xtream no longer re-downloads a provider's film and series lists until their 72-hour stamp expires (live still follows the catalogue TTL); Stalker skips its separate VOD and series call entirely while both halves are fresh; M3U, Jellyfin, Plex, Emby and Silo keep the stored VOD rows instead of replacing them on a normal refresh. A forced refresh - editing or adding a provider, the toolbar Refresh, a backup restore - still re-reads everything, and a half that came back empty is never stamped, so it retries instead of hiding for three days.
Sync
- Trakt and Simkl pulls write their watched marks in one pass. Every mark - and every alias spelling of it - rewrote the whole watched-marks file while holding the store lock that shelf builds read through, so a full history was thousands of rewrites: the sync trickled in over minutes and the tabs hitched while it ran. The Trakt and Simkl pulls, the remote-title alias pass and the Jellyfin/Plex shared-watch imports now use a single batched write.
Installation
Download the APK below and install on your Android TV, Fire TV Stick, or phone.