Skip to content

feat(screencast): style action decorations, keep cursor visible - #42758

Open
Pavel Feldman (pavelfeldman) wants to merge 1 commit into
microsoft:mainfrom
pavelfeldman:screencast-action-style
Open

Pavel Feldman (pavelfeldman) wants to merge 1 commit into
microsoft:mainfrom
pavelfeldman:screencast-action-style

Conversation

@pavelfeldman

@pavelfeldman Pavel Feldman (pavelfeldman) commented Sep 17, 2026

Copy link
Copy Markdown
Member

Summary

  • showActions({ style: { point, highlight, title } }) takes CSS declarations per decoration; point marker and target highlight are now opt-in
  • deprecate fontSize in favor of style.title
  • cursor stays at the last action point, survives navigations and travels along a slightly curved, eased path
  • macOS-style cursor
  • --cursor for video-start, --point-style/--highlight-style/--title-style for video-show-actions

@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.

- `showActions({ style: { point, highlight, title } })` takes CSS declarations for each decoration
- point marker and target highlight are opt-in, rendered via dedicated screencast elements
- deprecate `fontSize` in favor of `style.title`
- cursor stays at the last action point, survives navigations and travels along a slightly curved path
- macOS-style cursor
- `--cursor` for `video-start`, `--point-style`, `--highlight-style`, `--title-style` for `video-show-actions`
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

2 failed
❌ [installation tests] › playwright-cdn.spec.ts:43 › playwright cdn failover should work (https://cdn.playwright.dev/dbazure/download/playwright) @package-installations-macos-latest
❌ [installation tests] › playwright-cdn.spec.ts:43 › playwright cdn failover should work (https://playwright.download.prss.microsoft.com/dbazure/download/playwright) @package-installations-macos-latest

7 flaky ⚠️ [chromium-library] › library/video.spec.ts:725 › screencast › should capture full viewport on hidpi `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/chromium/chromium.spec.ts:436 › should produce network events, routing, and annotations for Service Worker (advanced) `@chromium-ubuntu-22.04-node24`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:257 › third party 'Partitioned;' cookies `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:470 › top level 'Partitioned;' cookie and same origin iframe `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/browsercontext-reuse.spec.ts:200 › reuse connect › should not cache resources `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-event-request.spec.ts:181 › should return response body when Cross-Origin-Opener-Policy is set `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-goto.spec.ts:90 › should work with Cross-Origin-Opener-Policy `@firefox-ubuntu-22.04-node20`

51979 passed, 1247 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

🟢 Both failures are a known CDN flake — the PR is clear

Hi, I'm the Playwright bot and I triaged the red CI here.

The two failures are installation tests › playwright-cdn.spec.ts:43 › playwright cdn failover should work on package-installations-macos-latest. The same pair fails on this PR's own base sha 6391967, on main pushes, and on eight unrelated PRs — so it's failing without your changes in the tree.

Details

Overall: nothing in this PR reaches browser downloading. The diff is screencast action decorations — packages/injected/src/highlight.{ts,css}, injectedScript.ts, server/screencast.ts, tools/backend/video.ts, protocol/types, and tests/library/screencast-actions.spec.ts. The installation tests exercise npx playwright install against CDN hosts, which none of that touches.

Pre-existing flake / infra

No re-run needed for correctness; a retry should go green.

Triaged by the Playwright bot - agent run

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [firefox] › mcp/idle-timeout.spec.ts:19 › closes the browser after the idle timeout and relaunches it on the next call @mcp-windows-latest-firefox

8602 passed, 1446 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

🟢 All three failures are known flakes — the PR is clear

Hi, I'm the Playwright bot and I triaged the red CI here.

The MCP failure is mcp/idle-timeout.spec.ts:19 on mcp-windows-latest-firefox, which fails with the identical error on unrelated PRs #42760 and #42718. The two playwright-cdn.spec.ts:43 failures are the long-running CDN failover flake. Nothing in this PR reaches either code path.

Details

Overall: the diff is screencast action decorations — packages/injected/src/highlight.{ts,css}, injectedScript.ts, server/screencast.ts, the browser_start_video / browser_video_show_actions params in tools/backend/video.ts and tools/cli-daemon/commands.ts, plus protocol/types. The MCP backend change in tools/backend/context.ts is confined to startVideoRecording, which calls screencast.showActions({ cursor }) after the screencast starts. Browser launch and the idle-timeout lifecycle are untouched, and the idle-timeout test never starts a video.

Pre-existing flake / infra

A retry should go green; nothing here needs a code change.

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