Skip to content

feat(dashboard): add 'show --annotate' to capture annotations as PNG - #40262

Merged
Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:dashboard-show-annotate
Apr 18, 2026
Merged

feat(dashboard): add 'show --annotate' to capture annotations as PNG#40262
Pavel Feldman (pavelfeldman) merged 1 commit into
microsoft:mainfrom
pavelfeldman:dashboard-show-annotate

Conversation

@pavelfeldman

Copy link
Copy Markdown
Member

Summary

  • New playwright-cli [-s=session] show --annotate reveals the session's browser in the dashboard, enters annotation mode, and blocks until the user clicks Submit.
  • The CLI prints each annotation as { x: .., y: .., width: .., height: .. }: <text> followed by image available at: <path>. The PNG is written under .playwright-cli/.
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@pavelfeldman
Pavel Feldman (pavelfeldman) force-pushed the dashboard-show-annotate branch 2 times, most recently from dc6d90c to 5da610d Compare April 18, 2026 00:45
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@pavelfeldman
Pavel Feldman (pavelfeldman) merged commit e575acd into microsoft:main Apr 18, 2026
34 of 37 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

1 failed
❌ [playwright-test] › playwright.trace.spec.ts:346 › should retain traces for interrupted tests @windows-latest-node20

8 flaky ⚠️ [chromium-library] › library/video.spec.ts:476 › screencast › should capture static page in persistent context Radoslav Kirilov (@smoke) `@ubuntu-22.04-chromium-tip-of-tree`
⚠️ [chromium-library] › library/video.spec.ts:647 › screencast › should capture full viewport `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/video.spec.ts:647 › screencast › should capture full viewport `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@chromium-ubuntu-22.04-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`

39239 passed, 847 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

38 failed
❌ [chrome] › mcp/dashboard.spec.ts:135 › should capture annotations via show --annotate @mcp-windows-latest
❌ [chrome] › mcp/dashboard.spec.ts:156 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [chromium] › mcp/cli-killall.spec.ts:42 › kill-all kills filtered dashboard pid @mcp-windows-latest
❌ [chromium] › mcp/dashboard.spec.ts:95 › daemon show: closing page exits the process @mcp-windows-latest
❌ [chromium] › mcp/dashboard.spec.ts:135 › should capture annotations via show --annotate @mcp-windows-latest
❌ [chromium] › mcp/dashboard.spec.ts:156 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [firefox] › mcp/cli-killall.spec.ts:42 › kill-all kills filtered dashboard pid @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:95 › daemon show: closing page exits the process @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:135 › should capture annotations via show --annotate @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:156 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [firefox] › mcp/dashboard.spec.ts:258 › 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/cli-killall.spec.ts:42 › kill-all kills filtered dashboard pid @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:95 › daemon show: closing page exits the process @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:135 › should capture annotations via show --annotate @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:156 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [webkit] › mcp/dashboard.spec.ts:258 › 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-killall.spec.ts:42 › kill-all kills filtered dashboard pid @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:95 › daemon show: closing page exits the process @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:135 › should capture annotations via show --annotate @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:156 › should start dashboard and annotate when no dashboard is running @mcp-windows-latest
❌ [msedge] › mcp/dashboard.spec.ts:258 › stop recording streams WebM bytes to the chosen file @mcp-windows-latest

6383 passed, 976 skipped


Merge workflow run.

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

Labels

None yet

2 participants