chore(deps): update dependency @playwright/test to v1.61.1#486
chore(deps): update dependency @playwright/test to v1.61.1#486renovate[bot] wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
dcf92ca to
68af428
Compare
📝 WalkthroughWalkthrough
Changes
Sequence Diagram(s)Not applicable. Related Issues: None specified. Related PRs: None specified. Suggested labels: dependencies, e2e Suggested reviewers: None specified. Poem 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
…est 1.61.1 PLAYWRIGHT_IMAGE was still pinned to v1.60.0-noble while Renovate bumped e2e/package.json's @playwright/test to 1.61.1, tripping the version-match guard in e2e-playwright.yml. Bumped the tag and its sha256 digest (resolved via docker buildx imagetools inspect) to v1.61.1-noble. renovate.json already groups @playwright/test and mcr.microsoft.com/playwright via a matching packageRule + customManager (added in ca65eb1, migrated to managerFilePatterns in 0647749), so no config change was made there — this appears to be a one-off miss on the first live run since the migration rather than a config gap.
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/e2e-playwright.yml:
- Around line 89-91: The comment above the PLAYWRIGHT_IMAGE pin is stale because
it still references the old v1.60.0-noble tag while the image is now pinned to
v1.61.1-noble. Update the explanatory comment in the e2e-playwright workflow to
match the current digest-pinned Playwright image tag so the note accurately
reflects the value used in the workflow.
- Line 91: The PLAYWRIGHT_IMAGE value in the e2e Playwright workflow is pinned
to an image that brings in a Node runtime regression and can break npm ci /
Playwright install before tests start. Update the PLAYWRIGHT_IMAGE reference in
the workflow to a newer Playwright container tag or digest that includes the
fixed Node version, keeping the image pinned to a specific known-good release.
Ensure the change is made in the e2e-playwright workflow entry that defines
PLAYWRIGHT_IMAGE.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: cd021ee8-e6e2-4545-b267-d95e4dcb15f9
📒 Files selected for processing (1)
.github/workflows/e2e-playwright.yml
| # Pinned by digest as well as tag so a mutated/republished :v1.60.0-noble | ||
| # tag cannot silently change the image we pull and run. | ||
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.60.0-noble@sha256:9bd26ad900bb5e0f4dee75839e957a89ae89c2b7ab1e76050e559790e946b948 | ||
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.61.1-noble@sha256:5b8f294aff9041b7191c34a4bab3ac270157a28774d4b0660e9743297b697e48 |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Stale comment still references old tag.
Line 89 comment says "a mutated/republished :v1.60.0-noble tag" but the pin was bumped to v1.61.1-noble. Update the comment to match the new tag.
diff
- # Pinned by digest as well as tag so a mutated/republished :v1.60.0-noble
+ # Pinned by digest as well as tag so a mutated/republished :v1.61.1-noble
# tag cannot silently change the image we pull and run.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Pinned by digest as well as tag so a mutated/republished :v1.60.0-noble | |
| # tag cannot silently change the image we pull and run. | |
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.60.0-noble@sha256:9bd26ad900bb5e0f4dee75839e957a89ae89c2b7ab1e76050e559790e946b948 | |
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.61.1-noble@sha256:5b8f294aff9041b7191c34a4bab3ac270157a28774d4b0660e9743297b697e48 | |
| # Pinned by digest as well as tag so a mutated/republished :v1.61.1-noble | |
| # tag cannot silently change the image we pull and run. | |
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.61.1-noble@sha256:5b8f294aff9041b7191c34a4bab3ac270157a28774d4b0660e9743297b697e48 |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/e2e-playwright.yml around lines 89 - 91, The comment above
the PLAYWRIGHT_IMAGE pin is stale because it still references the old
v1.60.0-noble tag while the image is now pinned to v1.61.1-noble. Update the
explanatory comment in the e2e-playwright workflow to match the current
digest-pinned Playwright image tag so the note accurately reflects the value
used in the workflow.
| # Pinned by digest as well as tag so a mutated/republished :v1.60.0-noble | ||
| # tag cannot silently change the image we pull and run. | ||
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.60.0-noble@sha256:9bd26ad900bb5e0f4dee75839e957a89ae89c2b7ab1e76050e559790e946b948 | ||
| PLAYWRIGHT_IMAGE: mcr.microsoft.com/playwright:v1.61.1-noble@sha256:5b8f294aff9041b7191c34a4bab3ac270157a28774d4b0660e9743297b697e48 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🌐 Web query:
microsoft/playwright issue ERR_STREAM_PREMATURE_CLOSE v1.61.1 fixed
💡 Result:
The ERR_STREAM_PREMATURE_CLOSE error is generally a Node.js runtime exception rather than a specific issue within Playwright v1.61.1 [1][2]. Technical context: 1. Origin of Error: This error occurs when a stream is closed before it has fully completed, commonly triggered in Node.js environments when a client disconnects during an active response or data transfer [1]. It has been observed appearing in Node.js versions 24.9–24.17 and 26.x [2]. 2. Playwright v1.61.1: Playwright v1.61.1 does not contain a specific fix for an internal ERR_STREAM_PREMATURE_CLOSE issue [3][4]. In fact, recent community reports indicate that users may encounter this error in Playwright environments if they are running specific, affected versions of Node.js (e.g., Node 24.17.0) within their Docker images or local setups [5]. 3. Recommended Resolution: If you are encountering this error, it is typically addressed by investigating the Node.js version in your environment or by implementing error handling (e.g., a try/catch block around the streaming pipeline) in the code consuming the streams, as the error often reflects a client-side disconnect rather than a defect in the Playwright library itself [1][5]. If you are seeing this consistently in CI, check if your Node.js runtime has been updated to one of the versions known to be affected by this stream handling behavior [5][2].
Citations:
- 1: Ignore
ERR_STREAM_PREMATURE_CLOSEin CLI server WordPress/wordpress-playground#3304 - 2: ERR_STREAM_PREMATURE_CLOSE after a complete chunked response when a keep-alive socket is destroyed (regression, 24.9–24.17 and 26.x) nodejs/node#64098
- 3: https://newreleases.io/project/github/microsoft/playwright/release/v1.61.1
- 4: https://npmx.dev/package-changelog/playwright/v/1.61.1
- 5: [Bug]: NodeJS 24.17.0 in Docker images for v1.61.1-resolute/noble needs update to NodeJS 24.18.0 microsoft/playwright#41448
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the workflow around the pinned Playwright image and the steps that use it.
git ls-files .github/workflows/e2e-playwright.yml
echo '---'
cat -n .github/workflows/e2e-playwright.yml | sed -n '1,220p'Repository: CodesWhat/drydock
Length of output: 10485
🌐 Web query:
Playwright v1.61.1 noble Node 24.17.0 ERR_STREAM_PREMATURE_CLOSE image release notes
💡 Result:
Playwright version 1.61.1 was released on June 23, 2026 [1][2]. The release contains several bug fixes and internal improvements but does not specifically mention a dedicated "noble" image or a direct fix for ERR_STREAM_PREMATURE_CLOSE in its primary release notes [3][1]. Regarding your query elements: Playwright v1.61.1 Release Notes: The release primarily focused on bug fixes, including resolutions for: - Expect.Extend matcher issues [1][2]. - Playwright UI mode reporting incorrect byte counts in apiRequestContext [1][2]. - Trace viewer websocket message timestamp scaling errors [1][2]. - Regression fixes for sync loaders on certain Node.js versions and ESM loader resolution for subpath imports [1][2]. Node 24.17.0: While you mentioned Node 24.17.0, it is not explicitly listed as a new dependency or fix in the v1.61.1 release notes [3]. However, dependency management tools often report updates to Playwright v1.61.1 alongside updates to Node.js environments (e.g., 24.x) in CI configurations [4][5]. Noble/Docker Image: The v1.61.1 commit history shows the addition of support for Ubuntu 26.04 (Resolute Raccoon) in the Docker image [3]. If "noble" refers to a specific environment or container label, please note that Playwright's official Docker images are regularly updated to support new Ubuntu releases, and this version added support for the 26.04 release [3]. ERR_STREAM_PREMATURE_CLOSE: This error is a standard Node.js stream error that occurs when a readable stream is destroyed before the stream has finished [6]. It is not a Playwright-specific bug, though it can appear in Playwright test logs when a browser or client disconnects unexpectedly during a request or stream [6][7]. If you are encountering this in your CI environment, it often indicates that a network request or browser session was terminated mid-process [6]. It is typically handled in application code by wrapping stream operations in error handlers to ignore this specific error if the closure is expected [6].
Citations:
- 1: https://npmx.dev/package-changelog/playwright/v/1.61.1
- 2: https://newreleases.io/project/github/microsoft/playwright/release/v1.61.1
- 3: microsoft/playwright@v1.61.0...v1.61.1
- 4: Dependency Dashboard camunda/camunda-docs#5809
- 5: 📦 Dependency Dashboard jycouet/firstly#2
- 6: Ignore
ERR_STREAM_PREMATURE_CLOSEin CLI server WordPress/wordpress-playground#3304 - 7: https://latchkey.dev/learn/node-js/playwright-test-describe-wrong-scope-in-ci
🌐 Web query:
site:github.com/microsoft/playwright "v1.61.1-noble" "Node 24.17.0" "ERR_STREAM_PREMATURE_CLOSE"
💡 Result:
The error ERR_STREAM_PREMATURE_CLOSE reported in Playwright Docker images using Node.js 24.17.0 is a known issue associated with a regression in Node.js, specifically affecting operations involving stream handling and zip extraction (such as when running playwright install) [1][2]. Context and Details: - The issue was identified in June 2026, specifically affecting Node.js 24.17.0 within the Playwright v1.61.1-noble Docker environment [1]. - This behavior is linked to broader instability in Node.js 24.16.0+ regarding stream lifecycles, which previously caused processes to hang or throw premature close errors in tools utilizing libraries like extract-zip and yauzl [3][2]. - While Playwright implemented internal fixes to mitigate stream-related issues in earlier versions (such as in PR #40924) [3], the introduction of Node.js 24.17.0 reintroduced regressions that caused the ERR_STREAM_PREMATURE_CLOSE error during browser installation or other stream-heavy tasks [1]. To resolve or work around this, users have been advised to check for updated Playwright Docker images that address the Node.js environment or to use a compatible, stable version of Node.js if the current release remains broken for their specific use case [1][2]. Users are encouraged to monitor the official Playwright GitHub repository for patches addressing this specific Node.js regression [1].
Citations:
- 1: [Bug]: NodeJS 24.17.0 in Docker images for v1.61.1-resolute/noble needs update to NodeJS 24.18.0 microsoft/playwright#41448
- 2: [Bug]:
playwright install chromiumhangs after download completes on Node.js 24.16.0 (extract-zip) microsoft/playwright#41000 - 3: fix(yauzl): defer fd-slicer ref cleanup until stream end microsoft/playwright#40924
Pin a fixed Playwright image. v1.61.1-noble pulls the Node 24.17.0 runtime that can hit ERR_STREAM_PREMATURE_CLOSE in the containerized npm ci / Playwright install path, so this can fail before the tests start. Move to a Playwright image with the Node regression fixed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/e2e-playwright.yml at line 91, The PLAYWRIGHT_IMAGE value
in the e2e Playwright workflow is pinned to an image that brings in a Node
runtime regression and can break npm ci / Playwright install before tests start.
Update the PLAYWRIGHT_IMAGE reference in the workflow to a newer Playwright
container tag or digest that includes the fixed Node version, keeping the image
pinned to a specific known-good release. Ensure the change is made in the
e2e-playwright workflow entry that defines PLAYWRIGHT_IMAGE.
This PR contains the following updates:
1.60.0→1.61.1Release Notes
microsoft/playwright (@playwright/test)
v1.61.1Compare Source
v1.61.0Compare Source
🔑 WebAuthn passkeys
New Credentials virtual authenticator, available via browserContext.credentials, lets tests register passkeys and answer
navigator.credentials.create()/navigator.credentials.get()ceremonies in the page — no real hardware key required, works in all browsers:You can also let the app register a passkey once in a setup test, read it back with credentials.get(), and seed it into later tests — see Credentials for details.
🗃️ Web Storage
New WebStorage API, available via page.localStorage and page.sessionStorage, reads and writes the page's storage for the current origin:
New APIs
Network
Browser and Screencast
artifactsDirin browserType.connectOverCDP() controls where artifacts such as traces and downloads are stored when attached to an existing browser.cursorin screencast.showActions() controls the cursor decoration rendered for pointer actions.onFramecallback in screencast.start() now receives atimestampof when the frame was presented by the browser.Test runner
trace: new'on-all-retries','retain-on-first-failure'and'retain-on-failure-and-retries'values. See the video modes table for which runs are recorded and kept in each mode.expect.soft.poll(...).process.argvfrom the runner process, handy for reading custom arguments passed after the--separator.AggregateErroras a separate entry.-Gcommand line shorthand for--grep-invert.🛠️ Other improvements
Browser Versions
This version was also tested against the following stable channels:
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
🔧 Changed
Bumped
@playwright/testine2e/package.jsonfrom1.60.0to1.61.1.Updated the Playwright runner image pin in
.github/workflows/e2e-playwright.ymltomcr.microsoft.com/playwright:v1.61.1-noblewith the matching SHA256 digest.Verify the new Playwright image digest is correct and still available in the registry.
Confirm the e2e workflow version guard now matches the updated test package version.