Commit graph

338 commits

Author SHA1 Message Date
Jos Vooges | STH
4cd4347daf Prefer series poster in continue watching with episode overlay.
Use the series poster instead of episode stills, and show SxE plus title on Verder kijken cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 00:51:48 +02:00
Jos Vooges | STH
388962e6d1 Fix Live TV EPG by using bulk XMLTV instead of partial short_epg.
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>
2026-09-05 16:10:46 +02:00
Jos Vooges | STH
16f3f3f93c Improve IPTV EPG caching with SWR, warmup, and spotlight logos.
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>
2026-09-05 16:01:06 +02:00
Jos Vooges | STH
826e95aaab Fix Recent sorting with stable discoveredAt on media files.
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>
2026-09-05 01:00:18 +02:00
Jos Vooges | STH
421baae3d7 Fix recent catalog sorting by file mtime and polish mobile UI.
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>
2026-09-05 00:46:31 +02:00
Jos Vooges | STH
a5e8e18b75 Add Android phone/tablet app module alongside the TV client.
Separate applicationId for Play listings; touch bottom-nav and soft-keyboard search while sharing the same cluster API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 21:07:27 +02:00
Jos Vooges | STH
24e56b2343 Add public privacy policy page at /privacy for Play Console.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 18:48:15 +02:00
Jos Vooges | STH
227dee4a53 Ignore bogus Next-Action probes that spam admin-ui logs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 02:05:51 +02:00
Jos Vooges | STH
a6a922bf05 Sort home shelves by newest first and add TMDB rematch for scanned titles.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 03:42:03 +02:00
Jos Vooges | STH
5749e41148 Fix IMDb backfill timing out by processing in batches with auto-retry in admin UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 03:25:58 +02:00
Jos Vooges | STH
6437e42c30 Add one-click remote node upgrade via WebSocket (v1.3.3).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 03:08:36 +02:00
Jos Vooges | STH
d2046904a0 Fix silent TMDB matching failures and add node upgrade tooling.
Survive IMDb unique conflicts during movie matching, log per-file sync errors, add library lookup diagnostic, and ship upgrade-node.sh plus Admin upgrade button for Unraid/Synology nodes still on 1.2.9.
2026-09-02 02:55:53 +02:00
Jos Vooges | STH
3b3d796452 Make live channel popup category switching instant.
Load channel lists without EPG first, cache categories, and prefetch neighbors so left/right navigation feels snappy while EPG fills in on the background.
2026-09-02 02:19:03 +02:00
Jos Vooges | STH
522cd00e83 Load all channel EPG titles before showing the TV channel list.
Prefetch now-playing titles for every channel when a category opens so program info is visible immediately, not only on row focus.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 01:57:49 +02:00
Jos Vooges | STH
9377c9fa0e Batch-fetch IPTV now-playing titles with server-side EPG cache.
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>
2026-09-02 01:50:33 +02:00
Jos Vooges | STH
da6159059d Fix live channel menu freeze when switching categories.
Stop bulk EPG prefetch from blocking the overlay; load program titles lazily on focus and keep the channel list visible while categories refresh.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 01:43:53 +02:00
Jos Vooges | STH
7581c5b34a Add EPG and category browsing to live channel switcher.
Prefetch now-playing titles for menu rows and use left/right to switch IPTV categories while the in-play overlay stays open.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 01:26:51 +02:00
Jos Vooges | STH
8cfae01e4b Add in-play channel switcher overlay for live TV.
Press up during playback to open a glass-style side panel with the current category channels; switch zenders without closing the menu until back is pressed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 01:16:53 +02:00
Jos Vooges | STH
e061d23569 Redesign live TV guide with compact Ziggo-style list layout.
Replace large channel tiles with dense rows, horizontal category tabs, and a right-side EPG detail panel while keeping focus restoration behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 00:56:45 +02:00
Jos Vooges | STH
4ba32a2327 Improve live TV focus restoration and modernize channel guide UI.
Focus lands on categories or last watched channel when opening TV or returning from playback, and refresh the category sidebar, channel grid, and EPG bar styling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 00:49:44 +02:00
Jos Vooges | STH
fe4b1210ac Prefer classic Xtream TS URLs for live IPTV playback.
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>
2026-09-02 00:06:02 +02:00
Jos Vooges | STH
5524b3269d Add live IPTV TV tab to Android app with per-viewer access.
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>
2026-09-01 17:31:05 +02:00
Jos Vooges | STH
159cd48692 Add shelf homepage names and fix TV poster clipping on home rows.
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>
2026-09-01 16:20:53 +02:00
Jos Vooges | STH
7c808e9167 Fix library repair failing on playback session foreign keys.
Delete stale playback sessions before removing unavailable or duplicate media file rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 14:56:37 +02:00
Jos Vooges | STH
d044106f77 Fix slow library repair and add TV quality badges on detail pages.
Batch-merge duplicates instead of O(n²) scans, prune duplicate file rows, cap IMDb backfill per run, and improve admin dashboard feedback. Android TV shows compact quality logos and version picker on movie details (0.8.2).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 14:51:26 +02:00
Jos Vooges | STH
57280ef470 Tighten detail action buttons for readability on backdrops.
Use compact solid buttons and a quieter back control so labels stay clear over hero art.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 04:04:35 +02:00
Jos Vooges | STH
6c96b0ca01 Rich movie and series detail pages with logo, trailer, and meta.
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>
2026-09-01 03:55:25 +02:00
Jos Vooges | STH
47dcbafa87 Fit full compact search keyboard beside results on TV.
Replace oversized McButtons with a 6-column key grid so the whole keyboard stays visible Netflix-style.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:43:13 +02:00
Jos Vooges | STH
8b3fb1b856 Clarify viewers admin page with expandable cards and clear status.
Separate account, Google Play, and devices; collapse details by default so the overview stays scannable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:17:34 +02:00
Jos Vooges | STH
4124eb2d28 Restore missing fastify dependency removed when adding Google auth.
Docker builds failed because tsc could not resolve fastify after it was accidentally dropped from package.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:13:44 +02:00
Jos Vooges | STH
4f76e39124 Move Google Play credentials into admin Settings UI.
Store encrypted service-account and group config in the database so Dokploy env vars are optional.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:10:59 +02:00
Jos Vooges | STH
4d96940b20 Fix TV continue-watching long-press menu and Netflix-style search layout.
Long-press no longer auto-selects the first action; search shows keyboard left and results right.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:04:44 +02:00
Jos Vooges | STH
0eb0c5d367 Add admin Google Play Closed Testing access via Cloud Identity Groups.
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>
2026-09-01 03:04:34 +02:00
Jos Vooges | STH
04d6a38234 Tighten TV back navigation, continue-watching actions, and detail focus.
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>
2026-09-01 00:25:43 +02:00
Jos Vooges | STH
7e624dd452 Fix shelf catalog pagination so browse shows all titles.
Shelf endpoints now return a real total and page by skip/take instead of capping around 60.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 00:10:26 +02:00
Jos Vooges | STH
38a779c5f8 Show up to 5 Continue Watching items on home with a See all grid.
Cap the home row at five titles and open a continue-watching catalog when more exist.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 00:00:25 +02:00
Jos Vooges | STH
4b3c594609 Fix version/subtitle labels and add OpenSubtitles search in the TV player.
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>
2026-08-31 23:37:40 +02:00
Jos Vooges | STH
2ce482370b Make VMC icon and TV banner high-contrast red for Shield.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 23:14:28 +02:00
Jos Vooges | STH
2a2dbd886f Add VMC app icon and Android TV banner branding.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 22:55:59 +02:00
Jos Vooges | STH
0959764320 Stabilize Android builds by compiling Kotlin in-process.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 22:49:24 +02:00
Jos Vooges | STH
8301d5191f Fix Series tab crash from duplicate LazyRow key series.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 22:43:19 +02:00
Jos Vooges | STH
cc16761500 Trigger Dokploy redeploy for VMC home/spotlight API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 22:33:44 +02:00
Jos Vooges | STH
02ef92d4f8 Brand admin UI as VMC.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 22:18:48 +02:00
Jos Vooges | STH
06e7640ab5 Rename to VMC and polish TV nav, spotlight, Netflix player.
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>
2026-08-31 22:18:37 +02:00
Jos Vooges | STH
e22cef06dd Fix ShelfRow.slug for browse-all navigation compile. 2026-08-31 02:09:06 +02:00
Jos Vooges | STH
1b0d5a9f8d Netflix-style TV nav: Films/Series tabs, search, browse-all catalogs. 2026-08-31 02:06:24 +02:00
Jos Vooges | STH
9e7faba240 Fix TV audio via ExoPlayer passthrough, visible controls, version labels. 2026-08-31 01:52:11 +02:00
Jos Vooges | STH
700947d2e7 TV client: LibVLC for full audio, richer home rows, playback track picker. 2026-08-31 01:41:05 +02:00
Jos Vooges | STH
09be3be3a5 Fix McButton parameter order for Compose trailing lambdas. 2026-08-31 01:32:09 +02:00
Jos Vooges | STH
921fe57bd8 Polish Android TV UI and fix player audio/controls. 2026-08-31 01:28:55 +02:00