Skip to content

chore(mcp): remove support for extension protocol v1#41857

Merged
yury-s merged 2 commits into
microsoft:mainfrom
yury-s:remove-extension-protocol-v1
Jul 20, 2026
Merged

chore(mcp): remove support for extension protocol v1#41857
yury-s merged 2 commits into
microsoft:mainfrom
yury-s:remove-extension-protocol-v1

Conversation

@yury-s

@yury-s yury-s commented Jul 17, 2026

Copy link
Copy Markdown
Member

All clients use protocol v2 by now. Remove the v1 handlers on both the relay and the extension side and collapse the abstractions that only existed to support two protocol versions:

  • Relay: drop ExtensionProtocolV1 and the ExtensionProtocolHandler interface, always use ExtensionProtocolV2.
  • Extension: fold the v2 protocol handler into RelayConnection, drop the eager (v1) pending connection path and the protocolVersion plumbing. The connect page now rejects clients requesting protocol version < 2.

@github-actions

This comment has been minimized.

yury-s added 2 commits July 20, 2026 09:52
All clients use protocol v2 by now. Remove the v1 handlers on both the
relay and the extension side and collapse the abstractions that only
existed to support two protocol versions:

- Relay: drop ExtensionProtocolV1 and the ExtensionProtocolHandler
  interface, always use ExtensionProtocolV2.
- Extension: fold the v2 protocol handler into RelayConnection, drop
  the eager (v1) pending connection path and the protocolVersion
  plumbing. The connect page now rejects clients requesting protocol
  version < 2.
Also drop the dead error path after connectionRequested — the
background records the relay URL synchronously and always succeeds.
@yury-s
yury-s force-pushed the remove-extension-protocol-v1 branch from 575db11 to 4ca6a9b Compare July 20, 2026 16:57
@yury-s
yury-s merged commit f7342d2 into microsoft:main Jul 20, 2026
14 of 17 checks passed
@yury-s
yury-s deleted the remove-extension-protocol-v1 branch July 20, 2026 17:12
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

4 failed
❌ [chrome] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:496 › should disengage annotate mode when --annotate client disconnects @mcp-macos-latest-chrome
❌ [chromium] › mcp/annotate.spec.ts:446 › should switch screencast to -s session on show --annotate @mcp-macos-latest-chromium
❌ [firefox] › mcp/http.spec.ts:104 › http transport browser lifecycle (isolated) @mcp-ubuntu-latest-firefox

7756 passed, 1249 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Hi, I'm the Playwright bot and I took a first look at the failing CI.

🟢 The failures are all pre-existing flakes — this PR looks clear

The 4 failures are in mcp/annotate.spec.ts and mcp/http.spec.ts, none of which touch the extension-relay / protocol-v1 code this PR removes. Each one also flips verdict across many unrelated PRs in the CI results DB, so they're flakes, not regressions.

Details

This PR removes extension protocol v1 (relay cdpRelay*, packages/extension/*, tests/extension/*). The failures are in unrelated MCP browser flows and fail in a small fraction of runs across 123 distinct PRs each — the hard-rule proof of a flake.

Pre-existing flake / infra

  • [chrome] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed — flips across runs: 7/298 firefox, 4/305 chrome, 3/304 chromium, 2/307 webkit, 1/296 msedge failed, over 123 PRs.
  • [chrome] › mcp/annotate.spec.ts:496 › should disengage annotate mode when --annotate client disconnects4/307 webkit, 3/304 chromium, 2/298 firefox, 1 chrome, 1 msedge failed, over 123 PRs.
  • [chromium] › mcp/annotate.spec.ts:446 › should switch screencast to -s session on show --annotate5/298 firefox, 4/304 chromium, 3/305 chrome, 1/307 webkit failed, over 123 PRs.
  • [firefox] › mcp/http.spec.ts:104 › http transport browser lifecycle (isolated)3/304 chromium, 2/307 webkit, 1 firefox, 1 msedge failed, over 123 PRs.

All four spread the failures across browsers/OSes and PRs the change can't be responsible for, and none exercise the removed v1 relay/protocol path. I'm a first pass, but the signal here is clean.

Triaged by the Playwright bot - agent run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants