-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Bug]: Control UI reconnects after protocol mismatch connect failures #98413
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.Crash, hang, restart loop, or process-level availability failure.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
What happened?
When the Control UI receives a gateway connect failure with
details.code = PROTOCOL_MISMATCH, it can treat the close as recoverable and schedule reconnects even though a protocol mismatch requires a version update/reload rather than retrying the same client.There is also a related detail-normalization issue for bare
"protocol mismatch"errors: the UI formats the message with enriched protocol details, but theGatewayRequestError.detailsfield keeps the original details, so later reconnect policy cannot read the normalizedPROTOCOL_MISMATCHcode.Reproduction
On
origin/mainat21d1e1f0fc9d:connectresponse with:{ "code": "INVALID_REQUEST", "message": "protocol mismatch", "details": { "code": "PROTOCOL_MISMATCH" } }Expected behavior
The Control UI surfaces the protocol mismatch and does not auto-reconnect. Bare protocol mismatch errors should also carry normalized details so reconnect policy can classify them consistently.
Actual behavior
PROTOCOL_MISMATCHis not included in the non-recoverable connect-error codes, so the close path can schedule another connection attempt. Bare mismatch errors only enrich the display message, not the stored details.Environment
21d1e1f0fc9d