Repository navigation
chore(deps): Update frontend pnpm dependencies - #448
renovate[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #448 +/- ##
=======================================
Coverage 82.90% 82.90%
=======================================
Files 116 116
Lines 12331 12331
=======================================
Hits 10223 10223
Misses 2108 2108
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
🚀 Lint & Format Check Results: ❌ FAILEDWhat was checked:
❌ Some checks failed!How to fix:
uv run python scripts/lint.py
git add .
git commit -m "fix: apply lint and format fixes"
git push
Individual fix commands:Backend: uv run ruff check --fix
uv run ruff formatFrontend: cd frontend
pnpm lint --fix
pnpm format
cd ..This is an automated check. For questions, ask in the PR discussion. |
eebaed1 to
2f2151d
Compare
2f2151d to
d7d8193
Compare
d7d8193 to
08fed58
Compare
08fed58 to
0ad58b5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0ad58b5b48
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "vite": "^7.3.5" | ||
| }, | ||
| "packageManager": "pnpm@10.34.1+sha512.b58fbde6dca66a929538021581f648b4570b6ca19b18e7cbd7f2c07a7b24454155388dacdf08f2af3678e88a6d1fe04f9d609df24bf51735a060ea041b374ab7" | ||
| "packageManager": "pnpm@10.34.4+sha512.8768be55200ae3f2226b6527fcca2687e14bc4e5f12d7721a0f25da3df47915177058648db4177baf348120fa0ba2752d8d8d93f6beaf1fe64ae18da8de961af" |
There was a problem hiding this comment.
Pin packageManager to an existing pnpm release
When Corepack/pnpm honors this packageManager field (for example the Dockerfile enables Corepack and then runs pnpm install --frozen-lockfile in frontend), it will try to activate pnpm@10.34.4; the published pnpm 10.x release line currently ends at 10.34.3, so this version cannot be resolved and frontend installs/builds fail before dependencies are installed. Pin this to a published version such as 10.34.3, with the matching integrity, or remove the invalid pin.
Useful? React with 👍 / 👎.
0ad58b5 to
4aae371
Compare
4aae371 to
0c4c8ae
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c4c8ae0d3
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "devDependencies": { | ||
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@playwright/test": "^1.61.1", |
There was a problem hiding this comment.
Pin Playwright to a published stable release
With this specifier and the committed lockfile resolving @playwright/test, playwright, and playwright-core to 1.61.1, fresh pnpm install --frozen-lockfile runs will need to fetch that exact version. I checked the public package indexes/release notes for this update and they list stable 1.61.0 plus 1.61.1-beta-* prereleases, but not a stable 1.61.1, so CI/Docker builds will fail before tests can run. Pin this to the published 1.61.0 release or wait until 1.61.1 is actually available.
Useful? React with 👍 / 👎.
0c4c8ae to
b6cf8d0
Compare
b6cf8d0 to
739f65d
Compare
739f65d to
ae59cc1
Compare
ae59cc1 to
60f6731
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 663e003939
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "lucide-react": "^0.577.0", | ||
| "next-themes": "^0.4.6", | ||
| "postcss": "^8.5.15", | ||
| "postcss": "^8.5.21", |
There was a problem hiding this comment.
Pin PostCSS to a published release
In fresh frontend installs that use the committed lockfile, pnpm install --frozen-lockfile has to fetch postcss@8.5.21, but the public npm package page currently lists 8.5.20 as the latest published version (https://www.npmjs.com/package/postcss). This means CI/Docker installs will fail during dependency resolution before the frontend can lint or build; pin this back to a published PostCSS version or wait until 8.5.21 is published.
Useful? React with 👍 / 👎.
| "postcss": "^8.5.21", | ||
| "qrcode.react": "^4.2.0", | ||
| "radix-ui": "^1.5.0", | ||
| "radix-ui": "^1.6.4", |
There was a problem hiding this comment.
Pin aggregate Radix to a published release
Fresh evidence for the earlier aggregate Radix dependency issue: this diff now pins radix-ui@1.6.4, while the public npm versions page currently lists 1.6.2 as the latest published radix-ui release (https://www.npmjs.com/package/radix-ui?activeTab=versions). Because the lockfile also records the exact radix-ui@1.6.4 tarball and the app imports from radix-ui, fresh pnpm install --frozen-lockfile runs will fail before lint/build can start.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9378f42cf0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "react": "^19.2.8", | ||
| "react-dom": "^19.2.8", |
There was a problem hiding this comment.
Pin React to a published release
With this update, fresh frontend installs have to resolve the exact react@19.2.8 tarball recorded in the lockfile, and react-dom@19.2.8 now peers on react: ^19.2.8; however the current React npm/GitHub release listings still stop at 19.2.7, so pnpm install --frozen-lockfile fails before the frontend can build or lint. Pin React back to a published patch or wait until 19.2.8 is actually available.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 898d85746a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.18", | ||
| "@tanstack/react-router-devtools": "^1.167.0", | ||
| "@tanstack/router-plugin": "^1.168.18", | ||
| "@tanstack/router-plugin": "^1.168.23", |
There was a problem hiding this comment.
Pin router plugin to a published release
Fresh evidence for the earlier TanStack dependency-resolution concern is that this commit now requires @tanstack/router-plugin@1.168.23 in both package.json and the lockfile, while the npm package page still lists the latest published router-plugin version below that (https://www.npmjs.com/package/%40tanstack/router-plugin?activeTab=versions). Any fresh cd frontend && pnpm install --frozen-lockfile path will stop before the frontend can lint or build, so this needs to be pinned to a published plugin version or deferred until 1.168.23 exists.
Useful? React with 👍 / 👎.
| "radix-ui": "^1.5.0", | ||
| "react": "^19.2.7", | ||
| "react-dom": "^19.2.7", | ||
| "radix-ui": "^1.6.5", |
There was a problem hiding this comment.
Pin Radix UI to published versions
This commit now pins radix-ui@1.6.5 in package.json and resolves the same exact tarball in pnpm-lock.yaml, but the public npm page for the aggregate package still shows 1.6.2 as the latest published release (https://www.npmjs.com/package/radix-ui?activeTab=versions). Fresh frontend installs therefore cannot resolve the locked dependency; pin this and the matching Radix primitive bumps back to published releases before merging.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 89698b8886
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@eslint/js": "^9.39.5", | ||
| "@playwright/test": "^1.62.0", |
There was a problem hiding this comment.
Pin Playwright to a published release
Fresh evidence relative to the earlier Playwright comment: this commit now pins @playwright/test and the lockfile to 1.62.0, while the npm versions page still lists 1.61.1 as the latest published stable release (https://www.npmjs.com/package/%40playwright/test?activeTab=versions). Any fresh frontend install path, including the Docker build's pnpm install --frozen-lockfile, will fail resolving that tarball before e2e tests or builds can run; pin this back to a published Playwright version or wait until 1.62.0 exists.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8fff3e23b5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| engines: {node: '>=18'} | ||
| '@playwright/test@1.62.0': | ||
| resolution: {integrity: sha512-9zOJ6ZQRAena31MpOH9VSzIz8Ou3YJ/wtY/eQm5T2uhfhG7/U3COrMS8xOtUrZrp9OgdmzEnIYODye3nY1VqzA==} | ||
| engines: {node: '>=20'} |
There was a problem hiding this comment.
Keep Playwright Node 18-compatible
For users following the documented Node.js 18+ setup, this bump makes the frontend e2e tooling require Node 20: the committed lockfile now records @playwright/test, playwright, and playwright-core 1.62.0 with engines: {node: '>=20'}, whereas the previous 1.60.0 lockfile allowed >=18. CI uses Node 24, but local/documented Node 18 installs are still supported, so keep Playwright on a Node 18-compatible release or raise the documented runtime requirement.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c9320169d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "lucide-react": "^0.577.0", | ||
| "next-themes": "^0.4.6", | ||
| "postcss": "^8.5.15", | ||
| "postcss": "^8.5.25", |
There was a problem hiding this comment.
Pin PostCSS to a published release
Fresh evidence compared with the previous PostCSS comment: this diff now pins postcss and the lockfile to 8.5.25, while the current npm/PostCSS release listings stop at 8.5.24. Any fresh frontend install path, including the Dockerfile’s pnpm install --frozen-lockfile before build, will try to fetch a non-existent postcss@8.5.25 tarball and fail before linting or building can run; pin this back to a published PostCSS version until 8.5.25 exists.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: deda042408
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| engines: {node: '>=18'} | ||
| '@playwright/test@1.62.1': | ||
| resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} | ||
| engines: {node: '>=20'} |
There was a problem hiding this comment.
Keep Playwright e2e on Node 18
For developers using the documented Node.js 18+ setup, this bump makes the e2e runner unsupported: the lockfile moves @playwright/test/playwright/playwright-core from 1.60.0 with engines: {node: '>=18'} to 1.62.1 with engines: {node: '>=20'}. Fresh evidence relative to the earlier comment is that the current lockfile now records 1.62.1 rather than 1.62.0, so keep Playwright on a Node 18-compatible release or raise the documented runtime requirement.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0457023147
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.19", | ||
| "@tanstack/react-router-devtools": "^1.167.1", |
There was a problem hiding this comment.
Pin TanStack packages to stable published versions
Fresh evidence relative to the earlier TanStack install comments: this diff now requires the exact @tanstack/react-router@1.170.19 and @tanstack/react-router-devtools@1.167.1 tarballs in both package.json and pnpm-lock.yaml, while the current npm listings still top out at stable 1.170.18 and 1.167.0 (the .19/.1 builds only appear as prereleases). A fresh cd frontend && pnpm install/frozen install therefore cannot resolve these direct dependencies before lint/build can run; pin them to published stable versions or wait for stable releases.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9753bab4c4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@radix-ui/react-toast": "^1.2.23", | ||
| "@radix-ui/react-tooltip": "^1.2.16", | ||
| "@tailwindcss/postcss": "^4.3.3", | ||
| "@tanstack/react-router": "^1.170.20", |
There was a problem hiding this comment.
Pin TanStack router to a published npm version
For a fresh frontend setup using the documented cd frontend && pnpm install, this specifier plus the lockfile require @tanstack/react-router@1.170.20, but the npm versions page still advertises 1.170.18 as the latest published stable version (https://www.npmjs.com/package/%40tanstack/react-router?activeTab=versions), so dependency resolution can fail before lint/build runs. Fresh evidence relative to the earlier TanStack comments is that this reviewed commit now pins 1.170.20 rather than the previously flagged 1.170.19; pin back to a published version or wait for npm publication.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b5443cdf2d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "lucide-react": "^0.577.0", | ||
| "next-themes": "^0.4.6", | ||
| "postcss": "^8.5.15", | ||
| "postcss": "^8.5.26", |
There was a problem hiding this comment.
Pin PostCSS to a published version
For a fresh frontend setup using the repo-documented cd frontend && pnpm install, this new ^8.5.26 specifier and the lockfile's postcss@8.5.26 entry require a tarball that the npm package page currently does not publish (https://www.npmjs.com/package/postcss lists 8.5.25 as latest). Fresh evidence relative to the earlier PostCSS comments is that this commit now asks for 8.5.26, not the previously discussed 8.5.25, so dependency resolution fails before lint/build can run; pin to 8.5.25 or wait for 8.5.26 to be published.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c98cee7d7d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@radix-ui/react-toast": "^1.2.23", | ||
| "@radix-ui/react-tooltip": "^1.2.16", | ||
| "@tailwindcss/postcss": "^4.3.3", | ||
| "@tanstack/react-router": "^1.170.21", |
There was a problem hiding this comment.
Pin TanStack router to a published version
Fresh evidence relative to the earlier TanStack install comments: this commit now asks for @tanstack/react-router@^1.170.21, while the npm versions page I checked today still lists 1.170.20 as the latest published stable version, and the committed lockfile also requires the exact 1.170.21 tarball. Any fresh cd frontend && pnpm install path therefore fails before lint/build can run, so pin this back to a published router release or wait for the npm publication.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e17e3447a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.24", | ||
| "@tanstack/react-router-devtools": "^1.167.1", | ||
| "@tanstack/router-plugin": "^1.168.28", |
There was a problem hiding this comment.
Pin TanStack packages to published releases
Fresh evidence relative to the earlier TanStack install comments is that this hunk now pins @tanstack/react-router to ^1.170.24 and @tanstack/router-plugin to ^1.168.28; the current npm versions pages still top out below those versions (the same commit's Renovate metadata only targeted 1.170.23/1.168.27, and the package pages at https://www.npmjs.com/package/%40tanstack/react-router?activeTab=versions and https://www.npmjs.com/package/%40tanstack/router-plugin?activeTab=versions do not list the pinned versions). Since the lockfile resolves those exact tarballs, a fresh documented cd frontend && pnpm install fails before lint/build; pin to published versions or wait for npm publication.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 924da78ee8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tailwindcss/postcss": "^4.3.3", | ||
| "@tanstack/react-router": "^1.170.25", | ||
| "@tanstack/react-router-devtools": "^1.167.1", | ||
| "@tanstack/router-plugin": "^1.168.29", |
There was a problem hiding this comment.
Pin router plugin to a published tarball
Fresh evidence relative to the earlier TanStack install comments: this revision now pins @tanstack/router-plugin to ^1.168.29, but the current npm listing I checked (https://www.npmjs.com/package/%40tanstack/router-plugin) still tops out below that version rather than providing a stable 1.168.29 tarball. A documented fresh cd frontend && pnpm install must resolve this direct dependency and will fail before lint/build can run, so pin to a published router-plugin release or wait until 1.168.29 is actually on npm.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5f564e131d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@radix-ui/react-toast": "^1.2.23", | ||
| "@radix-ui/react-tooltip": "^1.2.16", | ||
| "@tailwindcss/postcss": "^4.3.3", | ||
| "@tanstack/react-router": "^1.170.25", |
There was a problem hiding this comment.
Pin React Router to a published npm release
For the documented fresh frontend setup (cd frontend && pnpm install), this new specifier plus the lockfile's exact @tanstack/react-router@1.170.25 entry forces pnpm to fetch a tarball that the npm package page currently still lists only up to 1.170.24 (https://www.npmjs.com/package/%40tanstack/react-router). That stops dependency resolution before lint/build can run; fresh evidence relative to earlier TanStack comments is that this commit now pins 1.170.25, not 1.170.24, so pin to a published version or wait until npm publishes it.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 52d7659a35
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.28", | ||
| "@tanstack/react-router-devtools": "^1.167.1", | ||
| "@tanstack/router-plugin": "^1.168.31", |
There was a problem hiding this comment.
Pin TanStack packages to published releases
Fresh evidence relative to the earlier TanStack comments is that this revision now requires @tanstack/react-router@1.170.28 and @tanstack/router-plugin@1.168.31, while the same commit's Renovate metadata identifies only 1.170.27 and 1.168.30 as the released update targets. Because the lockfile also resolves the newer exact versions, documented fresh installs and the Docker/CI pnpm install --frozen-lockfile paths cannot fetch these tarballs and stop before linting or building; pin both packages to published versions.
AGENTS.md reference: AGENTS.md:L12-L16
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 63e246367f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router-devtools": "^1.167.1", | ||
| "@tanstack/router-plugin": "^1.168.32", | ||
| "@xterm/addon-fit": "^0.11.0", |
There was a problem hiding this comment.
Pin TanStack packages to published versions
Fresh evidence relative to the earlier TanStack comments is that this revision now requires @tanstack/react-router@1.170.29 and @tanstack/router-plugin@1.168.32, while this commit's own Renovate metadata identifies only 1.170.28 and 1.168.31 as the released update targets. Because the lockfile resolves the newer exact versions, a documented fresh cd frontend && pnpm install cannot fetch these tarballs and stops before linting or building; pin both dependencies to published releases.
AGENTS.md reference: AGENTS.md:L12-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3f9e58060b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.30", | ||
| "@tanstack/react-router-devtools": "^1.167.1", | ||
| "@tanstack/router-plugin": "^1.168.33", |
There was a problem hiding this comment.
Pin TanStack packages to the released versions
The Dockerfile's frontend stage runs pnpm install --frozen-lockfile, but these specifiers and the lockfile require exact @tanstack/react-router@1.170.30 and @tanstack/router-plugin@1.168.33 tarballs while this commit's own Renovate metadata identifies only 1.170.29 and 1.168.32 as the released update targets. Fresh evidence relative to the earlier TanStack comments is that this revision has advanced both dependencies another patch beyond those previously flagged versions, so a fresh install stops before the frontend can build; pin them to the released versions.
AGENTS.md reference: AGENTS.md:L12-L15
Useful? React with 👍 / 👎.
|
@renovate rebase |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1cf46300c5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@eslint/js": "^9.39.5", | ||
| "@playwright/test": "^1.63.0", |
There was a problem hiding this comment.
Preserve Node 18 support for Playwright
For documented Node.js 18+ users, this resolves Playwright 1.63.0, while frontend/pnpm-lock.yaml:586-588 (and its playwright/playwright-core entries) declares node: >=20; the previous 1.60.0 lock entries allowed Node 18. This leaves the documented Node 18 environment unsupported for pnpm test:e2e. Fresh evidence relative to the existing 1.62.1 comment is that this revision now resolves 1.63.0 with the same Node 20 floor. Keep a Node-18-compatible Playwright release or raise the documented runtime requirement.
AGENTS.md reference: AGENTS.md:L12-L12
Useful? React with 👍 / 👎.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2fb6122696
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router-devtools": "^1.167.0", | ||
| "@tanstack/router-plugin": "^1.168.18", | ||
| "@radix-ui/react-collapsible": "^1.1.21", | ||
| "@radix-ui/react-dialog": "^1.2.0", |
There was a problem hiding this comment.
Pin Radix packages to published releases
Fresh evidence relative to the earlier Radix comments: @radix-ui/react-dialog@1.2.0 is not a published stable release (npm currently stops at 1.1.23, with 1.2.0 only available as RC builds); the same applies to the other updated Radix primitives and the aggregate radix-ui@1.7.0 pin. The lockfile records these exact unavailable versions, so both the documented frontend install and Docker's frozen install fail before the frontend can build. Pin the Radix packages to their published releases.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
| "@types/lodash": "^4.17.25", | ||
| "@types/react": "^19.3.0", | ||
| "@types/react-dom": "^19.3.0", | ||
| "@typescript-eslint/eslint-plugin": "^8.71.1", |
There was a problem hiding this comment.
Pin TypeScript ESLint plugin to a published release
Fresh evidence relative to the earlier TypeScript ESLint comments: this commit requires @typescript-eslint/eslint-plugin@8.71.1, but npm currently publishes 8.71.0 as the latest stable version and only prerelease 8.71.1 builds. Because the lockfile also resolves the unavailable exact version, a fresh frontend install cannot complete, blocking linting and builds; use the published plugin version (and regenerate the lockfile).
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 63c0225ed5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@eslint/js": "^9.39.5", | ||
| "@playwright/test": "^1.64.0", |
There was a problem hiding this comment.
Pin Playwright to the released stable version
Fresh evidence relative to the earlier Playwright dependency comment is that this revision now pins and locks @playwright/test@1.64.0, while the current npm versions page lists 1.63.0 as latest and only prerelease builds for 1.64.0; the PR metadata also identifies 1.63.0 as the intended update. Consequently, the documented fresh frontend install and Docker's frozen install cannot fetch the exact locked tarball, so keep this on 1.63.0 until the stable 1.64.0 release is published.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aed1ae9da8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@eslint/js": "^9.39.5", | ||
| "@playwright/test": "^1.64.0", |
There was a problem hiding this comment.
Preserve Node 18 support for Playwright
For developers using the documented Node.js 18+ setup, this upgrade makes the frontend e2e runner unsupported: frontend/pnpm-lock.yaml:586-588 raises @playwright/test's engine requirement from Node 18 to >=20, as do its playwright and playwright-core dependencies. Fresh evidence relative to the earlier 1.63.0 compatibility comment is that this revision now resolves 1.64.0 with the same Node 20 floor; keep a Node-18-compatible Playwright release or raise the documented runtime requirement.
AGENTS.md reference: AGENTS.md:L10-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 03a0ac9324
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.42", | ||
| "@tanstack/react-router-devtools": "^1.167.2", | ||
| "@tanstack/router-plugin": "^1.168.43", |
There was a problem hiding this comment.
Pin TanStack packages to the released versions
Fresh evidence relative to the earlier TanStack comments: this revision pins @tanstack/react-router@1.170.42 and @tanstack/router-plugin@1.168.43, while this commit's own Renovate update table identifies only 1.170.41 and 1.168.42 as the released targets. Because the lockfile resolves the newer exact versions, documented frontend installs and Docker's pnpm install --frozen-lockfile attempt to fetch unavailable tarballs and stop before linting or building; use the released versions and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L14-L15
Useful? React with 👍 / 👎.
| "eslint-plugin-react-refresh": "^0.5.7", | ||
| "globals": "^16.5.0", | ||
| "prettier": "^3.8.4", | ||
| "prettier": "^3.9.10", |
There was a problem hiding this comment.
Pin Prettier to the released update
This revision requires prettier@3.9.10 in both the manifest and lockfile, but the commit's Renovate update table identifies 3.9.9 as the released update target. Fresh installs therefore try to fetch an unavailable 3.9.10 tarball and fail before the frontend lint/format/build commands can run; pin Prettier to 3.9.9 and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L14-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e0c5a738e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "radix-ui": "^1.5.0", | ||
| "react": "^19.2.7", | ||
| "react-dom": "^19.2.7", | ||
| "radix-ui": "^1.8.0", |
There was a problem hiding this comment.
Pin Radix dependencies to published releases
Fresh evidence relative to the earlier Radix comment: this revision now pins and locks radix-ui@1.8.0, while the commit's own Renovate update table identifies 1.7.0 as the released target; the direct primitives are likewise advanced beyond their listed targets, such as dialog 1.3.0 versus 1.2.0. A documented fresh frontend install must fetch these exact locked versions and therefore stops before linting or building; use the released Radix versions and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20cfe799d1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tanstack/react-router": "^1.170.44", | ||
| "@tanstack/react-router-devtools": "^1.167.2", | ||
| "@tanstack/router-plugin": "^1.168.45", |
There was a problem hiding this comment.
Pin TanStack packages to published releases
Fresh evidence relative to the earlier TanStack comments is that this revision now requires @tanstack/react-router@1.170.44 and @tanstack/router-plugin@1.168.45, while this commit's Renovate update table identifies only 1.170.42 and 1.168.43 as the released targets. Because the lockfile resolves these newer exact versions, a fresh documented frontend install or the Dockerfile's frozen install cannot fetch the tarballs and stops before linting or building; use published versions and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
| "@radix-ui/react-collapsible": "^1.2.1", | ||
| "@radix-ui/react-dialog": "^1.3.1", | ||
| "@radix-ui/react-label": "^2.1.17", | ||
| "@radix-ui/react-popover": "^1.3.1", |
There was a problem hiding this comment.
Pin Radix primitives to published releases
Fresh evidence relative to the earlier Radix comments is that this revision advances the primitives another patch beyond the releases listed in its Renovate table—for example, collapsible is pinned to 1.2.1 instead of 1.2.0 and dialog/popover to 1.3.1 instead of 1.3.0. The lockfile records these exact unavailable versions, so fresh frontend and Docker installs fail during dependency resolution; restore the released Radix versions and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
| "lucide-react": "^0.577.0", | ||
| "next-themes": "^0.4.6", | ||
| "postcss": "^8.5.23", | ||
| "postcss": "^8.5.30", |
There was a problem hiding this comment.
Pin PostCSS to the published release
Fresh evidence relative to the earlier PostCSS comments is that this revision now pins and locks postcss@8.5.30, while the commit's Renovate update table identifies 8.5.29 as the released target. A fresh documented pnpm install or Docker frozen install therefore attempts to fetch an unavailable tarball and fails before frontend linting or building; use 8.5.29 and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
| "@typescript-eslint/eslint-plugin": "^8.71.2", | ||
| "@typescript-eslint/parser": "^8.71.2", |
There was a problem hiding this comment.
Pin TypeScript ESLint to published releases
Fresh evidence relative to the earlier TypeScript ESLint comment is that this revision now requires both packages at 8.71.2, whereas the commit's Renovate update table identifies 8.71.1 as the released target. Since the lockfile also resolves the exact 8.71.2 tarballs, fresh frontend installs fail before linting or building can run; pin the plugin and parser to the published version and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2768e84b56
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "@tailwindcss/postcss": "^4.3.3", | ||
| "@tanstack/react-router": "^1.170.44", | ||
| "@tanstack/react-router-devtools": "^1.167.2", | ||
| "@tanstack/router-plugin": "^1.168.46", |
There was a problem hiding this comment.
Pin the router plugin to the published release
Fresh evidence relative to the earlier TanStack comments is that this revision now requires and locks @tanstack/router-plugin@1.168.46, while the current npm package listing and this commit's Renovate update table identify 1.168.45 as the latest published release. Consequently, the documented frontend install and the frozen install at Dockerfile:19 cannot fetch the locked tarball and stop before the frontend builds; use the published version and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
| "@eslint/js": "^9.39.4", | ||
| "@playwright/test": "^1.60.0", | ||
| "@eslint/js": "^9.39.5", | ||
| "@playwright/test": "^1.64.1", |
There was a problem hiding this comment.
Pin Playwright to the published stable release
Fresh evidence relative to the earlier Playwright comments is that this revision now requires and locks the exact stable version @playwright/test@1.64.1, whereas the current npm versions listing exposes 1.64.0 as latest and only prerelease builds for 1.64.1. Because the Docker build installs development dependencies with pnpm install --frozen-lockfile at Dockerfile:19, dependency resolution fails before the frontend build; keep this at 1.64.0 until a stable 1.64.1 is published.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c9146cf35
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "react": "^19.3.1", | ||
| "react-dom": "^19.3.1", |
There was a problem hiding this comment.
Pin React to the published version
At review time, npm lists React and React DOM 19.3.0 as the latest stable releases and does not expose 19.3.1, while this manifest and the lockfile require exact 19.3.1 tarballs. The documented fresh cd frontend && pnpm install path therefore fails before the frontend can build; use the published matching React versions and regenerate the lockfile.
AGENTS.md reference: AGENTS.md:L15-L15
Useful? React with 👍 / 👎.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
^9.39.4→^9.39.5^1.60.0→^1.64.1^1.1.13→^1.2.1^1.1.16→^1.3.1^2.1.9→^2.1.17^1.1.16→^1.3.1^1.2.11→^1.4.0^1.1.9→^1.2.0^1.2.5→^1.5.0^1.1.14→^1.2.1^1.2.16→^1.3.1^1.2.9→^1.4.1^4.3.0→^4.3.3^1.170.15→^1.170.44^1.167.0→^1.167.2^1.168.18→^1.168.46^4.17.24→^4.17.26^19.2.17→^19.3.0^19.2.3→^19.3.0^8.61.0→^8.71.2^8.61.0→^8.71.2^9.39.4→^9.39.5^5.5.6→^5.5.7^0.5.2→^0.5.710.34.1+sha512.b58fbde6dca66a929538021581f648b4570b6ca19b18e7cbd7f2c07a7b24454155388dacdf08f2af3678e88a6d1fe04f9d609df24bf51735a060ea041b374ab7→10.34.7^8.5.23→^8.5.30^3.8.4→^3.9.10^1.5.0→^1.8.1^19.2.7→^19.3.1^19.2.7→^19.3.1^4.8.3→^4.8.4^3.6.0→^3.7.0^4.3.0→^4.3.3^7.3.5→^7.3.7Release Notes
eslint/eslint (@eslint/js)
v9.39.5Compare Source
Bug Fixes
253be16fix: handle unavailable require cache (backport of #20812 to v9.x) (#21065) (Eric)Documentation
74930eddocs: switch build to Node.js 24 (#20894) (Milos Djermanovic)eaec8bbdocs: Add ESLint v9.x EOL notice (#20828) (Milos Djermanovic)Chores
458205fchore: update@eslint/eslintrcand@eslint/jsfor v9.39.5 (#21077) (Francesco Trotta)202117bchore: package.json update for @eslint/js release (Jenkins)d9eb6edtest: disable warning forvm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER(#21074) (Francesco Trotta)7b431a7chore: overridere2dependency for@metascraper/helpers(#21068) (Milos Djermanovic)daf7791chore: pin fflate@0.8.2 (#20895) (Milos Djermanovic)daee8baci: use pnpm ineslint-flat-config-utilstype integration test (#20829) (Milos Djermanovic)116d4beci: unpin Node.js 25.x in CI (#20619) (Copilot)microsoft/playwright (@playwright/test)
v1.64.1Compare Source
Bug Fixes
v1.64.0Compare Source
🧰 WebMCP
New page.webmcp and frame.webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like any other part of your app:
Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as
webmcp_<tool>. Pass--no-webmcpto opt out.playwright-cliexposes them as well:playwright-cli webmcp-list playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'🎬 Better videos
Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:
fpsoption in testOptions.video,recordVideoandscreencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
styleoption takes CSS declarations for thepointmarker, the targethighlightand the actiontitle. It replaces thefontSizeoption, which is now deprecated.quality.
playwright-cli.🎯 Test runner
New testProject.default option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain
npx playwright testrun just your favourite one:New
--shufflecommand line option schedules tests in a random order, which helps to find tests that accidentally depend on each other.New
lockoption in test.describe.configure() adds test locks to all tests in a file or a group:New
typeoption oftoHaveScreenshotin testConfig.expect stores all unnamed screenshots as WebP:🪆 Locator.within()
New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":
Relative locators such as locator.nth() or locator.first() are resolved inside each parent
separately, which makes column-like queries straightforward:
New APIs
New page.getByRef() locates an element by its aria ref, such as
e2, reported by page.ariaSnapshot() in the'ai'mode.New option
includeShadowin page.content() and frame.content() serializes open shadow roots as declarative shadow DOM.New option
signCountsets the initial signature counter of a virtual credential. credentials.create() and credentials.get() return the currentsignCount, and it is saved and restored together with the credentials in the storage state.New fullConfig.filteredProjects lists the projects that were selected to run after applying the
--projectfilter. It is available in global setup and reporters.New apiRequestContext.addCookies(), apiRequestContext.cookies() and apiRequestContext.clearCookies() manage cookies of a request context, mirroring the BrowserContext methods:
Breaking changes⚠️
screenproperty is now forwarded from the device descriptors. If you use...devices['Desktop Chrome']and alike,window.screenand media queries now see the emulated screen size. You can opt-out by explicitly settingscreentoundefined:JSX in your test files now follows your
tsconfig.json. Playwright compiles JSX in test files according to thejsx,jsxFactory,jsxFragmentFactoryandjsxImportSourcetsconfig options, and defaults to the automatic runtime fromreact/jsx-runtime.--update-snapshots=missingnow passes the test run. Tests that only create missing snapshots now pass in the'missing'mode of testConfig.updateSnapshots, so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called'default'and behaves as before: missing snapshots are written and the test fails.Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with
visibility: hidden, are now considered hidden by actions, locator.isVisible() and expect(locator).toBeVisible().Browser Versions
This version was also tested against the following stable channels:
v1.63.0Compare Source
🔒 Test locks
Tests that access a shared resource — an external service, a global account setting — can now declare a named
lock.Tests that share a lock name never run concurrently, across files, workers and projects, while
everything else keeps running in parallel:
A test can hold multiple locks, and test.describe() accepts a
lockfor the whole group.Learn more about test locks.
🪟 Locate across frames
page.frameLocator() and frame.frameLocator() called without a selector search in any frame of the
subtree, so you no longer need to locate the iframe first:
The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it
matches elements in several frames.
👁️ Visible-only locators
New locator.visible() returns a locator that matches only visible elements. It is the recommended
replacement for the
:visibleCSS pseudo-class:🧾 Step params and subtitles
Steps now carry structured data for reporters. Playwright API steps report the target locator and call arguments,
and test.step() accepts
subtitleandparamsoptions for your own steps:Reporters receive them via testStep.subtitle and testStep.params. For Playwright API
steps, the subtitle is the locator or the navigation url — for example,
Clickwith subtitlegetByRole('button').Both are rendered next to the step title in the trace viewer and the HTML report.
🖼️ Aria and screen snapshots in traces
The
snapshotsoption of tracing.start() and the testOptions.trace fixture option now accept anobject selecting what to capture on every action:
With aria and screen snapshots recorded, the new Display Aria mode in the trace viewer shows the action screenshot
side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot.
New APIs
Browser and Context
httpCredentialsnow also accepts an array of credentials. The first entry matching the request origin is used, and entries without an origin match any request.opfsincludes the origin private file system in the storage state, so it can be persisted and restored into later contexts.Locators
mode,depthandboxesoptions.json():Test runner
--add-reportercommand line option appends a reporter on top of the ones configured inplaywright.config, instead of replacing them like--reporterdoes.omitTagsoption for thelist,line,dot,githubandjunitreporters suppresses the tags that are automatically appended to test titles.Command line
npx playwright install --no-removekeeps the browsers of other Playwright installations instead of removing them.npx playwright codegen --http-credentialsrecords against pages behind HTTP authentication.Miscellaneous
perfettoreporter writes a Trace Event Format file for the Perfetto UI orchrome://tracing, rendering the test run as a timeline with a lane per worker.Announcements
@playwright/experimental-ct-react,@playwright/experimental-ct-react17and@playwright/experimental-ct-vuepackages will no longer be updated. Follow the migration guide to move to the stories model introduced in 1.62. Story ids passed to fixtures.mount() can now be typed through the generatedStoriesregistry.Browser Versions
This version was also tested against the following stable channels:
v1.62.1Compare Source
Bug Fixes
v1.62.0Compare Source
🧱 New component testing model
Component testing moves to a stories and galleries model.
A story wraps your component in one specific scenario — hard-coded props, mock data, providers — and a gallery page that you serve renders stories on demand.
The new fixtures.mount() fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped to the story's root element:
Pass a story type as a template argument to type-check its props, and use
update(props)/unmount()on the returned locator to re-render or tear down within a test.🛑 Cancel operations with AbortSignal
Most operations and web-first assertions now accept a
signaloption that takes anAbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:Providing a signal does not disable the default timeout; pass
timeout: 0to disable it.🖼️ WebP screenshots
expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a
.webpname:page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept
webpas atype, where quality100(the default) is lossless and lower values use lossy compression.🧩 Custom test filtering with Reporter.preprocess()
New reporter.preprocess() hook runs after the configuration is resolved and before reporter.onBegin(), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a TestRun object:
🔁 Isolated retries
New testConfig.retryStrategy controls when failed tests are retried.
The default
'immediate'retries as soon as a worker is free;'isolated'runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite:New APIs
Browser and Context
credentialsincludes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.Actions
scrolloption ("auto"|"none") on actions to opt out of Playwright's automatic scroll-into-view.Network
Evaluation
Command line & MCP
playwright-cli, runnable vianpx playwright mcpandnpx playwright cli.Reporters
mergeFilesreporter option:Announcements
Browser Versions
This version was also tested against the following stable channels:
v1.61.1Compare Source
Bug Fixes
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:
radix-ui/primitives (@radix-ui/react-collapsible)
v1.2.1v1.2.0undefinedfor all optional types for compatibility with TypeScript'sexactOptionalPropertyTypesflag.@radix-ui/primitive@1.2.0,@radix-ui/react-context@1.3.0,@radix-ui/react-primitive@2.2.0,@radix-ui/react-use-controllable-state@1.3.0v1.1.21@radix-ui/react-primitive@2.1.11,@radix-ui/react-presence@1.1.11v1.1.20@radix-ui/react-compose-refs@1.1.5,@radix-ui/react-context@1.2.2,@radix-ui/react-id@1.1.4,@radix-ui/react-presence@1.1.10,@radix-ui/react-primitive@2.1.10,@radix-ui/react-use-controllable-state@1.2.6,@radix-ui/react-use-layout-effect@1.1.4v1.1.19@radix-ui/react-primitive@2.1.9v1.1.18@radix-ui/primitive@1.1.7,@radix-ui/react-compose-refs@1.1.4,@radix-ui/react-context@1.2.1,@radix-ui/react-id@1.1.3,@radix-ui/react-presence@1.1.9,@radix-ui/react-primitive@2.1.8,@radix-ui/react-use-controllable-state@1.2.5,@radix-ui/react-use-layout-effect@1.1.3v1.1.17/* @__PURE__ */and use named render functions instead ofComponent.displayName = ...assignments, which previously prevented dead-code elimination with some bundlers.@radix-ui/react-presence@1.1.8,@radix-ui/react-use-controllable-state@1.2.4,@radix-ui/primitive@1.1.6,@radix-ui/react-compose-refs@1.1.3,@radix-ui/react-context@1.2.0,@radix-ui/react-id@1.1.2,@radix-ui/react-primitive@2.1.7,@radix-ui/react-use-layout-effect@1.1.2v1.1.16@radix-ui/primitive@1.1.5,@radix-ui/react-context@1.2.0,@radix-ui/react-presence@1.1.7v1.1.15@radix-ui/react-primitive@2.1.7v1.1.14@radix-ui/react-primitive@2.1.6radix-ui/primitives (@radix-ui/react-dialog)
v1.3.1@radix-ui/react-dismissable-layer@1.2.1,@radix-ui/react-focus-scope@1.3.1v1.3.0undefinedfor all optional types for compatibility with TypeScript'sexactOptionalPropertyTypesflag.@radix-ui/primitive@1.2.0,@radix-ui/react-context@1.3.0,@radix-ui/react-dismissable-layer@1.2.0,@radix-ui/react-focus-guards@1.2.0,@radix-ui/react-focus-scope@1.3.0,@radix-ui/react-portal@1.2.0,@radix-ui/react-primitive@2.2.0,@radix-ui/react-slot@1.5.0,@radix-ui/react-use-controllable-state@1.3.0v1.2.0aria-describedbyattributes.FocusScopereclaimed focus, and itsRemoveScrollonly allowed scrolling within the modal content.@radix-ui/react-focus-scope@1.2.0,@radix-ui/react-slot@1.4.0,@radix-ui/react-dismissable-layer@1.1.20,@radix-ui/react-primitive@2.1.11,@radix-ui/react-presence@1.1.11,@radix-ui/react-portal@1.1.18v1.1.23@radix-ui/react-compose-refs@1.1.5,@radix-ui/react-context@1.2.2,@radix-ui/react-dismissable-layer@1.1.19,@radix-ui/react-focus-guards@1.1.6,@radix-ui/react-focus-scope@1.1.16,@radix-ui/react-id@1.1.4,@radix-ui/react-portal@1.1.17,@radix-ui/react-presence@1.1.10,@radix-ui/react-primitive@2.1.10,@radix-ui/react-slot@1.3.3,@radix-ui/react-use-controllable-state@1.2.6,@radix-ui/react-use-layout-effect@1.1.4v1.1.22@radix-ui/react-slot@1.3.2,@radix-ui/react-primitive@2.1.9,@radix-ui/react-dismissable-layer@1.1.18,@radix-ui/react-focus-scope@1.1.15,@radix-ui/react-portal@1.1.16v1.1.21@radix-ui/primitive@1.1.7,@radix-ui/react-compose-refs@1.1.4,@radix-ui/react-context@1.2.1,@radix-ui/react-dismissable-layer@1.1.17,@radix-ui/react-focus-guards@1.1.5,@radix-ui/react-focus-scope@1.1.14,@radix-ui/react-id@1.1.3,@radix-ui/react-portal@1.1.15,@radix-ui/react-presence@1.1.9,@radix-ui/react-primitive@2.1.8,@radix-ui/react-slot@1.3.1,@radix-ui/react-use-controllable-state@1.2.5,@radix-ui/react-use-layout-effect@1.1.3v1.1.20/* @__PURE__ */and use named render functions instead ofComponent.displayName = ...assignments, which previously prevented dead-code elimination with some bundlers.@radix-ui/react-dismissable-layer@1.1.16,@radix-ui/react-focus-scope@1.1.13,@radix-ui/react-portal@1.1.14,@radix-ui/react-presence@1.1.8,@radix-ui/react-use-controllable-state@1.2.4,@radix-ui/primitive@1.1.6,@radix-ui/react-compose-refs@1.1.3,@radix-ui/react-context@1.2.0,@radix-ui/react-focus-guards@1.1.4,@radix-ui/react-id@1.1.2,@radix-ui/react-primitive@2.1.7,@radix-ui/react-slot@1.3.0,@radix-ui/react-use-layout-effect@1.1.2Configuration
📅 Schedule: (in timezone Asia/Shanghai)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.