You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(exec): time out hung MCP connect before first inference (#1096)
* fix(exec): time out hung MCP connect before first inference
* fix(exec): keep MCP handshake abort armed and resume after connect
A rejected connectMCP batch used to disarm the 15s abort while sibling dials were still in flight, so dispose could block on allSettled. Workflow resume also ran after the 1s wait while handshake was still pending, so capability-gated steps skipped MCP tools. Connecting is abort-capped, so waiting for settle before resume cannot hang forever.
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,7 @@ In TUI chat mode there is no completion gate — the session stays open across t
118
118
- No workflow controller (`isWorkflowActive` is always false)
119
119
- Non-interactive permission gate by default
120
120
-`ask_operator` is unmounted when stdin/stdout are not TTYs (no cancel stub on the wire); TTY exec still prompts on stdin
121
+
- MCP connect is awaited before workflow resume and first inference, abort-capped at 15s so a hung handshake cannot block the run. A rejected batch does not disarm that abort while sibling dials are still in flight. A 1s log fires if connect is still in progress; remaining dials keep running until settle or abort. The TUI still fire-and-forgets connect (no rewrite). `tool_search` does not treat an empty catalog as a definitive miss while servers are still connecting.
0 commit comments