Skip to content

feat(dashboard): add show --pick-locator secondary entrypoint#40336

Closed
Skn0tt wants to merge 4 commits into
microsoft:mainfrom
Skn0tt:dashboard-pick-locator
Closed

feat(dashboard): add show --pick-locator secondary entrypoint#40336
Skn0tt wants to merge 4 commits into
microsoft:mainfrom
Skn0tt:dashboard-pick-locator

Conversation

@Skn0tt
Copy link
Copy Markdown
Member

@Skn0tt Skn0tt commented Apr 21, 2026

Summary

  • Adds cli show --pick-locator as a dashboard-centric alternative to cli pick.
  • Unifies the daemon's annotate / pick-locator flows under a single elicit(kind, socket) API serialized via a promise queue.
  • Drops the dashboard's own pickLocator channel method now that the daemon owns the entry point.

I wasn't yet able to drop the context.on('pickLocator') event because it's unclear how MCP calls into show.

Skn0tt added 2 commits April 21, 2026 16:12
Adds `cli show --pick-locator` as a dashboard-centric alternative to
`cli pick`. The dashboard daemon switches into pick-locator mode and
the picked ref/locator is written back to the CLI process.

Existing BrowserContext.PickLocator event and browser_pick_locator MCP
tool are unchanged.
Collapses the parallel `triggerAnnotate`/`registerAnnotateWaiter`/
`triggerPickLocator`/`registerPickLocatorWaiter` flows in the dashboard
daemon into a single `elicit(kind, socket)` API serialized via a promise
queue. Also drops the dashboard-side `pickLocator` channel method now
that the daemon owns the entry point.
@Skn0tt Skn0tt requested a review from dgozman April 21, 2026 14:43
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copy link
Copy Markdown
Member

@pavelfeldman pavelfeldman left a comment

Choose a reason for hiding this comment

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

There was a couple of old 'pick' tests (port them?) and the old tool (remove it?)

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@pavelfeldman
Copy link
Copy Markdown
Member

@copilot resolve the merge conflicts in this pull request

Signed-off-by: Pavel Feldman <pavel.feldman@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

Test results for "MCP"

39 failed
❌ [chrome] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-ubuntu-latest
❌ [chromium] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-ubuntu-latest
❌ [chrome] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-windows-latest
❌ [chromium] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-windows-latest
❌ [chrome] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-macos-latest
❌ [chromium] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-macos-latest
❌ [firefox] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-ubuntu-latest
❌ [webkit] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-ubuntu-latest
❌ [firefox] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:292 › stop recording streams WebM bytes to the chosen file @mcp-windows-latest
❌ [webkit] › mcp/cli-devtools.spec.ts:141 › video-start-stop @mcp-windows-latest
❌ [webkit] › mcp/cli-devtools.spec.ts:155 › video-chapter @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:119 › daemon show: closing page exits the process @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:159 › should capture annotations via show --annotate @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:177 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:292 › stop recording streams WebM bytes to the chosen file @mcp-windows-latest
❌ [msedge] › mcp/cli-core.spec.ts:31 › close @mcp-windows-latest
❌ [msedge] › mcp/cli-devtools.spec.ts:141 › video-start-stop @mcp-windows-latest
❌ [msedge] › mcp/cli-devtools.spec.ts:155 › video-chapter @mcp-windows-latest
❌ [msedge] › mcp/cli-json.spec.ts:171 › close after open returns closed status @mcp-windows-latest
❌ [msedge] › mcp/cli-json.spec.ts:177 › close-all after open returns closed sessions @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:50 › close @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:60 › close named session @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:72 › persistent session shows in list after close @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:85 › close-all @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:99 › delete-data @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:111 › delete-data named session @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:128 › session stops when browser exits @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:142 › session reopen with different config @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:159 › workspace isolation - sessions in different workspaces are isolated @mcp-windows-latest
❌ [msedge] › mcp/cli-session.spec.ts:191 › list --all lists sessions from all workspaces @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:119 › daemon show: closing page exits the process @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:159 › should capture annotations via show --annotate @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:177 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:292 › stop recording streams WebM bytes to the chosen file @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-macos-latest
❌ [webkit] › mcp/dashboard.spec.ts:196 › should pick locator via show --pick-locator @mcp-macos-latest

6523 passed, 913 skipped


Merge workflow run.

@github-actions
Copy link
Copy Markdown
Contributor

Test results for "tests 1"

5 flaky ⚠️ [chromium-library] › library/video.spec.ts:275 › screencast › should capture navigation `@ubuntu-22.04-chromium-tip-of-tree`
⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@chromium-ubuntu-22.04-arm-node20`
⚠️ [firefox-library] › library/inspector/cli-codegen-1.spec.ts:1080 › cli codegen › should not throw csp directive violation errors `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-wait-for-function.spec.ts:104 › should work with strict CSP policy `@firefox-ubuntu-22.04-node20`
⚠️ [playwright-test] › ui-mode-test-output.spec.ts:118 › should collapse repeated console messages for test `@macos-latest-node20`

41265 passed, 847 skipped


Merge workflow run.

@Skn0tt
Copy link
Copy Markdown
Member Author

Skn0tt commented Apr 22, 2026

superceded by #40344

@Skn0tt Skn0tt closed this Apr 22, 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.

2 participants