github disclosurez/Lumora v5.7
Lumora v5.7

4 hours ago

Lumora v5.7

Multiview

  • Multiview: watch up to four live channels at once. The Multiview button beside the transport controls opens a grid with the channel already playing; the action bar adds, changes, closes and fullscreens screens, and the D-pad moves between them - the highlighted screen is the audible one, the rest are muted. Each screen is its own player with its own quality-version fallback, dead-feed skip and offline badge, so one bad stream never takes the grid down - and offline screens retry themselves (first try after ~10s, backing off to every 2 min) and pick the feed up the moment it returns, no poking required. A retry in flight shows "Connecting…" on the tile, so an attempt never looks like a dead screen.
  • Sized to the hardware and the subscription. Auto (the default) opens as many screens as your providers' simultaneously-connection limits allow - set a provider's Max connections when adding or editing it - and the app remembers the largest count this device has actually sustained, so a stick that cannot decode a fourth stream stops being offered one. Adding a screen that would exceed its provider's limit warns before the stream is refused. Settings → Filters holds the master switch and the Auto/2/3/4 screen count.
  • Adding a screen browses Live TV itself. Add screen (or Multiview in the Live TV tab's dropdown, above Catch Up) drops out of the grid into the normal Live TV browse - categories, guide and preview all work as usual - and OK on a channel adds it as the next screen and returns to the grid; Back returns without adding, and picking Live TV or Catch Up from the dropdown leaves multiview. The waiting grid's panes are stopped while browsing (their decoders go back to the system for the preview) and re-tune when it returns.

Sports

  • The sport row carries only the sports that have games on. A sport with nothing in the board's current mode - no game in play, no kick-off coming, nothing from the guide - has no chip at all, instead of sitting in the row greyed out and unfocusable: a chip that can only ever open an empty board was never a real target, and the row now reads as the games that are on rather than as a fixed list of five sports with four of them off today. The sport you have filtered to is the one exception - it stays (greyed, at zero) when a mode switch empties that sport's half of the day, so the board's own filter stays visible instead of the empty board reading as "nothing on today".
  • A game with no channel is not on the board. A fixture the guide could not place on any of your channels used to sit there as a row with an empty channel chip - pressing OK on it could only ever say "no guide entry matched a channel you have". Those games are off the board now, the header says how many were left out (so a board smaller than the feeds' own count reads as what it is), and the sport chips count the same games the board shows rather than the ones it hides.
  • A live NBA game is basketball, not golf. A sport keyword was matched as a substring of whatever text it sat in, so the golf championship's own name - "the open" - answered to "from the opening round of 2026-27 NBA fixtures" and the game was filed under the golf chip. Keywords are matched as whole words now, and a listing's title (what the programme is called) decides the sport before its blurb does.
  • Tonight's games are not on today's board. A listing for a later day sat under "On now" beside the games of the morning, its clock time alone saying which of the two it was - a 01:00 NBA game tonight read as the one that finished at 04:30 this morning. A listing is on the board while it belongs to the day, and a row that crosses midnight now says so ("23:00 - ends Wed 00:00"), so a game that kicked off at 23:30 and runs until 01:30 cannot be read as this morning's either.
  • A football match is not on Sky Sports F1. The competition tier took a league's name as evidence even when the name was a bare number: "Liga 1" leaves the "1" and nothing else, and every listing with a number in it answered to that - "Formula 1 Motor Racing" carried an Indonesian football match, and "Live Tennis" an Uzbek one. A number needs a word to belong to, a competition is read from the listing's title rather than its blurb, and the guard that keeps one sport's listing off another sport's fixture now knows every sport the board can show. The channel's own name has the last word too: a football fixture is not on Sky Sports F1, whatever the listing on it says.

Live TV guide

  • The guide stops asking the provider the same question every minute. A channel with no schedule - or a provider that was down - was re-asked for every visible row, once a minute, for as long as the guide was on screen; a channel with several quality variants turned one row into a dozen requests. "No guide here" is now an answer worth remembering (for a quarter of an hour, so a channel that gains a schedule later still picks it up), and a request that failed is remembered as a failure with a backoff rather than as "no guide" - which used to blank channels that do have a schedule.
  • Programme names are not garbled any more. Some panels base64-encode their guide text and most do not, and the app guessed per title - so on a plain-text panel a title that happened to be valid base64 was decoded into nonsense ("Live" became ".+\uFFFD", "ETV1" became "5u", "Sky" became "JL"). Whether a panel encodes is now decided once, from the panel's own titles, and a title that is not base64 is left exactly as it arrived.
  • A guide that was fetched hours ago is not asked for again. The Catch Up screen asked the provider for a whole day's listings, and the answer it got was used to work out how far the panel's clock was off - but a whole day's listing starts days ago, so that measurement always read "no offset" and was remembered for the whole provider: a panel running on its own local time had its guide hours out on every channel. The offset is now measured only from a short listing, whose first entry is the programme the panel believes is on air.
  • One provider's schedule is no longer shown for another's channel. Two panels both number their streams from 1, so "42" is two different channels - and the guide stored them under the same key, so switching provider left the new provider's channel reading the old provider's schedule straight off disk, and kept reading it. The guide is now filed under the channel, the provider that owns it and the source it came from, so the panel's own guide and an XMLTV feed's guide no longer overwrite each other either (the feed's blurbs, which the Sports board reads, survive a refresh from the panel).
  • An XMLTV guide no longer goes blank for hours. The feed was re-downloaded on exactly the period the reader's window allows, leaving no margin: there was always a stretch where the stored guide had aged out and the new copy had not arrived yet. The feed is now fetched more often than that window, and a source that has never been fetched is asked for straight away instead of waiting a whole period for the first run.
  • A fetched guide is no longer lost on the way to disk. The write is now one transaction (a crash between the delete and the insert used to leave a channel with no guide at all) and it is no longer cancelled when the screen closes - the fetch was already paid for.

Start screen

  • The app can open on Home, Series or Movies instead of Live TV. Settings → General has a new Open the app on row - Live TV (the default), Home, Series or Movies - and the choice is read once per launch, before the first paint, so it decides where the app opens and nothing else: it never moves you around while the app is running, and a provider reload half a minute later cannot send you back to where it opened. The labels are the tab bar's own, so the choice reads as the same thing the tab bar shows. Series and Movies fall back to Live TV when VOD is off (simple mode hides those tabs outright, and the VOD toggle leaves them there but empty), and a setup with no provider still lands on Discover, which is the only thing there is to show.

Lists

  • Single items can be taken off Recently Played. Holding OK on the Home row now offers Remove from Recently Played / Clear Recently Played - the same hold-to-remove contract the Continue Watching grid already had - instead of only favouriting the channel. Nothing outside this device's list is touched, and focus stays on the row when a channel is removed.

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.