Commit graph

  • 8bc460025d screens-home: fix launcher tile icons main ZGaetano 2026-05-31 00:19:34 -0400
  • 3578c7b4e9 fix(playout): Privileged only for decklink (SRT/NDI/RTMP/HLS crashed when GPU exposed without driver) ZGaetano 2026-05-30 18:59:27 -0400
  • cddcc9a29e fix(mam-api): selfHeartbeat writes last_seen_at so primary node isn't stale-failover-killed ZGaetano 2026-05-30 18:57:20 -0400
  • 0e844c0fc3 fix(scheduler): use updated_at as grace anchor when last_heartbeat_at NULL ZGaetano 2026-05-30 17:32:15 -0400
  • 551af09dc7 fix(playout): install libnss3 so CEF can init (NSS -8023 was killing the channel ~30s in) ZGaetano 2026-05-30 17:16:54 -0400
  • 4d6a999665 fix(playout): pre-create NSS dir + CEF cache so CEF/HTML producer doesn't SIGABRT ZGaetano 2026-05-30 17:14:07 -0400
  • f971d57bb9 fix(playout): use unzip not python zipfile (preserves exec bits) ZGaetano 2026-05-30 17:00:25 -0400
  • 7ab70948a0 fix(playout): entrypoint handles 2.4.x bin/casparcg layout + LD_LIBRARY_PATH for bundled libs ZGaetano 2026-05-30 16:50:04 -0400
  • 13bbd4216e fix(playout): correct 2.4.0 zip layout — binary is at casparcg_server/bin/casparcg ZGaetano 2026-05-30 16:49:48 -0400
  • fcd8e8dd2e fix(playout): entrypoint finds binary in /opt/casparcg for 2.4.x tarball layout ZGaetano 2026-05-30 16:44:23 -0400
  • 67ac007706 fix(playout): downgrade CasparCG to 2.4.0 ubuntu22 zip (2.5 requires AVX2, ZAMPP has AVX only) ZGaetano 2026-05-30 16:44:07 -0400
  • b4f2fb12ff fix(mam-api): heartbeat writes last_seen_at so playout failover sees healthy nodes ZGaetano 2026-05-30 16:32:11 -0400
  • aa7f836493 fix(playout): strip XML comments from casparcg.config (2.5 rejects them) ZGaetano 2026-05-30 16:30:54 -0400
  • c2409bd037 fix(mam-api): add last_seen_at to cluster_nodes for playout failover ZGaetano 2026-05-30 13:39:06 -0400
  • 42064acefa shell: fix nav icon conflicts ZGaetano 2026-05-30 13:30:42 -0400
  • 2e2b091653 icons: fix 4 icon issues found in audit ZGaetano 2026-05-30 13:29:18 -0400
  • c502d4a16f feat(web-ui): update home tagline + add "Let's create" motto Zac 2026-05-30 16:04:28 +0000
  • 9d098e9778 feat(auth-ui): interactive permissions matrix, admin 2FA reset, Downloads button Zac 2026-05-30 15:59:27 +0000
  • 02631f7b96 fix(playout): locate CasparCG 2.5 binary at /usr/bin/casparcg-server-2.5 Zac 2026-05-30 15:34:02 +0000
  • 9436434599 fix(playout): build CasparCG 2.5.0 from .deb (2.3.3 tarball was a dead URL) Zac 2026-05-30 15:25:31 +0000
  • f837e57969 feat(web-ui): add Playout tile to home screen Zac 2026-05-30 14:59:59 +0000
  • ca71e47035 fix(playout): repair failover, authenticate scheduler self-calls, fix playlist walk + CasparCG consumer syntax feat/playout-mcr Zac 2026-05-30 14:51:35 +0000
  • 34352e3299 docs(playout): work log — commit map, decisions, testing checklist Zac 2026-05-30 13:18:55 +0000
  • d505a488ac build(playout): compose wiring + .env knobs Zac 2026-05-30 13:18:16 +0000
  • 793011b78b feat(web-ui): MCR page — channels, playlist, transport, preview Zac 2026-05-30 13:18:08 +0000
  • 5538683d78 feat(mam-api): /playout control plane + auto-failover Zac 2026-05-30 13:18:01 +0000
  • d62af34e98 feat(playout): CasparCG sidecar image + Node AMCP shim Zac 2026-05-30 13:17:49 +0000
  • 209f9fda52 feat(worker): playout-stage job — S3 → /media + EBU R128 loudnorm Zac 2026-05-30 13:17:40 +0000
  • 29187a90df feat(mam-api): migration 029 — playout schema Zac 2026-05-30 13:17:33 +0000
  • 512267159a docs(playout): MCR design spec — Phase A playlist + Phase B 24/7 Zac 2026-05-30 13:17:26 +0000
  • 72fc608d8a fix(mam-api): harden TOTP login flow + tighten Google domain check feat/user-permissions Zac 2026-05-30 12:52:53 +0000
  • 3fe7d6bba2 fix(mam-api): close cross-project authz gaps in assets/bins/jobs/upload Zac 2026-05-30 12:52:29 +0000
  • 2615143c6d feat(mam-api): finish per-project authz on the deferred routers Zac 2026-05-30 03:48:02 +0000
  • 0c3a4b625f feat(mam-api,web-ui): Google OAuth (OIDC) sign-in Zac 2026-05-30 02:51:59 +0000
  • fff0828d79 feat(mam-api,web-ui): TOTP two-factor authentication Zac 2026-05-30 02:42:57 +0000
  • ec026195eb feat(mam-api,web-ui): per-project RBAC (v2 auth layer) Zac 2026-05-30 02:37:36 +0000
  • 9d6bbf8112 fix(mam-api): /stream returns MP4 url + separate hls_url (fixes Premiere import) zgaetano 2026-05-29 21:44:52 -0400
  • b449ef0ce3 fix(worker): YouTube importer prefers H.264 so originals import in Premiere zgaetano 2026-05-29 21:21:44 -0400
  • 39ef551489 feat(uxp): ship the icon-rail panel redesign as v2.2.2 (recover from redesign branch) zgaetano 2026-05-29 20:45:29 -0400
  • 8f26f1bd9a ui(web-ui): Projects above Library in nav + $ icon for Billing zgaetano 2026-05-29 20:17:42 -0400
  • a7ef0397e1 fix(web-ui): show live download % on YouTube import bar zgaetano 2026-05-29 19:53:19 -0400
  • cf1fe136d0 fix(worker): route import queue to a consumer + refresh stale yt-dlp zgaetano 2026-05-29 19:51:27 -0400
  • 0818f15498 fix(s3): land NodeHttpHandler request/connection timeout in main Zac Gaetano 2026-05-29 17:26:59 -0400
  • 4473427515 Merge remote-tracking branch 'wilddragon/feat/recorder-codec-bitrate' into integrate Zac Gaetano 2026-05-29 17:25:28 -0400
  • 9b47250388 feat(recorder): default All-Intra HEVC (NVENC) + custom bitrate, auto fps/res, source-bitrate warning feat/recorder-codec-bitrate Zac Gaetano 2026-05-29 17:04:00 -0400
  • 8ea750f5df feat(playback): HLS VOD rendition for browser (supplements MP4 proxy) feat/hls-vod-playback Zac Gaetano 2026-05-29 16:18:15 -0400
  • a28dc43ed5 docs: HLS VOD playback design (supplement MP4 proxy) Zac Gaetano 2026-05-29 16:13:29 -0400
  • 35fd9c0253 feat(web-ui): serve UXP (.ccx) plugin, remove legacy ZXP panel feat/uxp-plugin-swap Zac Gaetano 2026-05-29 14:20:46 -0400
  • 0ee0cb91ef build(capture): nvenc-enabled ffmpeg Dockerfile (validated build) feat/nvenc-hevc-ingest Zac Gaetano 2026-05-29 13:33:37 -0400
  • 9210b41589 fix(capture): working All-Intra HEVC NVENC config (validated on L4) Zac Gaetano 2026-05-29 13:23:44 -0400
  • f2542bc929 feat(nvenc): GPU sidecar passthrough + All-Intra HEVC capture codec Zac Gaetano 2026-05-29 12:30:01 -0400
  • 68c8f47c8f feat(capture): rebuild ffmpeg w/ nv-codec-headers + NVENC/CUVID for All-Intra HEVC feat/all-intra-hevc-ingest ZGaetano 2026-05-29 00:51:56 -0400
  • 17bf086ef2 feat(web-ui): publish UXP panel v2.2.2 .ccx and repoint download buttons redesign/panel-icon-rail Zac Gaetano 2026-05-29 00:36:38 -0400
  • 0f6c715a30 docs: All-Intra HEVC (NVENC) growing-file ingest design Zac Gaetano 2026-05-29 04:16:17 +0000
  • fdec2e307d feat(worker): capability-routed GPU worker pool + per-node job attribution Zac Gaetano 2026-05-29 04:00:10 +0000
  • dac5213354 fix(uxp-panel): Export chooser is a full-panel screen, not a clipped popup Zac Gaetano 2026-05-28 23:57:54 -0400
  • 3f203f326e feat(uxp-panel): single Export menu, Upload to MAM, Local Export, auto-upload Zac Gaetano 2026-05-28 23:48:30 -0400
  • 92b460f503 fix(recorder): finalise live asset on stop + add live SDI monitor Zac Gaetano 2026-05-29 03:20:02 +0000
  • 7e9f1277d4 fix(uxp-panel): rebuild Export & Conform panel - declutter + fix overlap Zac Gaetano 2026-05-28 23:13:15 -0400
  • 9d8adbbbc1 feat(uxp-panel): fix hover tooltips + add compact list view toggle Zac Gaetano 2026-05-28 23:05:52 -0400
  • 3430ef823e fix(uxp-panel): icon controls as <div role=button> so UXP renders them Zac Gaetano 2026-05-28 22:55:45 -0400
  • 500599a955 fix: pass CAPTURE_TOKEN env var to mam-api container ZGaetano 2026-05-28 22:13:36 -0400
  • 634f1842bd fix: add Bearer auth to capture sidecar callback and pass CAPTURE_TOKEN Zac Gaetano 2026-05-29 01:57:39 +0000
  • 08a0fb1b60 fix(uxp-panel): use ::before pseudo-element to cover native button chrome Zac Gaetano 2026-05-28 21:09:09 -0400
  • 453103aee6 fix: use external MAM_API_URL for remote capture sidecars; add cluster metrics endpoint and dashboard resource graphs Zac Gaetano 2026-05-29 01:04:24 +0000
  • dd438b597a fix(uxp-panel): render icons as filled SVGs so UXP draws them Zac Gaetano 2026-05-28 20:44:50 -0400
  • 8746d71af1 fix(premiere-panel): reset native button chrome on icon buttons Zac Gaetano 2026-05-28 20:32:30 -0400
  • 6f64b55824 feat(ui): add 'Cancel all failed' button to Jobs screen ZGaetano 2026-05-29 00:02:55 +0000
  • 303f12e0f9 ui: add Billing admin nav, drop Editor nav, replace Editor tile with Premiere panel download modal ZGaetano 2026-05-29 00:01:19 +0000
  • 342b56af35 ui: full audit pass (fixes #146, #147, #148, #149, #151, #152, #153, #154, #155) ZGaetano 2026-05-28 23:50:07 +0000
  • f54c49d2dc fix(web-ui): fix duplicate DeckLink groups in new-recorder modal; refactor device pickers ZGaetano 2026-05-28 23:18:55 +0000
  • 888ca65045 feat(capture): Deltacast SDI framework — test-card capture, cluster detection, UI ZGaetano 2026-05-28 23:12:40 +0000
  • b6f5b9b407 fix(capture): disable concurrent SDI proxy ffmpeg — DeckLink Duo 2 rejects second reader ZGaetano 2026-05-28 22:36:06 +0000
  • 354731a363 fix(capture): fix DeckLink device name enumeration for SDI port 2+; add per-take project selector on Recorders page ZGaetano 2026-05-28 22:25:56 +0000
  • 6a161c7133 feat(premiere-panel): icon-rail redesign with hover tooltips Zac Gaetano 2026-05-28 17:57:26 -0400
  • 1fcb927d26 feat(web-ui): library Download button + dismissable size warning (#145) Claude 2026-05-28 16:14:24 -0400
  • 6bc6478270 feat(worker): conform — queue proxy build for the conformed output Claude 2026-05-28 15:49:01 -0400
  • 446a563647 fix(worker): conform — write ProRes/DNxHR to MOV, not MP4 Claude 2026-05-28 15:40:53 -0400
  • 71d8944a01 fix(worker): conform — use aformat for channel layout (ffmpeg 8 dropped aresample ocl) Claude 2026-05-28 15:37:35 -0400
  • 686b90294b fix(worker): conform — 2-pass strategy (normalise on trim, demux on concat) Claude 2026-05-28 15:34:52 -0400
  • fcf4c8bbe7 fix(worker): conform — lock fps + sample rate in concat filter graph Claude 2026-05-28 15:21:23 -0400
  • 94b6710e2d fix(worker): conform — concat-filter for mixed source formats Claude 2026-05-28 15:04:55 -0400
  • 6412b5c252 fix(worker): conform — preserve audio + map ProRes/DNxHR codecs Claude 2026-05-28 14:32:49 -0400
  • 56d7479a35 fix(mam-api): pass project_id into conform job so render can register the asset Claude 2026-05-28 14:24:04 -0400
  • aeecb6e32a fix(worker): conform — resolve clips from sequence_clips instead of filename Claude 2026-05-28 14:08:49 -0400
  • 0abef056e7 fix(uxp+mam-api): Export Timeline render — xmeml schema + BullMQ job poll Claude 2026-05-28 13:58:13 -0400
  • 540d333758 feat(uxp): v2.2.1 — Export Timeline is now one-click push + render → asset Claude 2026-05-28 13:28:51 -0400
  • e4e69973e5 ui(uxp): v2.2.0 — density pass: drop details panel, tighter buttons, collapsible Advanced Claude 2026-05-28 13:03:56 -0400
  • c3b087020d ui(uxp): v2.1.9 — visible version chip + diagnose multi-version install Claude 2026-05-28 12:00:50 -0400
  • c2a6c1557b ui(uxp): v2.1.8 — density redesign on top of v2.1.7 Claude 2026-05-28 11:51:47 -0400
  • b04882a310 release(uxp): v2.1.7 — fix resource busy + export timeline robustness Dragonflight Deploy 2026-05-28 11:12:49 -0400
  • 60e5093c6b fix(uxp): null-safe Time object access in readActiveSequence ZGaetano 2026-05-28 11:12:32 -0400
  • 382f432693 fix(uxp): resolve "Resource busy" on re-import of same asset ZGaetano 2026-05-28 11:11:32 -0400
  • e533566ae2 release(uxp): v2.1.6 — fix thumbnail auth (bearer fetch + blob URL) Dragonflight Deploy 2026-05-28 09:53:34 -0400
  • c3e4306d9f fix(uxp): fetch thumbnails via API.request() to carry Bearer token ZGaetano 2026-05-28 09:41:26 -0400
  • eeb0d9f65f UXP v2.1.5b: main.js relink handler await fix + artifact Zac Gaetano 2026-05-28 09:15:24 -0400
  • 7f0ca5922f UXP v2.1.5: main.js — fix relink handler: await getActiveProject, use requestExternal + arrayBuffer ZGaetano 2026-05-28 09:15:06 -0400
  • 469521d524 UXP v2.1.5 release artifact Zac Gaetano 2026-05-28 09:07:15 -0400
  • 07840441b9 UXP v2.1.5: bump manifest version ZGaetano 2026-05-28 09:07:00 -0400
  • 5774f61ac7 UXP v2.1.5: timeline.js — await all premierepro calls; runtime is async ZGaetano 2026-05-28 09:06:43 -0400