Skip to content

feat(extension): tab ownership and resumable tab groups - #44047

Merged
Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:extension-tab-ownership
Nov 12, 2026
Merged

Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:extension-tab-ownership

Conversation

@pavelfeldman

@pavelfeldman Pavel Feldman (pavelfeldman) commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Summary

  • The extension keeps one owner table for all clients. A client can only send commands to tabs it owns, and commands that change browser-wide state (cookie writes, permissions) are refused.
  • The connect page lets the user pick one tab group or several tabs; with no selection the client gets a blank tab.
  • On disconnect the client's tab group stays and turns gray; the next client can take it over. Dragging a tab between the groups of two clients moves it between them.
  • New --tab-group-title and --tab-group-color options. The relay protocol stays at version 2.
  • browser_cookie_set no longer works in extension mode, and the extension needs the storage permission.

Fixes microsoft/playwright-cli#496

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@pavelfeldman
Pavel Feldman (pavelfeldman) force-pushed the extension-tab-ownership branch 2 times, most recently from df397d4 to 297a3da Compare November 12, 2026 00:51
@pavelfeldman

Copy link
Copy Markdown
Member Author

Screenshots of the extension pages.

Connect page

Before After

Status page

Before After

Error and dark theme

Error Dark theme

@github-actions

This comment has been minimized.

The extension keeps one owner table for all clients. A client can only
send commands to the tabs it owns and cannot change browser-wide state.
On the connect page the user picks one tab group or several tabs; with
no selection the client gets a blank tab. When a client disconnects its
tab group turns gray, and the next client can take it over. Dragging a
tab between the groups of two clients moves it between the clients.

Clients can name and color their tab group with --tab-group-title and
--tab-group-color. The relay protocol stays at version 2.
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

5229 passed, 637 skipped


Merge workflow run.

@yury-s Yury Semikhatsky (yury-s) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

PR description is stale, at least the option names are different.

args.push(`--idle-timeout=${cliArgs['idle-timeout']}`);
if (cliArgs.extension)
args.push('--extension');
if (cliArgs['tab-group'] === false)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These should either go inside if (cliArgs.extension) branch or just outside extension/cdp/endpoint if.

@pavelfeldman
Pavel Feldman (pavelfeldman) merged commit acd6629 into microsoft:main Nov 12, 2026
11 checks passed
Gabriel dos Anjos (dosxnjos) added a commit to dosxnjos/playwright that referenced this pull request Nov 13, 2026
Gabriel dos Anjos (dosxnjos) added a commit to dosxnjos/playwright that referenced this pull request Nov 13, 2026
Gabriel dos Anjos (dosxnjos) added a commit to dosxnjos/playwright that referenced this pull request Nov 13, 2026
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.

[Feature] Use compact, session-aware labels for extension tab groups

2 participants