Josh Hawkins 814c497bef
Use Job infrastructure for Debug Replay (#23099)
* use ReplayState enum

* extract shared ffmpeg progress helper

* make start call non-blocking with worker thread

* expose replay state on status endpoint and return 202 from start

* cancel in-flight ffmpeg when stop is called during preparation

* add replay i18n strings for preparing and error states

* show status in replay UI

* navigate immediately on 202 from debug replay menus and dialog

* remove unused

* simplify to use Job infrastructure

* tests

* cleanup and tweaks

* fetch schema

* update api spec

* formatting

* fix e2e test

* mypy

* clean up

* formatting

* fix

* fix test

* don't try to show camera image until status reports ready

* simplify loading logic

* fix race in latest_frame on debug replay shutdown

* remove toast when successfully stopping

it gets hidden almost immediately
2026-05-03 14:54:20 -06:00
..
2026-03-07 06:43:00 -07:00
2026-03-04 10:07:34 -06:00
2026-04-30 17:19:53 -06:00
2026-04-25 17:38:18 -05:00
2026-04-26 17:09:35 -05:00
2026-04-21 08:48:48 -06:00
2025-11-17 08:12:05 -06:00
2026-04-30 12:53:34 -05:00
2026-04-14 08:19:50 -06:00
2026-04-21 08:48:48 -06:00
2026-04-16 09:10:03 -06:00