Commit graph

126 commits

Author SHA1 Message Date
Jos Vooges | STH
1f180476d1 Restore series meta via seasons path; keep TMDB enrich off the critical path.
Series listing broke after switching to series.episodes and selecting stillUrl — revert to the pre-TMDB catalog-aligned query.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:50:46 +02:00
Jos Vooges | STH
6a2dc108de Fix TypeScript where-clause type that broke master-api Docker build.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:45:40 +02:00
Jos Vooges | STH
f6482be692 Hardening series meta: survive missing still_url and empty available flags.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:44:18 +02:00
Jos Vooges | STH
52e2be7296 Fix empty series episodes: never block Stremio meta on TMDB enrich or bad air dates.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:33:21 +02:00
Jos Vooges | STH
9c3fd94f03 Make scan settings default without Unraid env and editable per node in admin.
Legacy 6h configs migrate to watch + nightly 03:30; master pushes schedule via HELLO_ACK/CONFIG_UPDATE.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:27:12 +02:00
Jos Vooges | STH
f113a1ad8c Watch-first library updates with nightly 03:30 catch-up, plus TMDB episode titles and thumbnails.
Realtime fsnotify handles add/remove; optional interval scans default off; Stremio series meta now enriches episodes from TMDB (name, still, air date).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 04:21:35 +02:00
Jos Vooges | STH
f24b3f1409 Fix Stremio catalog pagination and reduce duplicate movie/series rows.
Catalogs now support skip so Stremio can load more than 100 titles; matching prefers TMDB and can merge orphans; admin can dedupe and see available vs scanned counts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 03:55:27 +02:00
Jos Vooges | STH
b5236188c6 Add admin control to list/disable/delete addons and permanently remove nodes.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 03:33:49 +02:00
Jos Vooges | STH
cc7b7c8505 Fetch TMDB metadata in Dutch and improve Stremio stream labels.
Show quality (1080p/4K) as the stream badge with codec and filename details underneath.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 03:25:38 +02:00
Jos Vooges | STH
196e78d1f0 Stop HELLO from overwriting node publicStreamUrl.
Admin can fix URL typos without recreating the Unraid container env.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 03:04:29 +02:00
Jos Vooges | STH
974b3124d0 Fail closed on missing playback ACK; log node /play hits for diagnosis.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:47:41 +02:00
Jos Vooges | STH
2aac72cd71 Revert stream proxy: Stremio plays directly from the media node.
Master only creates the playback session and returns the node URL.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:45:16 +02:00
Jos Vooges | STH
97de6439b5 Proxy Stremio playback through Master to avoid node hairpin NAT.
Clients only talk to master.vonas.nl; Master fetches the node stream server-side and pipes Range responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:44:30 +02:00
Jos Vooges | STH
6f78f13af5 Serve direct node stream URLs; ACK library sync without blocking WS.
Stremio was hanging on Master 307 redirects. Sessions are created in stream.json with the node play URL. Full sync ACKs immediately so playback stays responsive.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:40:50 +02:00
Jos Vooges | STH
181ab0b7f6 Fix Fastify 5 redirect signature for playback.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:36:24 +02:00
Jos Vooges | STH
0608020556 Stop Stremio binge prefetch creating phantom next-episode streams.
Remove bingeGroup, skip session creation on HEAD probes, and hide stale sessions in admin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:35:29 +02:00
Jos Vooges | STH
b1d008e8aa Fix playback hang: raise stream connection limit and freshen sessions.
Stremio opens many Range requests behind NPM; max 8 per IP caused stalls. Use lazy play URLs, hex tokens, CORS, and validate files before session ACK.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:34:09 +02:00
Jos Vooges | STH
eb8ae1e85a Fix Stremio playback, folder-aware scan, and remove STH branding.
Parse Plex-style Title (Year) and Show/Season folders; restore notWebReady with direct node stream URLs; hide unavailable titles by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 02:16:46 +02:00
Jos Vooges | STH
93dbf44fb8 Fix LibraryEventType switch cases for TypeScript build.
Use FILE_ADDED/FILE_UPDATED/FILE_REMOVED to match shared-types.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 01:59:28 +02:00
Jos Vooges | STH
7519c9228f Batch full library sync over WebSocket to avoid connection resets.
Large libraries (~30k files) overflowed a single WS message; sync now runs in ACK'd batches with event buffering on the node.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 01:58:31 +02:00
Jos Vooges | STH
7741500e73 Fix Stremio playback: lazy sessions, remove notWebReady, node ACK.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 01:47:54 +02:00
Jos Vooges | STH
3a7151e3ae Add one-command Unraid media-node install via Master.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 01:16:47 +02:00
Jos Vooges | STH
39ecf1af56 Fix admin session cookie by setting it on the admin domain after login.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 01:00:16 +02:00
Jos Vooges | STH
29595dd98f Fix Fastify Stremio routes: wildcard must be last path segment.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 00:55:20 +02:00
Jos Vooges | STH
4e232e8ef6 Fix master-api Docker runtime: flat deps, explicit env, longer health start period.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 00:48:41 +02:00
Jos Vooges | STH
a5c6fd5fe4 Initial commit: Distributed Stremio Media Cluster V1
Master API, Admin UI, Go media-node, Docker/Dokploy deploy configs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 00:17:04 +02:00