Shelf item queries no longer run one-by-one; favorites load alongside them. Response shape and shelf order stay the same.
Co-authored-by: Cursor <cursoragent@cursor.com>
Owners can list/revoke devices and approve TV codes in the iOS app; TV shows a vmc:// QR, and Films/Series get visible chips, titles, and a non-overlapping A–Z index.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clients can use VMC or a custom server with email/password or device code; API locks after 3 failed logins with admin unlock.
Co-authored-by: Cursor <cursoragent@cursor.com>
Browse films/series alphabetically with sort chips and letter scrubber; trap dialog focus and fix long-press remove from continue watching (0.14.13).
Co-authored-by: Cursor <cursoragent@cursor.com>
Gebruikers own their Xtream line and optional Stremio addons; admin Accounts merges into Gebruikers so kids can get filtered lines without leaking the latest addon credentials.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep NL|ALL-style packs visible, only drop pure Alles/All dumps, and coerce XUI object-map category responses.
Co-authored-by: Cursor <cursoragent@cursor.com>
Return all live categories immediately; only wait briefly for bulk counts and keep a single Alle zenders entry.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep one Alle zenders entry, backfill per-category counts when the bulk stream list is incomplete, and do not block the linked IPTV line on lastError.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show all live categories even when the full stream list is incomplete or category ids do not match exactly; harden Xtream list parsing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Category now/next titles were incomplete because warmup capped streams and per-channel fetches timed out; load xmltv.php once, fix timezone parsing, and fill remaining gaps in the background.
Co-authored-by: Cursor <cursoragent@cursor.com>
Speeds up Live TV now/next titles via longer cache, background refresh, and category warmup; also expose logoUrl on spotlight items.
Co-authored-by: Cursor <cursoragent@cursor.com>
Backfill from file mtime and set discoveredAt on first index (and size changes) so new titles rise to the top instead of bulk-import path order (W/Z).
Co-authored-by: Cursor <cursoragent@cursor.com>
Use GREATEST(last_seen, created_at) so Recent/Films/shelves show truly newest media after bulk imports, and ship phone-first layout with touch-friendly players.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add epg=1 to the channels API so the app loads program titles in one request per category instead of one call per channel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match Smarters by serving /live/user/pass/id.ts first from master-api, and tune the Android live player buffer for steadier TS playback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose client IPTV endpoints and admin toggle so viewers with IPTV access get a setup-box-style channel guide and live player in the TV app.
Co-authored-by: Cursor <cursoragent@cursor.com>
Admin can set a separate homepage label per library shelf; the client home API uses it for row titles while browse keeps the canonical name. Also fixes LazyRow focus clipping on the TV home screen (0.8.4).
Co-authored-by: Cursor <cursoragent@cursor.com>
API returns clear logos, cast, rating and YouTube trailers; TV detail screens use a Netflix-style hero layout.
Co-authored-by: Cursor <cursoragent@cursor.com>
Admins can enable or revoke store access per viewer; membership syncs to a configurable Google Group without changing app auth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Long-press continue items to mark watched or hide, scroll-back before exit, confirm quit on home, and focus Play by default.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clean null metadata in stream labels, show readable subtitle track names, and let viewers pause to pick OpenSubtitles during playback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Home billboard shows latest titles; shelves sort by newest files; Films/Series get shelf subnav with search; player overlay closer to Netflix.
Co-authored-by: Cursor <cursoragent@cursor.com>