John O'Keefe
e1153b2c4b
feat(admin): cancel buttons for in-flight scans + cancelled state UI
...
- per-row Cancel button in the scan-progress card; listeners are bound
after the TS island renders its rows (module scope has no inline
handlers), and the button is removed once its job turns terminal
- cancel-all icon button in the card header: resolves the server's
active job list first, so it also covers scans this page never
started (e.g. started before a refresh), then cancels each one
- polling treats cancelled as terminal, averages overall progress
only over jobs that can still advance (so the bar can reach 100%),
and the results panel reports cancelled scans instead of claiming
"Scan Complete!"
- sidebar spinner resets on the scan_cancelled websocket event (same
quiet handling as scan_error)
- setup wizard shows "Cancelled" as a terminal status in its poller
No new innerHTML assignment sites - rendering-ownership baseline
unchanged.
2026-10-18 18:02:34 -04:00
..
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-13 12:24:12 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 18:02:34 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 18:02:34 -04:00
2026-10-15 19:33:18 -04:00
2026-10-15 19:33:18 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-15 18:03:35 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-14 11:59:38 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:28:25 -04:00
2026-10-18 12:28:25 -04:00
2026-10-18 12:42:50 -04:00
2026-10-18 12:42:50 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 16:45:48 -04:00
2026-10-18 16:45:48 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-08-10 13:43:13 -04:00
2026-10-18 12:08:20 -04:00
2026-08-10 13:43:13 -04:00
2026-10-18 12:08:20 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 13:16:35 -04:00
2026-10-18 13:16:35 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 16:45:48 -04:00
2026-10-18 12:08:20 -04:00
2026-10-14 11:08:12 -04:00
2026-10-18 12:08:20 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-15 20:27:37 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-03 23:54:07 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:20 -04:00
2026-05-10 16:13:21 -04:00
2026-10-14 11:59:38 -04:00
2026-10-18 16:45:48 -04:00
2026-10-18 16:00:04 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 16:38:03 -04:00