dragonflight/services/web-ui/public
Zac Gaetano eb6c723713 fix(jobs): cancel running + delete failed jobs to unstick the queue
The Jobs page only exposed a delete button for queued + done jobs, so a
stalled-active job (worker died holding a BullMQ concurrency slot) had
no way out from the UI. Operators were watching the queue back up
behind a single stuck thumbnail job with no kill switch.

- Running jobs now show a "Cancel" button (red text). Confirm copy
  spells out that the worker may run a few seconds longer in the
  background but the queue slot frees up immediately.
- Failed jobs now show the X icon for delete in addition to the
  existing Retry button.
- Both routes hit the same DELETE /jobs/:id endpoint; BullMQ's
  job.remove() works on any state including stalled-active.
- handleDelete takes an optional mode ('cancel' | 'delete') only to
  customise the confirm prompt and error toast wording.

Right-aligned the action cell so the Retry/Cancel/Delete buttons sit
flush right like the rest of the table's actions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 16:54:05 -04:00
..
css fix: remove Google Fonts, fix editor link to :47435, fix page titles 2026-05-18 22:56:51 -04:00
fonts web-ui: wave-1 finish — self-host fonts + multi-stage Dockerfile 2026-05-21 16:32:55 +00:00
img feat(brand): add Wild Dragon logo + favicon 2026-05-18 14:11:29 +00:00
js web-ui: tag IN DEV pages in sidebar from auth-guard 2026-05-21 09:59:29 -04:00
app.jsx feat(ingest): YouTube importer — paste link, asset travels normal pipeline 2026-05-23 16:05:41 -04:00
data.jsx feat(auth): bounce to /login.html on any 401 from the api wrapper 2026-05-23 16:40:45 -04:00
favicon.ico feat(brand): add Wild Dragon logo + favicon 2026-05-18 14:11:29 +00:00
icons.jsx feat(home,users): real metrics, working Users row actions + Groups CRUD 2026-05-23 03:30:10 +00:00
index.html index: add hls.js for live stream HLS playback 2026-05-22 13:31:57 -04:00
login.html chore(web-ui): delete legacy standalone HTML pages; SPA is the only entry 2026-05-23 16:48:38 -04:00
modal-new-recorder.jsx feat(ui): polish round 2 — live refresh, schedule calendar, jobs times, real sidebar user 2026-05-23 14:52:04 -04:00
screens-admin.jsx fix(tokens): add missing showCalc state — page was crashing on render 2026-05-23 16:18:19 -04:00
screens-asset.jsx fix(asset): show 'Generate proxy' CTA when an asset has a hi-res 2026-05-23 10:30:42 -04:00
screens-editor.jsx polish(ui): wire dead buttons across asset detail, shell, containers, cluster 2026-05-23 04:04:08 +00:00
screens-home.jsx feat(home): restore launcher home page; move current home to Dashboard 2026-05-23 10:48:06 -04:00
screens-ingest.jsx feat(schedule): right-click menu + drag-to-resize on EPG event blocks 2026-05-23 16:33:57 -04:00
screens-jobs.jsx fix(jobs): cancel running + delete failed jobs to unstick the queue 2026-05-23 16:54:05 -04:00
screens-library.jsx feat(ui): polish round 2 — live refresh, schedule calendar, jobs times, real sidebar user 2026-05-23 14:52:04 -04:00
screens-projects.jsx fix(projects): RenameProjectModal replaces prompt() 2026-05-23 09:02:23 -04:00
shell.jsx feat(ingest): YouTube importer — paste link, asset travels normal pipeline 2026-05-23 16:05:41 -04:00
styles-asset.css feat(web-ui): asset detail + rest CSS: styles-asset.css 2026-05-22 08:06:39 -04:00
styles-fixes.css fix: settings S3 surfaces fetch errors; recorder signal dot pulses 2026-05-23 13:19:48 -04:00
styles-modal.css feat(web-ui): Z-AMPP screen + component CSS: styles-modal.css 2026-05-22 08:03:57 -04:00
styles-rest.css feat(schedule): right-click menu + drag-to-resize on EPG event blocks 2026-05-23 16:33:57 -04:00
styles-screens.css feat(web-ui): Z-AMPP screen + component CSS: styles-screens.css 2026-05-22 08:03:55 -04:00
styles.css feat(web-ui): Z-AMPP design system CSS: styles.css 2026-05-22 08:02:35 -04:00
tweaks-panel.jsx Add Z-AMPP UI: visuals + tweaks-panel: tweaks-panel.jsx 2026-05-22 08:13:37 -04:00
visuals.jsx feat(ui): wire screens to live API data; add thumbnail lazy-loading: visuals.jsx 2026-05-22 10:04:23 -04:00