dragonflight/services/mam-api/src
opencode a44d8bd7c9 feat(admin): live video-presence indicators on cluster DeckLink ports
Adds per-port video signal state to the admin Cluster panel:

- New GET /cluster/devices/blackmagic/signal endpoint joins recorders by
  node_id+device_index and queries each active capture container's
  /capture/status (local: http://recorder-<id>:3001, remote: api_url/
  sidecar/<container_id>/status).  Returns receiving/connecting/lost/
  error/idle/no-recorder per port plus framesReceived and currentFps.

- bmd-card.js render() now accepts portSignals (Map or object) and
  overlays a colored dot on each BNC connector with pulse animation
  for receiving/connecting states.

- screens-admin.jsx Cluster panel polls the new endpoint every 5s,
  feeds the signal map into both the port chips (now show
  RECEIVING/CONNECTING/LOST + fps) and the BMD SVG card diagram
  rendered below them via a new BmdCardPanel component.

- styles-fixes.css adds bmd-card-* styles for the SVG diagram and
  bmd-port-signal --pulse animation.
2026-05-26 22:02:38 +00:00
..
ampp feat: AMPP folder sync integration — pre-create folder hierarchy on upload, expose lookup endpoint for Script Task: client.js 2026-04-18 13:42:07 -04:00
db feat: server-side filmstrip worker + fix scheduler crash + fix clip freeze 2026-05-26 16:39:44 +00:00
middleware feat(mam-api): add auth middleware with session and Bearer token support 2026-05-18 12:45:15 -04:00
routes feat(admin): live video-presence indicators on cluster DeckLink ports 2026-05-26 22:02:38 +00:00
s3 fix: close all 24 open issues (#40–#94) 2026-05-26 14:10:44 +00:00
tasks feat(server): temp segments cleanup task 2026-05-24 12:43:08 -04:00
index.js feat(server): temp segments cleanup task 2026-05-24 12:43:08 -04:00
scheduler.js feat: server-side filmstrip worker + fix scheduler crash + fix clip freeze 2026-05-26 16:39:44 +00:00