8ab71239e3
feat(ui): add Open in Editor action to library cards
2026-05-18 20:14:29 -04:00
78a887a3e0
feat(ui): add NLE editor page (editor.html)
2026-05-18 20:10:25 -04:00
2fabc73299
fix(ui): prevent keydown listener accumulation on re-init
2026-05-18 20:05:34 -04:00
10152b5ad7
feat(ui): add DOM-based timeline engine (select, razor, playhead)
2026-05-18 20:02:41 -04:00
ad6e836345
feat(ui): add sequence API helpers to api.js
2026-05-18 19:58:35 -04:00
7d8ccc95e9
feat(ui): add 59.94 DF timecode utility module
2026-05-18 19:58:34 -04:00
0b94153518
Replace inline auth script with shared auth-guard.js in tokens.html
2026-05-18 13:46:10 -04:00
3203832aa9
Replace inline auth script with shared auth-guard.js in users.html
2026-05-18 13:44:35 -04:00
88c0781767
Replace inline auth script with shared auth-guard.js in jobs.html
2026-05-18 13:43:22 -04:00
81b832dc70
Replace inline auth script with shared auth-guard.js in recorders.html
2026-05-18 13:41:52 -04:00
936867c0c3
Replace inline auth script with shared auth-guard.js on recorders, jobs, users, tokens pages: tokens.html
2026-05-18 13:38:27 -04:00
de3920dd4a
Replace inline auth script with shared auth-guard.js on recorders, jobs, users, tokens pages: users.html
2026-05-18 13:38:26 -04:00
9dfefc5731
Replace inline auth script with shared auth-guard.js on recorders, jobs, users, tokens pages: jobs.html
2026-05-18 13:38:25 -04:00
f3fbb027f6
Replace inline auth script with shared auth-guard.js on recorders, jobs, users, tokens pages: recorders.html
2026-05-18 13:38:24 -04:00
e3128acb15
fix: use shared auth-guard.js on capture.html
2026-05-18 13:27:24 -04:00
d8766f18cc
fix: use shared auth-guard.js on upload.html
2026-05-18 13:26:19 -04:00
a40232e2b5
fix: use shared auth-guard.js on settings.html
2026-05-18 13:25:03 -04:00
ebe8b3be59
fix: use shared auth-guard.js on index.html
2026-05-18 13:24:25 -04:00
4f649b41a9
feat: add shared auth-guard.js with 401 → login redirect
2026-05-18 13:21:22 -04:00
725c3ed292
feat: rebuild settings.html with new shell layout
2026-05-18 13:08:19 -04:00
9ceb5db1e3
feat: add admin sidebar section and user footer widget
2026-05-18 13:08:04 -04:00
533250b1c3
feat: add admin sidebar section and user footer widget
2026-05-18 13:07:47 -04:00
ffffe8039e
feat: add admin sidebar section and user footer widget
2026-05-18 13:07:40 -04:00
027e73467f
feat: add admin sidebar section and user footer widget
2026-05-18 13:06:57 -04:00
95fa1b83b6
feat: add admin sidebar section and user footer widget
2026-05-18 13:06:40 -04:00
4213c8a7b3
feat: auth system — CSS page transitions, API helpers, users/tokens pages
2026-05-18 13:00:31 -04:00
c7d8be9f28
feat: auth system — CSS page transitions, API helpers, users/tokens pages
2026-05-18 12:59:36 -04:00
2d21d4d44d
feat: auth system — CSS page transitions, API helpers, users/tokens pages
2026-05-18 12:58:24 -04:00
d0f9848717
feat: auth system — CSS page transitions, API helpers, users/tokens pages
2026-05-18 12:57:50 -04:00
44b59742b8
redesign: jobs.html — filter tabs, type chips, inline progress, detail panel
2026-05-16 17:02:39 -04:00
7aae1d2738
feat: redesign capture.html with new design system
2026-05-16 16:48:25 -04:00
f7a96677ef
feat: redesign recorders.html with new design system
2026-05-16 13:57:20 -04:00
cf93b2f378
feat: redesign upload.html and recorders.html: upload.html
2026-05-16 13:06:10 -04:00
c6cca63595
feat: redesign index.html, upload.html, recorders.html: index.html
2026-05-16 13:04:45 -04:00
c0d3d0590b
feat: full GUI redesign — broadcast control register aesthetic: common.css
2026-05-16 13:02:33 -04:00
f5abf359fb
fix(nginx): use Docker embedded DNS resolver to avoid startup DNS failure
...
nginx resolves upstream hostnames at config load time, which fails when
sibling containers haven't registered with the Docker DNS yet. Using
resolver 127.0.0.11 with set $upstream defers resolution to request
time, preventing the "host not found in upstream" startup crash.
2026-05-16 08:44:50 -04:00
0a5b4d6191
feat(ui): SRT/RTMP listener/caller mode UI in recorders
...
- SRT: mode selector (Listener / Caller)
- Listener: listen_port field + live connection info banner
- Caller: source URL field
- RTMP: mode selector (Listener / Caller)
- Listener: listen_port + stream_key fields + live connection info banner
- Caller: source URL field
- Connection info banners update live as port/key fields change
- handleCreateRecorder builds correct source_config per mode
- Card meta display handles listener config (shows port, not url)
- updateSrtModeFields / updateRtmpModeFields helpers for dynamic show/hide
2026-05-16 08:23:24 -04:00
ed52dfcafb
Fix recorders.html: rename handlers to avoid api.js shadowing (infinite recursion), fix resolution→recording_resolution
2026-05-16 00:48:40 -04:00
79dcfaffeb
Fix capture.html: remove bin requirement, fix start/stop handler naming to avoid recursion, track sessionId
2026-05-16 00:42:36 -04:00
1862082ba7
Fix upload.html: camelCase multipart params, filename field, ETag/partNumber, s3Key/assetId tracking
2026-05-16 00:41:36 -04:00
31ca999075
fix(api.js): correct capture paths, bin routes, device normalisation, upload camelCase, session tracking
2026-05-16 00:31:58 -04:00
be8e0bda41
fix(auth+bugs): optional auth bypass, login routes, conform column name, panel metadata fields, login page: login.html
2026-05-15 23:40:15 -04:00
b42199e597
fix: assets response shape, thumbnail lazy-load, bin sidebar wired up
2026-05-15 21:25:29 -04:00
cd0c724bdd
feat: AMPP folder sync integration — pre-create folder hierarchy on upload, expose lookup endpoint for Script Task: settings.html
2026-04-18 13:42:09 -04:00
3f25ea1124
Phase 2: services/web-ui/public/js/api.js
2026-04-07 22:05:44 -04:00
3aee8c41f5
Phase 2: services/web-ui/public/recorders.html
2026-04-07 22:05:43 -04:00
1ed284eac3
Phase 2: services/web-ui/public/upload.html
2026-04-07 22:05:42 -04:00
0e86cbb1f3
Phase 2: services/web-ui/public/index.html
2026-04-07 22:05:42 -04:00
aa4baca091
Phase 2: services/web-ui/nginx.conf
2026-04-07 22:05:41 -04:00
58ca698eac
add services/web-ui/public/css/common.css
2026-04-07 21:58:23 -04:00