Commit graph

  • c08025eeb2 web-ui: wave-1 foundation — services/web-ui/src/css/components/button.css Zac Gaetano 2026-05-21 12:30:35 -0400
  • 30cb6663dd web-ui: wave-1 foundation — services/web-ui/src/css/components/badge.css Zac Gaetano 2026-05-21 12:30:35 -0400
  • e256a771d5 web-ui: wave-1 foundation — services/web-ui/src/css/app.css Zac Gaetano 2026-05-21 12:30:34 -0400
  • 3df6a4434e web-ui: wave-1 foundation — services/web-ui/postcss.config.js Zac Gaetano 2026-05-21 12:30:34 -0400
  • 9d99811272 web-ui: wave-1 foundation — services/web-ui/package.json Zac Gaetano 2026-05-21 12:30:33 -0400
  • c97759dc4e docs: UI shell rework wave-1 implementation plan Zac Gaetano 2026-05-21 10:53:31 -0400
  • b77a370eb7 docs: clarify responsive viewport tiers in UI rework spec Zac Gaetano 2026-05-21 10:45:59 -0400
  • b36e859c06 docs: UI shell rework design spec (2026-05-21) Zac Gaetano 2026-05-21 10:45:08 -0400
  • fd955076dd web-ui: fix codec/settings panel clipping in recorders.html Zac Gaetano 2026-05-21 14:10:24 +0000
  • 89ceef444e web-ui: include auth-guard.js on home.html and projects.html so the IN DEV badge renders on those pages too Zac Gaetano 2026-05-21 14:01:52 +0000
  • 00bf112b5a web-ui: replace editor.html with under-construction screen Zac Gaetano 2026-05-21 09:59:29 -0400
  • 16a1fe604f web-ui: tag IN DEV pages in sidebar from auth-guard Zac Gaetano 2026-05-21 09:59:29 -0400
  • f6c0594088 web-ui: rewrite recorders.html with tabbed codec settings + BMD card picker Zac Gaetano 2026-05-21 09:47:32 -0400
  • 8403355ba9 docs: add handoff plan for cluster + codec revamp session Zach Gaetano 2026-05-21 13:13:42 +0000
  • 4a3a672cbe cluster: stable hostname for mam-api, jq-based smoke test Zach Gaetano 2026-05-21 11:50:52 +0000
  • 8aa378348e deploy: add cluster smoke-test script; remove rate-limit probe Zach Gaetano 2026-05-21 11:31:21 +0000
  • 97628bb67d chore: remove cloudflare rate-limit probe ZGaetano 2026-05-21 07:34:47 -0400
  • 46676bf80d test: rate-limit probe ZGaetano 2026-05-21 00:32:09 -0400
  • 0ebb3cffe4 onboard-node: auto-detect host LAN IP and pass NODE_IP + BMD_MODEL ZGaetano 2026-05-21 00:20:46 -0400
  • d39f86d9c5 ui: add bmd-card.js — visual DeckLink port picker ZGaetano 2026-05-21 00:19:51 -0400
  • f4a83eedc4 capture-manager: dynamic ffmpeg args from per-recorder codec config ZGaetano 2026-05-21 00:19:00 -0400
  • 4c65753358 recorders route: accept full codec field set + node/port pinning ZGaetano 2026-05-21 00:17:45 -0400
  • 0efef0d81b cluster route: fallback IP from request + /devices/blackmagic endpoint ZGaetano 2026-05-21 00:16:36 -0400
  • 485af25d4a capture bootstrap: forward every codec env var to captureManager.start ZGaetano 2026-05-21 00:16:03 -0400
  • 3b4af6ef11 node-agent: prefer NODE_IP and skip docker bridge interfaces ZGaetano 2026-05-21 00:15:03 -0400
  • 40a66bae03 worker compose: run node-agent in host network mode ZGaetano 2026-05-21 00:14:33 -0400
  • 049beb8818 recorders: add granular codec / container / port columns ZGaetano 2026-05-21 00:14:11 -0400
  • a39c9831c5 cluster: dedupe rows + enforce unique hostname index ZGaetano 2026-05-21 00:14:01 -0400
  • 066b9b17d3 feat: expand GPU transcoding settings (extension, framerate, rc mode, audio) ZGaetano 2026-05-20 23:41:42 -0400
  • 629022ab5f fix(worker): use npm install instead of npm ci — no package-lock.json present ZGaetano 2026-05-20 23:29:15 -0400
  • cc8ee63639 fix(node-agent): replace express with built-in http — no external deps needed ZGaetano 2026-05-20 22:59:03 -0400
  • 21d31f1678 mam-api: switch base image to node:22-slim (glibc) so host nvidia-smi binary runs ZGaetano 2026-05-20 19:19:33 -0400
  • 4d101bc812 mam-api: mount host nvidia-smi into container for GPU detection ZGaetano 2026-05-20 19:18:03 -0400
  • 1e4e2e436f mam-api: add NODE_IP env passthrough and NVIDIA GPU device reservation ZGaetano 2026-05-20 18:59:55 -0400
  • 74299629e6 feat: detect GPUs via nvidia-smi and populate cluster_nodes capabilities ZGaetano 2026-05-20 17:25:11 -0400
  • a4b9b5be82 fix: prefer NODE_IP env var in getLocalIp() for Docker deployments ZGaetano 2026-05-20 16:16:09 -0400
  • a926da1c30 feat: add settings key-value table migration ZGaetano 2026-05-20 15:57:23 -0400
  • 11e1de1cf8 feat: add S3 / Object Storage settings section ZGaetano 2026-05-20 15:55:34 -0400
  • 7032cee6b3 feat: call loadS3ConfigFromDb() on startup after migrations ZGaetano 2026-05-20 15:53:26 -0400
  • 02cfa68b92 fix(assets): replace static S3_BUCKET with getS3Bucket() for dynamic config ZGaetano 2026-05-20 15:49:40 -0400
  • 737e69d72f fix(upload): replace static S3_BUCKET with getS3Bucket() for dynamic config ZGaetano 2026-05-20 15:48:48 -0400
  • ab504841c3 feat(settings): add S3 / object-storage settings routes (GET, PUT, test) ZGaetano 2026-05-20 15:48:14 -0400
  • b1457f0aad feat(s3): dynamic DB-driven config with rebuildS3Client + Proxy export ZGaetano 2026-05-20 15:47:40 -0400
  • beb58d3cd6 Add Settings nav link to sidebar ZGaetano 2026-05-20 15:07:36 -0400
  • 2f48d0243b Add Settings nav link to sidebar ZGaetano 2026-05-20 15:06:41 -0400
  • cfdd0d1a55 Add Settings nav link to sidebar ZGaetano 2026-05-20 15:05:16 -0400
  • 0318d15c76 Add Settings nav link to sidebar ZGaetano 2026-05-20 15:02:09 -0400
  • 0433fc8805 fix(home): prevent bottom cutoff — safe center + remove min-height: 100% ZGaetano 2026-05-20 15:01:50 -0400
  • 777fa7fc2b Add Settings nav link to sidebar ZGaetano 2026-05-20 14:56:04 -0400
  • 53392608e5 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:51:37 -0400
  • b7c7bb1662 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:50:02 -0400
  • 81d51577b8 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:47:54 -0400
  • dd1c40c9c8 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:45:49 -0400
  • 7c37eababd Add Settings nav link to sidebar ZGaetano 2026-05-20 14:42:46 -0400
  • 6d371beda9 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:39:36 -0400
  • 53805f2c59 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:37:38 -0400
  • 74e87359e2 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:36:03 -0400
  • 5e2683aba7 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:32:34 -0400
  • fe921d0444 Add Settings nav link to sidebar ZGaetano 2026-05-20 14:29:41 -0400
  • 12a52c40c9 feat: settings.html — GPU transcoding, SDI capture routing, AMPP integration ZGaetano 2026-05-20 14:21:18 -0400
  • 7486539b32 feat: worker compose adds capture profile (BMD DeckLink) and GPU env vars ZGaetano 2026-05-20 14:19:21 -0400
  • a55c182be9 feat: docker-compose.gpu.yml overlay — NVIDIA GPU pass-through + NVENC worker ZGaetano 2026-05-20 14:19:02 -0400
  • 76281b7564 feat: GPU worker Dockerfile using CUDA base with ffmpeg NVENC support ZGaetano 2026-05-20 14:18:55 -0400
  • 1725ec1de9 feat: settings routes for hardware inventory, GPU transcoding, capture service URL ZGaetano 2026-05-20 14:18:43 -0400
  • dd3c2894f6 feat: cluster heartbeat stores capabilities (GPU/BMD hardware detection) ZGaetano 2026-05-20 14:18:22 -0400
  • a941f609f0 feat: node-agent detects NVIDIA GPUs and Blackmagic DeckLink cards, reports in heartbeat ZGaetano 2026-05-20 14:18:07 -0400
  • 86d2960b60 feat: add capabilities column to cluster_nodes (migration 005) ZGaetano 2026-05-20 14:17:44 -0400
  • 28a97e2ba3 fix(deploy): test-api.sh — skip capture 404 (sidecar/idle mode is normal) ZGaetano 2026-05-20 13:56:26 -0400
  • 5161644205 fix(capture): handle non-JSON responses from capture service gracefully ZGaetano 2026-05-20 13:55:06 -0400
  • 96ef569720 fix(deploy): test-api.sh — fix login POST, sequences 400, settings/ampp path ZGaetano 2026-05-20 13:54:30 -0400
  • 115c7340ee fix(deploy): test-api.sh — fix curl -f flag swallowing 4xx, fgrep for literal [, correct /auth/me path ZGaetano 2026-05-20 13:52:59 -0400
  • 4dd377e28d feat(cluster): add GET /:id/ping to probe node agent reachability and latency ZGaetano 2026-05-20 13:49:56 -0400
  • 3128ab43b3 feat(deploy): test-api.sh — API smoke test covering all major endpoints ZGaetano 2026-05-20 13:49:35 -0400
  • 0b49f28a80 feat(deploy): onboard-node.sh — one-command cluster node provisioning ZGaetano 2026-05-20 13:49:05 -0400
  • 0b255e063f feat(deploy): docker-compose.worker.yml for cluster worker nodes ZGaetano 2026-05-20 13:48:27 -0400
  • c5a358888b feat(node-agent): heartbeat agent — CPU/mem stats, health endpoint, bearer token auth ZGaetano 2026-05-20 13:48:18 -0400
  • 0bc1ac9161 feat(node-agent): add Dockerfile ZGaetano 2026-05-20 13:47:57 -0400
  • feb78b8bcb feat(node-agent): add package.json for cluster heartbeat agent ZGaetano 2026-05-20 13:47:53 -0400
  • 86b80e043e fix: correct sidebar logo alt text in projects.html (Z-AMPP → Wild Dragon) ZGaetano 2026-05-20 09:17:05 -0400
  • 398ee8b932 fix: standardize sidebar icons in containers.html (containers/cluster/logout) ZGaetano 2026-05-20 09:15:14 -0400
  • 44277bced6 fix: standardize sidebar icons in cluster.html (containers/cluster/logout) ZGaetano 2026-05-20 09:14:11 -0400
  • ea04b8f9e1 fix: standardize sidebar icons in editor.html (containers/cluster/logout) ZGaetano 2026-05-20 09:12:02 -0400
  • ede55a8a5f feat(plugin): add seq info bar, export panel, and 2-row action bar styles ZGaetano 2026-05-20 00:38:59 -0400
  • 9ba3bf6f83 feat(plugin): add seq info bar, hi-res button, export panel to panel UI ZGaetano 2026-05-20 00:38:09 -0400
  • 16888d62e2 feat(plugin): proxy URL fix, hi-res import, import path tracking, timeline export ZGaetano 2026-05-20 00:37:34 -0400
  • 5bb22c17c8 feat(plugin): add exportTimelineData() and getProjectItems() to ExtendScript ZGaetano 2026-05-20 00:35:18 -0400
  • a855ea7885 feat(api): add GET /assets/:id/hires endpoint for original file download ZGaetano 2026-05-20 00:34:18 -0400
  • f7aedb1936 fix(ui): normalize sidebar — add Containers + Cluster to all 8 remaining pages Zac Gaetano 2026-05-20 00:22:57 -0400
  • 879c547e08 home: add Containers + Cluster cards, fix Editor link, extend loadStats ZGaetano 2026-05-20 00:02:48 -0400
  • 0c761d553c feat(ui): cluster node registry page — health, CPU, memory, deregister ZGaetano 2026-05-19 23:58:17 -0400
  • e3cdf70883 feat(ui): Docker container management page — restart, stop, start ZGaetano 2026-05-19 23:57:23 -0400
  • 1e9710ce0c feat(editor): thumbnail images in media panel; Del=ripple, Shift+Del=lift ZGaetano 2026-05-19 23:56:23 -0400
  • 090452969c feat(api): register system + cluster routes; add self-heartbeat on startup ZGaetano 2026-05-19 23:50:19 -0400
  • 66844b93d3 feat(cluster): node registry API — heartbeat, list, deregister ZGaetano 2026-05-19 23:46:16 -0400
  • bd8b492ff6 feat(db): cluster_nodes table for multi-server registry ZGaetano 2026-05-19 23:46:06 -0400
  • 910a906600 feat(system): Docker container management via Unix socket ZGaetano 2026-05-19 23:46:03 -0400
  • 89771a2380 feat(timeline): ripple delete on Del, extract/lift on Shift+Del ZGaetano 2026-05-19 23:45:41 -0400
  • a5823effe9 feat(assets): add ?redirect=1 to thumbnail endpoint for img src use ZGaetano 2026-05-19 23:44:17 -0400
  • 36e668455f feat(editor): media-panel search, sequence duration badge, parseFloat guard ZGaetano 2026-05-19 23:27:25 -0400
  • 4d0e715982 fix(sequences): coerce NUMERIC frame_rate to float in all API responses ZGaetano 2026-05-19 23:24:16 -0400