Skip to content

feat(mcp): use per-context dashboard for browser_annotate#40689

Open
Skn0tt wants to merge 1 commit intomicrosoft:mainfrom
Skn0tt:agents/dashboard-context-integration-plan
Open

feat(mcp): use per-context dashboard for browser_annotate#40689
Skn0tt wants to merge 1 commit intomicrosoft:mainfrom
Skn0tt:agents/dashboard-context-integration-plan

Conversation

@Skn0tt
Copy link
Copy Markdown
Member

@Skn0tt Skn0tt commented May 7, 2026

Summary

  • browser_annotate no longer spawns the singleton dashboard daemon; instead each MCP context lazily opens its own dashboard window via Context.ensureDashboard().
  • MCP owns the dashboard lifecycle: it closes when the context disposes or the client disconnects.
  • Modal dashboard shows all registry sessions (workspace-grouped in the UI), so IdentitySessionProvider is gone.
  • Builds on top of #459fb7b6 (openDashboardForContext → renamed openDashboard()).

Pushing to CI for early feedback — opening as draft.

Instead of spawning the singleton dashboard daemon when browser_annotate
is invoked, MCP now lazily opens its own dashboard window per context
via Context.ensureDashboard(). MCP owns the lifecycle: the dashboard
closes when the context disposes or the client disconnects.

The modal dashboard surfaces all sessions (workspace-grouped in the UI)
via RegistrySessionProvider, so IdentitySessionProvider is no longer
needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Skn0tt
Copy link
Copy Markdown
Member Author

Skn0tt commented May 7, 2026

Found a good reason against modal dashboard: It goes against server mode, and we already have reports from people that care about that. microsoft/playwright-cli#325

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Test results for "MCP"

14 failed
❌ [firefox] › mcp/annotate.spec.ts:253 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-windows-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-windows-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:231 › video-chapter @mcp-windows-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:70 › delete-data @mcp-windows-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-windows-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:123 › daemon show: closing page exits the process @mcp-windows-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:159 › save recording streams WebM bytes to the chosen file @mcp-windows-latest-firefox
❌ [firefox] › mcp/tracing.spec.ts:54 › check that trace is saved with browser_start_tracing (no output dir) @mcp-windows-latest-firefox
❌ [msedge] › mcp/annotate.spec.ts:231 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest-msedge
❌ [msedge] › mcp/annotate.spec.ts:253 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-windows-latest-msedge
❌ [msedge] › mcp/annotate.spec.ts:277 › should annotate via direct browser_annotate MCP call @mcp-windows-latest-msedge
❌ [msedge] › mcp/test-run.spec.ts:126 › test_run should stop when aborted @mcp-windows-latest-msedge
❌ [webkit] › mcp/config.ini.spec.ts:57 › ini config sets browser launch options @mcp-windows-latest-webkit
❌ [webkit] › mcp/config.spec.ts:138 › browser_get_config returns merged config from file, env and cli @mcp-windows-latest-webkit

6962 passed, 1058 skipped


Merge workflow run.

@Skn0tt Skn0tt marked this pull request as ready for review May 7, 2026 12:40
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.

1 participant