328f7b4f31
feat: live HLS preview, proxy worker fixes, Settings tabs, growing-files + Premier panel
...
- worker/proxy: scale-to-even filter, analyzeduration 100M, skip images, hasAudio
- worker/promotion: SMB landing zone -> S3 on idle, queues proxy job, status='ready'
- web-ui screens-ingest: HlsPreview component replaces fake LiveStrip/FauxFrame
- web-ui screens-admin: functional Settings tabs (S3, GPU, Growing, SDI, AMPP)
- mam-api /settings/growing: GET/PUT growing-files config
- mam-api /assets/:id/live-path: SMB UNC/POSIX path for live growing assets
- capture-manager: GROWING_ENABLED -> write hires to /growing instead of S3 stream
- recorders.js: pass GROWING_ENABLED to capture container, bind /growing mount
- docker-compose: mount /mnt/NVME/MAM/wild-dragon-growing on mam-api + worker
- premiere-plugin: Mount Live button, Relink-to-HiRes, live->ready status poll
2026-05-22 19:12:53 -04:00
3fc8fbc230
add per-seat/per-stream/per-month strikethrough hero to Tokens page
2026-05-22 17:29:23 -04:00
ceceedf201
probe fallback: basic TCP/UDP connectivity when capture service is offline
2026-05-22 17:26:26 -04:00
4864db03f3
probe: fallback to basic TCP/UDP connectivity check when capture service is offline
2026-05-22 17:22:30 -04:00
8b57a9a35a
expand codec list, add MXF container, remove proxy settings (fixed profile)
2026-05-22 17:20:01 -04:00
fa787bbe1e
fix hover-to-play: remove status filter so any asset triggers stream fetch
2026-05-22 17:18:56 -04:00
0aa0922fd3
remove hardcoded recorders badge
2026-05-22 17:18:20 -04:00
1abf22623d
feat: hover-to-play video preview on library asset cards
...
Fetches stream URL on hover after 350ms delay; renders muted autoplay
video overlay over the thumbnail. Supports both mp4 and HLS streams.
Only triggers for ready/live assets to avoid pointless API calls.
2026-05-22 16:58:11 -04:00
4afd0c7b21
feat: add /cluster/containers endpoint via Docker socket
...
Lists all containers on the local host; supports POST /containers/:id/restart.
Falls back to [] gracefully if Docker socket is unavailable.
2026-05-22 16:57:33 -04:00
6f2de45819
feat: wire real video playback via GET /assets/:id/stream
...
- Fetch stream URL on asset open; show <video> element for mp4/hls
- Use hls.js for live HLS streams (loaded via CDN in index.html)
- Sync video play/pause/seek/timeupdate to React state
- Show loading state while fetching stream, status message when unavailable
- Add Retry processing button for error-status assets
- totalMs derived from video metadata when available, falls back to parseDuration
2026-05-22 13:37:55 -04:00
e3c3d60103
index: add hls.js for live stream HLS playback
2026-05-22 13:31:57 -04:00
81324c8e52
shell: add Field component (used by modal-new-recorder, was missing from global scope)
2026-05-22 12:56:33 -04:00
bec58ab138
screens-asset: fix thumbGrad crash, parseDuration NaN, guard missing ACTIVITY
2026-05-22 12:49:33 -04:00
451bed834f
screens-admin: wire all buttons — invite user, export CSV, cluster refresh, container logs/restart, node drain/remove
2026-05-22 12:27:02 -04:00
d00e1c666e
screens-ingest: wire delete button on RecorderRow
2026-05-22 12:24:10 -04:00
ddb4cf0c51
feat: add POST /jobs/:id/retry endpoint for re-queuing failed BullMQ jobs
2026-05-22 12:18:53 -04:00
fea0f2962b
fix: wire Jobs Retry (POST /jobs/:id/retry) and Delete (DELETE /jobs/:id) buttons
2026-05-22 12:18:23 -04:00
506ee2d695
fix: wire New Project button — modal + POST /projects + state refresh
2026-05-22 12:17:54 -04:00
88689a4eb2
fix: wire Library Upload button to navigate to Upload screen
2026-05-22 12:17:29 -04:00
dc269bec00
fix: make Settings S3 form functional — load from API, save & test
2026-05-22 12:08:10 -04:00
665ab5238d
feat: live status polling in RecorderRow, immediate refresh on mount
2026-05-22 11:35:13 -04:00
bb508d3256
feat: add probe button to SRT/RTMP sources, fix node labels
2026-05-22 11:33:45 -04:00
994fd799d0
fix: stop endpoint handles missing/dead containers gracefully
2026-05-22 11:32:44 -04:00
6510871448
fix: implement real upload (XHR + S3 multipart) and fix SDI recorder device_index + manual fallback: modal-new-recorder.jsx
2026-05-22 11:10:01 -04:00
26399f8d0a
fix: implement real upload (XHR + S3 multipart) and fix SDI recorder device_index + manual fallback: screens-ingest.jsx
2026-05-22 11:10:00 -04:00
529d14cb6b
fix: SDI crash, monitors polling, home RAM fields, editor IN DEV splash, timecode, create recorder API: modal-new-recorder.jsx
2026-05-22 10:55:22 -04:00
fb44bd8aff
fix: SDI crash, monitors polling, home RAM fields, editor IN DEV splash, timecode, create recorder API: screens-editor.jsx
2026-05-22 10:55:20 -04:00
24a1d57165
fix: SDI crash, monitors polling, home RAM fields, editor IN DEV splash, timecode, create recorder API: screens-ingest.jsx
2026-05-22 10:55:19 -04:00
48ee66e744
fix: SDI crash, monitors polling, home RAM fields, editor IN DEV splash, timecode, create recorder API: screens-home.jsx
2026-05-22 10:55:18 -04:00
0342aa0a5a
fix admin screen: move data destructuring inside components, normalize field names: screens-admin.jsx
2026-05-22 10:15:42 -04:00
406f28c663
feat(ui): wire ingest screens to real API (recorders, capture devices): screens-ingest.jsx
2026-05-22 10:07:13 -04:00
835545e061
feat(ui): wire library, jobs, ingest, editor screens to live API data: screens-editor.jsx
2026-05-22 10:05:57 -04:00
1392e28a88
feat(ui): wire library, jobs, ingest, editor screens to live API data: screens-jobs.jsx
2026-05-22 10:05:56 -04:00
bc03ee866b
feat(ui): wire library, jobs, ingest, editor screens to live API data: screens-library.jsx
2026-05-22 10:05:54 -04:00
69f0d130ee
feat(ui): wire screens to live API data; add thumbnail lazy-loading: screens-projects.jsx
2026-05-22 10:04:25 -04:00
07af51b05c
feat(ui): wire screens to live API data; add thumbnail lazy-loading: screens-home.jsx
2026-05-22 10:04:24 -04:00
3574ae8a43
feat(ui): wire screens to live API data; add thumbnail lazy-loading: visuals.jsx
2026-05-22 10:04:23 -04:00
7dda7cc89c
feat(ui): wire data.jsx to real API; add loading gate in app.jsx: app.jsx
2026-05-22 10:02:55 -04:00
98025001e8
feat(ui): wire data.jsx to real API; add loading gate in app.jsx: data.jsx
2026-05-22 10:02:54 -04:00
068e3a0828
fix(ui): replace FauxFrame SVG scenes with clean dark placeholder; strip fake LiveStrip animation: screens-editor.jsx
2026-05-22 09:31:58 -04:00
6ad277275b
fix(ui): replace FauxFrame SVG scenes with clean dark placeholder; strip fake LiveStrip animation: visuals.jsx
2026-05-22 09:31:57 -04:00
f58fe95f0d
fix(ui): remove placeholder elements — no scanlines, no DEV BUILD, no tweaks panel: screens-projects.jsx
2026-05-22 09:30:50 -04:00
6e763e8270
fix(ui): remove placeholder elements — no scanlines, no DEV BUILD, no tweaks panel: screens-home.jsx
2026-05-22 09:30:49 -04:00
6ac3050a05
fix(ui): remove placeholder elements — no scanlines, no DEV BUILD, no tweaks panel: index.html
2026-05-22 09:30:47 -04:00
e13d111b9f
feat(ui): Dragonflight redesign — admin screens (users, tokens, containers, cluster, settings): screens-admin.jsx
2026-05-22 08:24:08 -04:00
1eaf9dff5c
Add Z-AMPP UI: screens-ingest + screens-admin: screens-admin.jsx
2026-05-22 08:22:38 -04:00
20dfa504e5
Add Z-AMPP UI: screens-ingest + screens-admin: screens-ingest.jsx
2026-05-22 08:22:37 -04:00
0945f488f6
feat(ui): Dragonflight redesign — ingest, jobs, editor, admin screens: screens-ingest.jsx
2026-05-22 08:20:15 -04:00
bd9dfd2cce
Add Z-AMPP UI: screens-jobs + screens-editor + modal-new-recorder: modal-new-recorder.jsx
2026-05-22 08:19:03 -04:00
b8e1796c33
Add Z-AMPP UI: screens-jobs + screens-editor + modal-new-recorder: screens-editor.jsx
2026-05-22 08:19:02 -04:00