dragonflight/services/mam-api/src
OpenCode 5c07b4e8b1 feat(assets): SMB tag + always-available S3 migrate for growing masters
- Growing-file masters (.mxf) are tagged smb on create (while live) and on
  pending-migration; the tag swaps to s3 once promoted.
- Migrate-to-S3 (promote) now accepts assets stuck in live (sidecar post-stop
  call never landed) in addition to pending_migration, guarded to .mxf SMB
  masters only.
- Promotion queue added to the Jobs tab QUEUES so SMB->S3 migrations are
  visible/trackable like other jobs.
- Library: SMB badge shows alongside LIVE for growing masters; Move to S3 shown
  for any SMB-origin asset (live-stuck or pending_migration).

Verified: stuck-live 5.4GB master migrated SMB->S3, job tracked in Jobs tab,
tags swapped smb->s3.
2026-06-05 03:37:59 +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
auth fix(audit): critical security hardening and ops reliability fixes 2026-06-03 10:42:57 +00:00
db feat(recorders): hardware-identity model with Enable/Disable lifecycle 2026-06-04 03:14:43 +00:00
middleware fix(playout): repair failover, authenticate scheduler self-calls, fix playlist walk + CasparCG consumer syntax 2026-05-30 14:51:35 +00:00
routes feat(assets): SMB tag + always-available S3 migrate for growing masters 2026-06-05 03:37:59 +00:00
s3 fix(s3): keep-alive agents + long timeouts to end socket starvation 2026-06-04 12:53:28 +00:00
tasks Revert "auth: top-to-bottom rework — local accounts, RBAC + client tag, audit log, env-bootstrap" 2026-05-27 03:28:05 +00:00
index.js fix(mam-api): selfHeartbeat writes last_seen_at so primary node isn't stale-failover-killed 2026-05-30 18:57:20 -04:00
scheduler.js fix(scheduler): orphan grace window must use recorder.updated_at not asset.updated_at — asset is created at recording START not STOP 2026-06-03 14:03:32 +00:00