Commit Graph
11 Commits
Author SHA1 Message Date
Media 270ede8b77 fix: allow genuinely new playlist ingest without fresh Player evidence
The evidence gate on enqueue_download blocked every download, including a
URL that could only land in a slot store.reserve_download already proves is
empty and unguarded. After a Controller-only restart with the Player still
connected and idle, no fresh detailed status ever arrives, so this could
deadlock all new ingest indefinitely even though nothing unsafe would occur.

Narrow the gate to only require fresh evidence when the URL already occupies
a non-empty slot (refresh/reuse). Deletion, expiry, and cleanup/recovery
gating are unchanged.
2026-08-07 17:01:39 -05:00
Media 5e81403be3 feat: overhaul video player controller 2026-08-06 20:08:12 -05:00
Media 72cc66df92 fix: pass mqtt credentials through compose 2026-08-06 19:30:22 -05:00
Media 63ea314b18 build: harden controller v2 runtime 2026-08-06 19:23:02 -05:00
Media 4e185b2e1c refactor: wire controller v2 into web runtime 2026-08-06 18:58:05 -05:00
Media 3ee7f94d72 feat: coordinate authoritative playback and audio routing 2026-08-06 18:52:01 -05:00
Media 8b3bdae8a0 feat: reduce authoritative player mqtt state 2026-08-06 17:41:07 -05:00
Media 45083207b4 feat: reserve downloads and protect slot cleanup 2026-08-06 17:34:11 -05:00
Media 3ff9ba4637 feat: add atomic state store and legacy migration 2026-08-06 17:31:02 -05:00
Media 9091f27283 test: characterize contracts and make startup explicit 2026-08-06 17:24:20 -05:00
Media fc27feaea1 initial commmit
A video player controller for the video player node
2026-06-14 14:34:34 -05:00