Kris Austin
da4d766d46
Fix Moonraker status stream hanging app exit and missing dead printers ( #16604 )
...
The status stream read the websocket synchronously. Beast's
expires_after() only applies to async operations, so when a printer
stopped sending, ws.read() blocked forever, and stop_status_stream()
joined that thread when the app closed. On Windows the stuck process
also froze the next launch through the shared WebView2 browser.
Run the whole stream on one io_context owned by the stream thread, and
have stop_status_stream() post an abort to it. A stop on an open
websocket sends a close frame and waits up to 1 s for the answer.
Keep-alive pings detect a dead printer, and the stream reconnects until
stopped, with the backoff capped at 32 s. When a quiet printer still
answers pings, its last status is sent again. The stream starts under
connect_mutex after a staleness check, and a stop from the stream's own
callback no longer joins its own thread.
The Moonraker tests move into test_moonraker_printer_agent.cpp.
2026-10-18 19:33:58 -05:00
..
2026-10-05 16:47:17 +08:00
2026-10-13 10:53:57 -03:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2023-07-07 17:29:08 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-07 15:51:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-13 10:53:57 -03:00
2026-10-03 13:45:21 +08:00
2026-10-05 16:47:17 +08:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2026-10-05 16:47:17 +08:00
2026-10-13 10:53:57 -03:00
2026-10-03 13:45:21 +08:00
2026-09-12 12:09:39 -03:00
2026-10-03 13:45:21 +08:00
2024-04-28 22:58:47 +08:00
2026-10-03 13:45:21 +08:00
2026-05-19 20:03:54 +00:00
2026-10-07 14:22:32 +08:00
2026-09-21 11:37:50 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-08 13:51:50 +08:00
2026-10-03 13:45:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2023-12-01 10:42:45 +00:00
2026-10-05 16:47:17 +08:00
2026-10-08 13:59:12 +08:00
2026-10-12 21:59:17 -03:00
2026-10-12 21:59:17 -03:00
2026-10-07 14:22:32 +08:00
2023-08-27 18:07:48 +08:00
2026-10-13 10:53:57 -03:00
2026-10-05 16:47:17 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-03 13:45:21 +08:00
2022-07-15 23:42:08 +08:00
2026-10-15 01:01:25 +08:00
2026-10-03 13:45:21 +08:00
2026-10-01 00:30:44 +08:00
2026-10-10 21:15:45 +08:00
2026-10-03 13:45:21 +08:00
2025-09-28 10:33:33 +08:00
2026-10-01 00:30:44 +08:00
2026-10-07 14:22:32 +08:00
2026-10-07 14:58:49 +08:00
2026-09-24 10:41:55 +08:00
2026-09-24 10:42:19 +08:00
2026-10-03 13:45:21 +08:00
2026-10-03 13:45:21 +08:00
2026-10-03 13:45:21 +08:00
2022-07-15 23:42:08 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-13 15:13:07 -05:00
2026-10-13 15:13:07 -05:00
2026-10-18 19:33:58 -05:00
2026-10-18 19:33:58 -05:00
2026-10-13 15:13:07 -05:00
2026-10-13 15:13:07 -05:00
2026-10-13 10:53:57 -03:00
2026-10-13 15:13:07 -05:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2026-10-15 01:01:25 +08:00
2026-10-15 01:01:25 +08:00
2026-10-05 16:47:17 +08:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2026-09-17 12:01:49 +08:00
2026-10-13 10:53:57 -03:00
2026-10-03 13:45:21 +08:00
2026-10-01 00:30:44 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-03 13:45:21 +08:00
2022-07-15 23:42:08 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-05 16:47:17 +08:00
2022-07-15 23:42:08 +08:00
2022-07-15 23:42:08 +08:00
2026-03-02 20:31:14 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2024-03-22 19:22:46 +08:00
2024-03-22 19:22:46 +08:00
2026-10-07 14:22:45 +08:00
2026-10-03 13:45:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-03 13:45:21 +08:00
2026-10-07 14:22:32 +08:00
2026-10-08 13:59:12 +08:00
2026-10-13 10:53:57 -03:00
2026-09-30 00:39:01 +08:00
2026-10-05 16:47:17 +08:00
2026-10-03 13:45:21 +08:00
2026-10-08 13:59:12 +08:00
2026-10-03 13:45:21 +08:00
2026-10-05 16:47:17 +08:00