New Feature: Implement page.record() video-stream screen recording (upstream #15387) - #3571
Merged
Merged
Conversation
|
CI blocker — please cancel superseded run This PR’s HEAD is
|
kblok
marked this pull request as ready for review
September 4, 2026 01:36
This was referenced Sep 4, 2026
…pstream #15387) Port upstream Puppeteer PR #15387 adding video-stream-based screen recording via Page.record() / RecordAsync(), replacing the ffmpeg-based screencast flow for new recordings. - Add RecordOptions, ScreenRecording, IWritableDestination APIs - Implement CdpScreenRecording (Page.startScreenRecording + IO.read stream) - Implement BidiScreenRecording (browsingContext.start/stopScreencast) - Deprecate ScreencastAsync in favor of RecordAsync - Port page.test record integration test and ScreenRecording validation test - Sync upstream test expectations for Page.record on Chrome/Firefox Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
…Recording Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
…ge.record() Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
Upstream #15387 marks Page.record as FAIL on all platforms for Firefox. The linux-only narrowing belongs to upstream #15408. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
Match upstream WritableDestination.end() so FileStreams opened for RecordOptions.Path release their handles after StopAsync. Also add workflow concurrency to cancel superseded runs on this PR. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor
Bot
force-pushed
the
cursor/implement-upstream-15387-c423
branch
from
September 4, 2026 03:33
26179cf to
e43fa38
Compare
Match current upstream TestExpectations after #15408: Firefox Page.record remains expected FAIL on linux only (Bug 2066782). The Chrome FAIL entry is unchanged. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Ubuntu helper queued 6m+ behind open-PR matrix; old #3571 FF still stealing runners. windows-latest + bash + python for faster pickup. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Watch job 101057206221 / run 33869194949; cancel+rerun at Test>=120m. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Hang helper cancelled FF-hl at ~120m and rerun-failed; attempt4 FF-hl requeued. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Watch job 101098115593 / run 33869194949; cancel+rerun at Test>=120m. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Hang helper cancelled FF-hl at ~120m and rerun-failed; attempt5 FF-hl requeued. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Sep 4, 2026
Poll until Test ≥120m then cancel run + rerun-failed; exits clean if job finishes. Co-authored-by: Darío Kondratiuk <dariokondratiuk@gmail.com>
This was referenced Sep 5, 2026
sondresjolyst
pushed a commit
to sondresjolyst/garge-api
that referenced
this pull request
Sep 13, 2026
Updated [PuppeteerSharp](https://github.com/hardkoded/puppeteer-sharp) from 25.8.0 to 25.10.0. <details> <summary>Release notes</summary> _Sourced from [PuppeteerSharp's releases](https://github.com/hardkoded/puppeteer-sharp/releases)._ ## 25.10.0 ## What's Changed * fix: set frame content without document.write (#15358) by @kblok in hardkoded/puppeteer-sharp#3565 * feat: roll to Firefox 154.0 (#15361) by @kblok in hardkoded/puppeteer-sharp#3566 * New Feature: Support shadow roots in MutationPoller (#15292) by @kblok in hardkoded/puppeteer-sharp#3564 * fix: roll to Chrome 152.0.7977.54 (#15363) by @kblok in hardkoded/puppeteer-sharp#3567 * chore: bump version to 25.9.0 by @kblok in hardkoded/puppeteer-sharp#3568 * New Feature: Support canceling WebMCP tool execution (#15365) by @kblok in hardkoded/puppeteer-sharp#3563 * Update README.md - update downloads badge by @Meir017 in hardkoded/puppeteer-sharp#3569 * Fix: Roll to Chrome 152.0.7977.64 (upstream #15395) by @kblok in hardkoded/puppeteer-sharp#3574 * Fix: Do not miss the first screencast frame while startScreencast is in flight (upstream #15389) by @kblok in hardkoded/puppeteer-sharp#3578 * Fix: Roll to Firefox 154.0.1 (upstream #15397) by @kblok in hardkoded/puppeteer-sharp#3573 * Fix: Detect a websocket connection that died without a close (upstream #15406) by @kblok in hardkoded/puppeteer-sharp#3570 * Fix: Distinguish an unwritable userDataDir from a running browser (upstream #15405) by @kblok in hardkoded/puppeteer-sharp#3572 * Fix: Roll to Chrome 152.0.7977.75 (upstream #15409) by @kblok in hardkoded/puppeteer-sharp#3575 * chore: add newer iPhone KnownDevices (upstream #15400) by @kblok in hardkoded/puppeteer-sharp#3580 * chore: bump version to 25.10.0 by @kblok in hardkoded/puppeteer-sharp#3576 * New Feature: Implement page.record() video-stream screen recording (upstream #15387) by @kblok in hardkoded/puppeteer-sharp#3571 * New Feature: Roll to Firefox 155.0 (upstream #15408) by @kblok in hardkoded/puppeteer-sharp#3577 **Full Changelog**: hardkoded/puppeteer-sharp@v25.8.0...v25.10.0 Commits viewable in [compare view](hardkoded/puppeteer-sharp@v25.8.0...v25.10.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports puppeteer/puppeteer#15387:
page.record()video-stream screen recording (CDP + BiDi), writable destinations, and matching tests/expectations.Notes
masterafter Fix: Roll to Firefox 154.0.1 (upstream #15397) #3573 (Firefox 154.0.1) and Fix: Do not miss the first screencast frame while startScreencast is in flight (upstream #15389) #3578 (screencast docs) merged — conflict was only whitespace in workflow concurrency.End()to match upstreamWritableDestination.end().Part of the puppeteer-core-v25.10.0 port.