Lumora v5.4
Sports
- A Sports tab lists the day's games, each with the channel carrying it. Fixtures come from API-Sports (one product per sport: football, basketball, baseball, ice hockey, American football, handball, volleyball, rugby and AFL) and from SportAPI.ai, which leads for football; keys are build-time credentials like TMDB's and Trakt's, and a per-provider daily request budget keeps a free tier alive across a day of opening the tab. Every fixture is matched out of the user's own EPG - a programme naming both teams is the evidence, with tiers for team-named channels (US regional sports networks) and competition-named listings ("NHL", "Top 14"), aliases and three-character prefixes for the way guides write sides ("Man Utd" for Manchester United), and the listing's description as a second chance - and OK watches the matched channel, with a picker when more than one carries the game. With no feed configured the tab still fills itself in from the guide's own live sport, and a media-server or plugin-only setup has no channels to match against, so the tab stays hidden there (the Settings pane says why). Settings > Sports: show/hide the tab, pick which sports to list, and add the curated M3U guide (epg6) as an EPG source in one tap.
- The board reads as a scoreboard, not a list of sentences. Kick-off and state sit in a fixed left column, the sides stack with their scores in matching boxes, the competition sits beneath them, and the channel carrying the game is a chip with its logo and number on the right; the board leads with what is in play, then what is still to come, then results, and a header band gives the day, the game count and how many are live. A mode row switches between Live now (the games in play plus the guide's own "On now" listings, shown with the listing's blurb) and Upcoming, sport chips filter the board with a count each, and live games sit two to a line as half-width cards. Tennis, Darts, Cricket, Snooker and Boxing join Formula 1 and Golf as guide-only sports, and the live classifier reads every supported language, accent-folding and squashed or spaced phrase matching included.
- Guide text, end to end, behind the tab.
epg_programsgains the listing'sdescription(DB v5, migrated in place) filled by both XMLTV<desc>and Xtream, a channel's timeline comes from the panel's whole stored table rather than the short EPG (four entries against 140-380 on the panel this was measured against), XMLTV feeds may arrive gzip-compressed, a sync filters programmes to the device's own tvg-ids, and a portal without them is met by the channel's name. Starting a game hands over every channel the guide matched to it, so the player's live version picker offers the other broadcasts beside the channel's own quality variants.
Network shares
- SMB and WebDAV join the provider types, with browse and play on the TV. SMB goes over smbj (SMB2/3) and WebDAV over PROPFIND with Basic auth; entries stay out of the catalogue and open a browser overlay in the settings slot, with Back walking up one folder. An smb:// URL is served by a Media3 data source that reads the share directly (seeking included) and WebDAV plays as an ordinary HTTP URL carrying its Authorization header, so resume, subtitles-in-container and the external-player hand-off all work. The phone-pairing QR form learns both types, and the TV verifies a QR-added share immediately and reports what it found.
Player
- Versions lists everything a search found - torrents and debrid included. The resolver publishes what it found and keeps collecting after playback starts, so Versions offers one entry per site (its mirrors are interchangeable), a Torrent entry opening the full release list (quality, seeders, indexer) and the debrid service a torrent will be fetched through when an account is configured; picking one re-opens that source alone, and the auto-pick (web first, torrents when nothing web resolves) is unchanged.
- One Find & Play button on a title with no source. The toolbar's Find button hides while the primary Play relabels itself and returns when Play means play again.
Providers and plugins
- Dead Reddit-scanner providers are dropped on launch. Entries proposed by the scanner are re-probed the way the app would use them (the Xtream login call, the Stalker handshake, or an HTTP status for a playlist, under a 20s per-request cap) once per app open, and the ones that no longer answer are removed in one write, named in a toast and the session log; an offline launch removes nothing. A candidate added mid-session is re-checked there and then and, if it does not answer, added switched off rather than deleted - and a panel that starts failing during playback is probed after the third failed play and reported as stopped responding, once per session.
- Cloudflare challenges stay off the player. A site resolve still in flight when playback starts can no longer promote its challenge WebView over the stream: the bypass asks one gate before showing any UI, and a challenge raised moments before playback begins is dismissed, failing its caller so the queue moves on.
Translations
- Every locale gains the missing screenfuls. The sports section plus debrid, diagnostics, network shares, Simkl, skip segments and subtitles - around 190 keys per language, each with its own plural categories, brand names left untranslated, and every format specifier audited against the English source.
Fixes
- The guide's times sit on the clock's half-hours again. The ruler was labelled from the current minute - "Now", 12:17, 12:47 for a guide opened at 11:47 - so its times never matched the usual :00/:30 marks or the programme blocks beneath them; it is now anchored to the half-hour, with a "Now" lead cell running to the next mark and the blocks lining up under it.
- The Live TV rail lists categories in the provider's own order. The sidebar used to float sport/UK names to the top and alphabetise the rest, scrambling the order the panel itself lists them in.
- Cards scrolled off the top of the Sports board hide behind the mode pills and sport chips instead of painting over them.
Installation
Download the APK below and install on your Android TV, Fire TV Stick, or phone.