Skip to content

fix(recorder): support re-enabling recorder on the same context - #42383

Merged
Yury Semikhatsky (yury-s) merged 1 commit into
microsoft:mainfrom
yury-s:recorder-reenable
Aug 24, 2026
Merged

fix(recorder): support re-enabling recorder on the same context#42383
Yury Semikhatsky (yury-s) merged 1 commit into
microsoft:mainfrom
yury-s:recorder-reenable

Conversation

@yury-s

@yury-sYury Semikhatsky (yury-s) commented Aug 24, 2026

Copy link
Copy Markdown
Member

Summary

  • RecorderApp.show is renamed to enable and now supports repeated enableRecorder calls on the same context: at most one recorder app (inspector window or programmatic) is active per context, and params.mode is applied explicitly since Recorder.forContext ignores params of an existing recorder — enable after disable used to silently record nothing.
  • ProgrammaticRecorderApp unsubscribes its recorder listeners on close, disableRecorder now closes the active app of either kind, so recording can be re-enabled in a different mode.

Extracted from #42359.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Hi, I'm the Playwright bot and I took a first look at the failing CI.

🟢 CI is clear — the one failure is a pre-existing flake

mcp/http.spec.ts:144 › http transport browser sigint failed on mcp-windows-latest-firefox, but it's a known Windows-only flake unrelated to this PR. This PR only touches recorder code, which the MCP HTTP sigint path doesn't exercise.

Details

This PR changes recorderApp.ts (the recorder app dedup guard / setMode) and a recorder test. Nothing here touches the MCP server, its HTTP transport, or browser SIGINT shutdown.

Pre-existing flake / infra

The 7 "flaky" entries in the tests 1 report all passed on retry and don't touch recorder code — nothing to triage there.

Triaged by the Playwright bot - agent run

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

5 flaky⚠️ [chromium-library] › library/video.spec.ts:736 › screencast › should work with video+trace `@realtime-time-library-chromium-linux`
⚠️ [chromium-library] › library/popup.spec.ts:260 › should not throw when click closes popup `@chromium-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/browsertype-connect.spec.ts:807 › launchServer › should upload a folder `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/heap.spec.ts:223 › should not leak workers `@firefox-ubuntu-22.04-node20`
⚠️ [playwright-test] › ui-mode-trace.spec.ts:715 › should indicate current test status `@windows-latest-node22`

51385 passed, 1238 skipped


Merge workflow run.

@yury-s
Yury Semikhatsky (yury-s) merged commit f0e0b59 into microsoft:mainAug 24, 2026
44 checks passed
@yury-s
Yury Semikhatsky (yury-s) deleted the recorder-reenable branch August 24, 2026 20:59
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

8142 passed, 1361 skipped


Merge workflow run.

Sign up for freeto 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

@yury-s@pavelfeldman