gramps
9621db29c9
fix(stream): keep recovery notifications and stop on the dispatcher
...
The FFmpeg ProcessFailed event arrives off-thread. Start recovery on the UI
dispatcher, publish retry status there, and route StopStream back to the
dispatcher before changing bound state or alert collections. This prevents a
recovery exception from becoming an unhandled WPF CollectionView crash.
AttentionAlertStackTests covers worker-thread recovery reporting and stop.
616 tests green, clean build with 0 warnings.
2026-11-11 09:57:26 -08:00
..
2026-11-05 09:57:07 -08:00
2026-11-05 14:44:46 -08:00
2026-11-01 14:13:57 -08:00
2026-09-26 14:44:57 -07:00
2026-11-05 09:57:07 -08:00
2026-09-26 14:44:57 -07:00
2026-09-24 08:27:00 -07:00
2026-09-26 12:08:27 -07:00
2026-11-02 10:47:48 -08:00
2026-10-30 14:42:40 -07:00
2026-11-02 11:06:43 -08:00
2026-11-01 07:01:50 -08:00
2026-11-11 09:57:26 -08:00
2026-11-01 13:48:28 -08:00
2026-10-30 13:18:23 -07:00
2026-10-09 13:27:53 -07:00
2026-11-06 12:30:48 -08:00
2026-10-09 13:27:53 -07:00
2026-09-14 12:30:44 -07:00
2026-11-06 12:21:24 -08:00
2026-10-10 07:08:01 -07:00
2026-08-23 13:33:33 -07:00
2026-08-31 19:32:41 -07:00
2026-11-05 15:38:32 -08:00
2026-11-01 13:32:23 -08:00
2026-11-01 13:17:40 -08:00
2026-10-21 23:09:11 -07:00
2026-10-28 13:09:15 -07:00
2026-10-09 13:22:52 -07:00
2026-11-01 09:16:27 -08:00
2026-10-27 09:25:49 -07:00
2026-10-04 15:05:28 -07:00
2026-11-06 12:56:05 -08:00
2026-09-05 14:31:03 -07:00
2026-10-30 07:53:37 -07:00
2026-10-09 22:15:59 -07:00
2026-11-02 11:10:21 -08:00
2026-11-05 14:53:06 -08:00
2026-08-24 09:08:03 -07:00
2026-11-05 08:39:46 -08:00
2026-09-04 11:01:51 -07:00
2026-11-05 08:20:33 -08:00
2026-11-05 08:05:18 -08:00
2026-11-05 09:57:07 -08:00
2026-11-10 12:41:39 -08:00
2026-11-10 11:59:02 -08:00
2026-11-10 12:25:19 -08:00
2026-10-16 18:23:20 -07:00
2026-10-30 08:29:28 -07:00
2026-10-10 11:52:17 -07:00
2026-10-30 09:18:50 -07:00
2026-11-10 11:55:42 -08:00
2026-11-05 09:38:18 -08:00
2026-11-05 17:14:40 -08:00
2026-11-11 09:52:27 -08:00
2026-11-05 11:41:59 -08:00
2026-11-10 12:25:19 -08:00
2026-08-31 19:45:48 -07:00
2026-09-28 11:53:52 -07:00
2026-10-05 11:10:22 -07:00
2026-11-05 09:57:07 -08:00
2026-11-05 12:09:38 -08:00
2026-10-30 12:32:07 -07:00
2026-10-30 13:46:05 -07:00
2026-10-30 08:30:33 -07:00
2026-11-02 11:20:54 -08:00
2026-08-26 06:48:14 -07:00
2026-08-26 06:48:14 -07:00
2026-11-05 14:56:20 -08:00
2026-09-28 11:53:52 -07:00
2026-11-05 09:38:18 -08:00
2026-11-01 13:08:03 -08:00
2026-11-10 18:09:16 -08:00
2026-11-04 14:22:32 -08:00
2026-11-10 17:59:28 -08:00
2026-11-02 18:17:18 -08:00
2026-10-30 13:18:23 -07:00
2026-09-15 19:25:39 -07:00
2026-11-05 10:40:25 -08:00
2026-11-05 09:15:30 -08:00
2026-11-05 09:38:18 -08:00
2026-11-05 07:54:06 -08:00
2026-11-05 08:15:32 -08:00
2026-11-05 08:15:32 -08:00
2026-11-05 09:57:07 -08:00
2026-10-30 14:01:29 -07:00
2026-11-02 11:34:48 -08:00
2026-10-30 13:32:24 -07:00
2026-08-23 12:25:04 -07:00
2026-11-02 11:24:50 -08:00
2026-11-04 11:19:40 -08:00
2026-10-30 09:30:56 -07:00
2026-11-04 12:14:46 -08:00
2026-11-02 11:38:17 -08:00
2026-11-01 07:46:10 -08:00
2026-10-27 10:20:53 -07:00
2026-10-09 13:32:38 -07:00
2026-11-02 11:18:10 -08:00
2026-11-01 16:26:20 -08:00
2026-09-27 08:55:55 -07:00
2026-09-27 15:37:46 -07:00
2026-09-27 15:37:46 -07:00
2026-11-01 09:55:04 -08:00
2026-09-18 10:20:25 -07:00
2026-11-10 12:54:54 -08:00
2026-09-14 16:14:00 -07:00
2026-11-10 11:51:21 -08:00
2026-08-23 13:33:33 -07:00
2026-11-04 10:52:35 -08:00
2026-08-31 17:53:34 -07:00
Scene strip now renders in canonical F-key order regardless of persisted SortOrder. The strip loads Scenes ORDER BY SortOrder while each tab's F-key label is name-derived, so a session that persisted Chat before BRB (found on the creator's DB: SortOrder 2/3) showed tabs 'Chat F4' then 'BRB F3'. MainViewModel.LoadLayout now calls the new ReorderScenesToCanonical() - the five canonical scenes reorder to Starting, Live, BRB, Chat, Ending (F1-F5, stable among renamed non-canonical scenes), and the next auto-save re-stamps SortOrder so the heal persists. One integration test (SceneOrderTests) seeds the swapped-order DB and asserts loaded order, F1-F5 labels, and that a save persists the corrected ordering. 423 pass, 0 build warnings. (Unit: scene order)
2026-10-10 12:09:07 -07:00
2026-11-06 12:21:24 -08:00
2026-10-30 14:54:05 -07:00
2026-10-30 14:50:20 -07:00
2026-10-30 15:05:33 -07:00
2026-10-30 14:36:56 -07:00
2026-10-30 15:19:28 -07:00
2026-11-02 11:14:15 -08:00
2026-10-30 14:36:13 -07:00
2026-10-30 15:24:14 -07:00
2026-11-02 11:28:11 -08:00
2026-10-30 14:35:42 -07:00
2026-09-14 18:40:20 -07:00
2026-08-13 08:57:56 -07:00
2026-11-01 16:12:38 -08:00
2026-11-05 15:38:32 -08:00
2026-10-30 11:17:11 -07:00
2026-09-01 22:25:20 -07:00
2026-10-30 09:06:53 -07:00
2026-08-13 11:04:32 -07:00
2026-08-19 11:51:32 -07:00
2026-10-30 10:02:06 -07:00
2026-08-13 09:29:58 -07:00
2026-09-28 11:53:52 -07:00
2026-10-28 13:09:15 -07:00
2026-11-04 17:05:06 -08:00
2026-11-09 13:05:44 -08:00
2026-11-09 13:05:44 -08:00
2026-10-30 12:33:40 -07:00
2026-11-01 07:01:50 -08:00
2026-08-16 17:48:37 -07:00
2026-11-05 12:09:38 -08:00
2026-10-30 13:16:19 -07:00
2026-11-04 10:11:39 -08:00
2026-11-04 17:17:57 -08:00
2026-11-04 15:01:47 -08:00
2026-11-04 15:01:47 -08:00
2026-11-04 15:01:47 -08:00
2026-10-30 10:29:22 -07:00
2026-08-06 09:38:35 -07:00
2026-11-02 11:43:57 -08:00
2026-10-27 08:39:49 -07:00
2026-10-27 09:12:37 -07:00
2026-11-01 13:48:28 -08:00
2026-10-04 09:24:12 -07:00
2026-10-30 13:22:13 -07:00
2026-11-02 11:31:49 -08:00
2026-10-21 19:23:29 -07:00
2026-10-21 08:58:24 -07:00
2026-10-09 10:31:11 -07:00
2026-09-17 09:16:56 -07:00
2026-09-01 22:25:20 -07:00
Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)
2026-08-07 14:15:50 -07:00
2026-09-17 08:56:04 -07:00
2026-09-14 16:14:00 -07:00
2026-09-22 07:00:47 -07:00
2026-10-04 15:28:05 -07:00
2026-10-27 09:12:59 -07:00
2026-10-30 14:42:40 -07:00
2026-10-04 15:27:01 -07:00
2026-11-05 16:41:09 -08:00
2026-09-23 16:45:56 -07:00
2026-11-05 09:42:36 -08:00
2026-10-28 13:09:15 -07:00
2026-11-01 08:51:28 -08:00
2026-10-08 08:26:29 -07:00