dragonflight/services
ZGaetano 727bdaae80 feat(growing): auto-promotion scanner + hours-based delay setting
The growing_promote_after_seconds setting was stored but NEVER read — no
scanner existed, so growing clips only left the SMB share on a manual
right-click 'Move to S3'. This adds the missing automation:

- promotion-scanner.js: every 60s, finds pending_migration assets idle
  (updated_at) longer than settings.growing_promote_after_seconds and
  enqueues a promotion job. Idempotent (status guard + stable jobId) so
  it's safe on every promotion worker. 12h default fallback.
- worker/index.js: starts the scanner on promotion-capable workers.
- Settings UI: the delay field is now 'Auto-promote to S3 after (hours)'
  (converts hours<->seconds; storage stays seconds). Notes the manual
  Library right-click 'Move to S3' option too.

Manual promotion (right-click Move to S3) and the safe HLS-segment live
thumbnail were already implemented and working.
2026-06-04 13:14:03 +00:00
..
capture fix(growing): read GROWING_ENABLED from env at record time + drop dead const 2026-06-04 13:02:23 +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(s3): keep-alive agents + long timeouts to end socket starvation 2026-06-04 12:53:28 +00:00
node-agent fix(node-agent): proper stdcopy demux for container logs (clean line starts) 2026-06-04 05:29:56 +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 feat(growing): auto-promotion scanner + hours-based delay setting 2026-06-04 13:14:03 +00:00
worker feat(growing): auto-promotion scanner + hours-based delay setting 2026-06-04 13:14:03 +00:00