fix: harden service websocket reconnect flows

Stabilize the service console and callback-host websocket paths so idle disconnects and mid-task client drops no longer wedge task execution or spam repeated commands.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
木炎
2026-04-09 10:34:34 +08:00
parent 96c3bf1dee
commit 57b9be733d
8 changed files with 353 additions and 55 deletions

View File

@@ -12,6 +12,12 @@ fn service_console_html_stays_on_service_ws_boundary() {
assert!(source.contains("ws://127.0.0.1:42321"));
assert!(source.contains("submit_task"));
assert!(source.contains("addEventListener(\"close\""));
assert!(source.contains("setTimeout(() => connectOrDisconnectService(true)"));
assert!(source.contains("connectTimeoutTimer"));
assert!(source.contains("lastHeartbeatAt"));
assert!(source.contains("heartbeat missed, forcing reconnect"));
assert!(source.contains("service websocket connect timed out"));
assert!(!source.contains("/sgclaw/browser-helper.html"));
assert!(!source.contains("/sgclaw/callback/ready"));
assert!(!source.contains("/sgclaw/callback/events"));