Skip to content

fix(tui): cap mcp connect so a hung dial cannot block resume - #1507

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-10814-add-a-per-dial-mcp-connect-timeout-on-the-tui-path-so-a-hung
Oct 18, 2026
Merged

TheGreatAxios merged 3 commits into
mainfrom
cl-10814-add-a-per-dial-mcp-connect-timeout-on-the-tui-path-so-a-hung

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Caps each TUI MCP dial that never reaches browser auth at the same 15 second handshake bound as headless exec.
  • A timed-out dial reports as a failed server. A sibling that already connected stays up, and workflow resume still runs.
  • A dial that has shown an auth URL keeps the browser-auth wait instead of failing at that cap.

Verification

  • bun run check passes
  • A hung non-auth dial beside a healthy sibling fails within the timeout, leaves the sibling connected, and resumes
  • Unfinished browser auth stays pending past that cap, the connected sibling stays mounted, and a hung non-auth dial in the same batch still fails

Fixes CL-10814

A startup dial with no handshake cap never settles, so a persisted
workflow cannot resume while one server hangs. Bound each TUI dial
the same way headless does, and report the timeout as a failed
server without aborting a sibling that already connected.
@linear-code

linear-code Bot commented Oct 18, 2026

Copy link
Copy Markdown

CL-10814

@corbits-triage

corbits-triage Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Triage: Pass

No changes needed from you. A maintainer will review this pull request.

The dial cap aborts every in-flight handshake, including one that
already showed an auth URL. Drop that abort for the browser wait so
the existing auth budget remains, and still fail a dial that never
reaches auth.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Comment

A hung non-auth MCP dial fails on the 15s cap, and that cap starts only after trust filtering. Browser auth still drops the dial abort.

Findings

No findings.

@TheGreatAxios
TheGreatAxios merged commit 505f0c3 into main Oct 18, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant