dragonflight/services
Zac Gaetano 5968d4f681 feat(settings/growing): storage warning, SMB auth + CIFS mount, per-recorder growing
Implements docs/superpowers/specs/2026-05-31-storage-settings-growing-smb-design.md.

1. Storage warning banner at the top of Settings → Storage (set-once /
   path-change-corrupts-data warning).

2. Growing-files SMB credentials + system CIFS mount (Approach A):
   - settings.js: new global keys growing_smb_mount / growing_smb_username /
     growing_smb_vers; growing_smb_password is write-only (GET returns only
     growing_smb_password_exists; growing_smb_password_clear:true removes it).
   - GrowingSettingsCard: SMB mount/username/password (masked, "saved" state) +
     CIFS version fields.
   - capture Dockerfile: add cifs-utils + util-linux.
   - capture-manager: on growing start, mount //host/share at /growing using a
     root-only credentials file (creds never on the command line); unmount on
     stop; mount failure falls back to S3 streaming so a recording is never lost.
   - recorders.js: pass GROWING_SMB_* env; don't host-bind /growing when a CIFS
     mount is configured (an empty mountpoint is required).

3. Per-recorder growing mode (global toggle removed):
   - Removed the global "capture writes to local SMB share first" checkbox; the
     growing card is now SMB-infrastructure-only.
   - recorders.js reads the per-recorder recorders.growing_enabled column
     (already present from migration 014) instead of the global setting;
     RECORDER_FIELDS += growing_enabled.
   - New-recorder modal: "Growing-files mode" toggle.
   - storage.js overview: "enabled" now means the SMB landing zone is configured
     (mount source set), surfaced as smb_mount; health strip labels updated.

No DB migration required (recorders.growing_enabled exists; new settings are
key/value rows).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 14:50:36 -04:00
..
capture feat(settings/growing): storage warning, SMB auth + CIFS mount, per-recorder growing 2026-05-31 14:50:36 -04:00
mam-api feat(settings/growing): storage warning, SMB auth + CIFS mount, per-recorder growing 2026-05-31 14:50:36 -04:00
node-agent feat(nvenc): GPU sidecar passthrough + All-Intra HEVC capture codec 2026-05-29 12:35:23 -04:00
playout fix(playout): strip comments from casparcg.config (parser aborts on them) 2026-05-31 14:32:08 -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 feat(uxp): ship the icon-rail panel redesign as v2.2.2 (recover from redesign branch) 2026-05-29 20:45:29 -04:00
web-ui feat(settings/growing): storage warning, SMB auth + CIFS mount, per-recorder growing 2026-05-31 14:50:36 -04:00
worker fix(playout): silent-audio staging crash, home tiles, channel delete 2026-05-31 12:03:20 -04:00