dragonflight/services
ZGaetano b508b203e3 fix(node-agent): reclaim capture port by PORT env, not image-tag regex
Burn test: only 3 of 8 Deltacast ports reached 'receiving'; the rest stuck
'connecting' forever. Root cause was NOT the board (all 8 SDI ports lock +
feed framecache at 60fps — verified 8 live shm cursors). It was orphaned
standby sidecars squatting host ports 7441-7445: new sidecars hit
EADDRINUSE, got zero frames, and getStatus() reported 'connecting' forever.

freeCapturePort() pre-filtered the container list by .Image regex, but after
a wild-dragon-capture:latest rebuild the Docker list API degrades older
containers' .Image to a bare image ID — so the tag regex silently SKIPPED
the exact orphans holding the ports. Now we match by PORT env (survives
rebuilds) and guard with the inspected Config.Image (which keeps the tag),
so a port is always reclaimed before a new sidecar binds. This makes
enable/disable 'just work' across image rebuilds.
2026-06-04 15:15:37 +00:00
..
capture fix(capture+gui): kill audio-drift regression + fix elapsed/signal status 2026-06-04 13:21:30 +00:00
framecache fix: declare all slot functions in slot.h to prevent 64-bit pointer truncation 2026-06-03 20:16:35 +00:00
mam-api fix(capture+gui): kill audio-drift regression + fix elapsed/signal status 2026-06-04 13:21:30 +00:00
node-agent fix(node-agent): reclaim capture port by PORT env, not image-tag regex 2026-06-04 15:15:37 +00:00
playout feat(playout): redesigned MCR screen + SCTE-35 end-to-end 2026-05-31 19:58:02 -04:00
premiere-plugin diag(premiere-plugin): v1.2.5 — no-op IIFE writes to Documents/ + reports lf.open result 2026-05-28 03:59:40 +00:00
premiere-plugin-uxp fix(uxp): remove broken v2.2.3 ccx — stay on v2.2.2 2026-06-03 16:07:32 +00:00
web-ui fix(capture+gui): kill audio-drift regression + fix elapsed/signal status 2026-06-04 13:21:30 +00:00
worker fix(worker): close promotion scanner queue on SIGTERM 2026-06-04 14:06:41 +00:00