mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
[ci] Update playwright to 1.61.0 (#94871)
[Playwright v1.61.0 adds support for ubuntu-26.04](https://github.com/microsoft/playwright/releases/tag/v1.61.0). When Lindsey created our arm64 runners (see https://github.com/vercel/next.js/pull/94870), [he picked the ubuntu-26.04 image](https://vercel.slack.com/archives/C01LN7C5QR5/p1781608258610389?thread_ts=1781118174.353839&cid=C01LN7C5QR5) (which is technically still [in preview](https://github.com/actions/runner-images#available-images), but IMO that's fine).
This commit is contained in:
@@ -12,6 +12,6 @@
|
||||
"devDependencies": {
|
||||
"rimraf": "6.0.1",
|
||||
"next": "workspace:*",
|
||||
"playwright": "1.58.2"
|
||||
"playwright": "1.61.0"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -245,8 +245,8 @@
|
||||
"octokit": "3.1.0",
|
||||
"outdent": "0.8.0",
|
||||
"pixrem": "5.0.0",
|
||||
"playwright": "1.58.2",
|
||||
"playwright-chromium": "1.58.2",
|
||||
"playwright": "1.61.0",
|
||||
"playwright-chromium": "1.61.0",
|
||||
"postcss": "8.5.10",
|
||||
"postcss-nested": "4.2.1",
|
||||
"postcss-pseudoelements": "5.0.0",
|
||||
@@ -345,7 +345,7 @@
|
||||
"@modelcontextprotocol/sdk": "patches/@modelcontextprotocol__sdk.patch",
|
||||
"@vercel/blob": "patches/@vercel__blob.patch",
|
||||
"postcss-scss": "patches/postcss-scss.patch",
|
||||
"playwright-core@1.58.2": "patches/playwright-core@1.58.2.patch"
|
||||
"playwright-core@1.61.0": "patches/playwright-core@1.61.0.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "1.58.2",
|
||||
"@playwright/test": "1.61.0",
|
||||
"typescript": "6.0.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
"@next/react-refresh-utils": "16.3.0-canary.57",
|
||||
"@next/swc": "16.3.0-canary.57",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@playwright/test": "1.58.2",
|
||||
"@playwright/test": "1.61.0",
|
||||
"@rspack/core": "1.6.7",
|
||||
"@storybook/addon-a11y": "8.6.0",
|
||||
"@storybook/addon-essentials": "8.6.0",
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
diff --git a/lib/client/browserContext.js b/lib/client/browserContext.js
|
||||
index 0b5cb3356cdc4917d9198a184f1a2cb391924453..3ad3d86bebde7a7e25af4f94b964d003e10d40a0 100644
|
||||
--- a/lib/client/browserContext.js
|
||||
+++ b/lib/client/browserContext.js
|
||||
@@ -183,6 +183,19 @@ class BrowserContext extends import_channelOwner.ChannelOwner {
|
||||
_onRequestFailed(request, responseEndTiming, failureText, page) {
|
||||
request._failureText = failureText || null;
|
||||
request._setResponseEndTiming(responseEndTiming);
|
||||
+ // PATCH (next.js): mirror what `_onRequestFinished` does for the
|
||||
+ // response, so callers awaiting `response.finished()` don't hang on
|
||||
+ // failed/canceled requests. The server side already resolves the
|
||||
+ // server-side `_finishedPromise` from `_onLoadingFailed` (see
|
||||
+ // chromium/crNetworkManager.js), but only the `requestFinished` IPC
|
||||
+ // carries a response payload — `requestFailed` does not, so the
|
||||
+ // client-side Response's `_finishedPromise` is otherwise never
|
||||
+ // resolved. We look up the response via the existing async RPC and
|
||||
+ // resolve it fire-and-forget; catch is a no-op so we never produce
|
||||
+ // an unhandled rejection if the context tears down concurrently.
|
||||
+ request.response().then((response) => {
|
||||
+ if (response !== null) response._finishedPromise.resolve(null);
|
||||
+ }).catch(() => {});
|
||||
this.emit(import_events.Events.BrowserContext.RequestFailed, request);
|
||||
if (page)
|
||||
page.emit(import_events.Events.Page.RequestFailed, request);
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/lib/coreBundle.js b/lib/coreBundle.js
|
||||
index 1d36a373cb14a856c9a69e218df5183bb250d2f0..560bd6cc4fc3fd11937b6039279bbfcb08152172 100644
|
||||
--- a/lib/coreBundle.js
|
||||
+++ b/lib/coreBundle.js
|
||||
@@ -60688,6 +60688,19 @@ var init_browserContext2 = __esm({
|
||||
_onRequestFailed(request2, responseEndTiming, failureText, page) {
|
||||
request2._failureText = failureText || null;
|
||||
request2._setResponseEndTiming(responseEndTiming);
|
||||
+ // PATCH (next.js): mirror what `_onRequestFinished` does for the
|
||||
+ // response, so callers awaiting `response.finished()` don't hang on
|
||||
+ // failed/canceled requests. The server side already resolves the
|
||||
+ // server-side `_finishedPromise` from `_onLoadingFailed` (see
|
||||
+ // chromium/crNetworkManager.js), but only the `requestFinished` IPC
|
||||
+ // carries a response payload — `requestFailed` does not, so the
|
||||
+ // client-side Response's `_finishedPromise` is otherwise never
|
||||
+ // resolved. We look up the response via the existing async RPC and
|
||||
+ // resolve it fire-and-forget; catch is a no-op so we never produce
|
||||
+ // an unhandled rejection if the context tears down concurrently.
|
||||
+ request2.response().then((response2) => {
|
||||
+ if (response2 !== null) response2._finishedPromise.resolve(null);
|
||||
+ }).catch(() => {});
|
||||
this.emit(Events.BrowserContext.RequestFailed, request2);
|
||||
if (page)
|
||||
page.emit(Events.Page.RequestFailed, request2);
|
||||
Generated
+38
-46
@@ -43,9 +43,9 @@ patchedDependencies:
|
||||
[email protected]:
|
||||
hash: 587688821244aaee46680929cd869947377a284ac1b30c9ae8660a5ea7d2be67
|
||||
path: patches/[email protected]
|
||||
playwright-core@1.58.2:
|
||||
hash: 064d5ffec38700c624b4c1a08fa7a1833aecdf196702f97d61f655385d18f886
|
||||
path: patches/playwright-core@1.58.2.patch
|
||||
playwright-core@1.61.0:
|
||||
hash: 1a56033776b3ac43fe8f35b6c9afa6d9f13a0d5163892f2a31d7661504b93b93
|
||||
path: patches/playwright-core@1.61.0.patch
|
||||
postcss-scss:
|
||||
hash: 88893e632b3e099730dc0ffcc93cf3654b31c277da9e2796e822f6b5aeedc093
|
||||
path: patches/postcss-scss.patch
|
||||
@@ -481,11 +481,11 @@ importers:
|
||||
specifier: 5.0.0
|
||||
version: 5.0.0
|
||||
playwright:
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
playwright-chromium:
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
postcss:
|
||||
specifier: 8.5.10
|
||||
version: 8.5.10
|
||||
@@ -689,7 +689,7 @@ importers:
|
||||
version: 0.554.0([email protected])
|
||||
next:
|
||||
specifier: 16.2.3
|
||||
version: 16.2.3(@babel/[email protected])(@opentelemetry/[email protected])(@playwright/test@1.58.2)([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])
|
||||
version: 16.2.3(@babel/[email protected])(@opentelemetry/[email protected])(@playwright/test@1.61.0)([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])
|
||||
next-themes:
|
||||
specifier: ^0.4.6
|
||||
version: 0.4.6([email protected]([email protected]))([email protected])
|
||||
@@ -800,8 +800,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/next
|
||||
playwright:
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
rimraf:
|
||||
specifier: 6.0.1
|
||||
version: 6.0.1
|
||||
@@ -1202,8 +1202,8 @@ importers:
|
||||
specifier: 1.6.0
|
||||
version: 1.6.0
|
||||
'@playwright/test':
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
'@rspack/core':
|
||||
specifier: 1.6.7
|
||||
version: 1.6.7(patch_hash=4cf28ea116b0e27c7c80b09035905f9d16a7b18d1f2b7d312fc80d42cd57068d)(@swc/[email protected])
|
||||
@@ -1380,7 +1380,7 @@ importers:
|
||||
version: 3.0.0
|
||||
axe-playwright:
|
||||
specifier: 2.0.3
|
||||
version: 2.0.3(playwright@1.58.2)
|
||||
version: 2.0.3(playwright@1.61.0)
|
||||
babel-loader:
|
||||
specifier: 10.0.0
|
||||
version: 10.0.0(@babel/[email protected])([email protected](@swc/[email protected](@swc/[email protected]))([email protected]))
|
||||
@@ -1855,8 +1855,8 @@ importers:
|
||||
packages/next-playwright:
|
||||
devDependencies:
|
||||
'@playwright/test':
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
typescript:
|
||||
specifier: 6.0.2
|
||||
version: 6.0.2
|
||||
@@ -2023,8 +2023,8 @@ importers:
|
||||
specifier: ^2.0.5
|
||||
version: 2.0.5
|
||||
playwright-chromium:
|
||||
specifier: 1.58.2
|
||||
version: 1.58.2
|
||||
specifier: 1.61.0
|
||||
version: 1.61.0
|
||||
split2:
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0
|
||||
@@ -4856,8 +4856,8 @@ packages:
|
||||
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
|
||||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||
|
||||
'@playwright/test@1.58.2':
|
||||
resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==}
|
||||
'@playwright/test@1.61.0':
|
||||
resolution: {integrity: sha512-cKA5B6lpFEMyMGjxF54QihfYpB4FkEGH+qZhtArDEG+wezQAJY8Pq6C7T1SjWz+FFzt3TbyoXBQYk/0292TdJA==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
@@ -14566,23 +14566,18 @@ packages:
|
||||
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
playwright-chromium@1.58.2:
|
||||
resolution: {integrity: sha512-SCoQ3hjBs7FfO46CoOtgAUg77BuYwCni1bzQgm47IUyLBTipnGkLxLnaUNRKXvPYO4hAyt8++Z6wVShVnhrzmw==}
|
||||
playwright-chromium@1.61.0:
|
||||
resolution: {integrity: sha512-7gZbsqqLT4WSeK/DUrsAFFvPdzP3Bh3kn9sK+YLZ9Q2e6CB+vd0TeqHvmkPQKK2IyXhPNGx5DV0YbEP6sTFBHA==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
playwright-core@1.51.1:
|
||||
resolution: {integrity: sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==}
|
||||
playwright-core@1.61.0:
|
||||
resolution: {integrity: sha512-caX7TrY3Ml6egyDX0WUcTHDxodl/b51y5wJOdCEA36QviK/s2g081hvmGs8eaE3DWb6NYZQ6BjO/QkNRPenoPA==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
playwright[email protected]:
|
||||
resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
[email protected]:
|
||||
resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==}
|
||||
playwright@1.61.0:
|
||||
resolution: {integrity: sha512-Z+7BeeqQPRRzklHsVFP4KTGIyMxKUmfeRA4WisM6G3/XW6nwGeX6fX9qYaDa+CiUqpOkb2f6X3nar05R3kSuJQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
@@ -15477,7 +15472,6 @@ packages:
|
||||
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
|
||||
deprecated: |-
|
||||
You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.
|
||||
|
||||
(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
|
||||
|
||||
[email protected]:
|
||||
@@ -21875,9 +21869,9 @@ snapshots:
|
||||
|
||||
'@pkgr/[email protected]': {}
|
||||
|
||||
'@playwright/test@1.58.2':
|
||||
'@playwright/test@1.61.0':
|
||||
dependencies:
|
||||
playwright: 1.58.2
|
||||
playwright: 1.61.0
|
||||
|
||||
'@polka/[email protected]': {}
|
||||
|
||||
@@ -23078,7 +23072,7 @@ snapshots:
|
||||
jest-serializer-html: 7.1.0
|
||||
jest-watch-typeahead: 2.2.2([email protected](@types/[email protected](patch_hash=9c31d25336aea4076b3cb942c35e59fd160c540947f01ea455a060367153f9fd))([email protected]))
|
||||
nyc: 15.1.0
|
||||
playwright: 1.58.2
|
||||
playwright: 1.61.0
|
||||
storybook: 8.6.0([email protected])
|
||||
transitivePeerDependencies:
|
||||
- '@swc/helpers'
|
||||
@@ -24752,14 +24746,14 @@ snapshots:
|
||||
axe-core: 4.10.0
|
||||
mustache: 4.2.0
|
||||
|
||||
[email protected](playwright@1.58.2):
|
||||
[email protected](playwright@1.61.0):
|
||||
dependencies:
|
||||
'@types/junit-report-builder': 3.0.2
|
||||
axe-core: 4.10.0
|
||||
axe-html-reporter: 2.2.11([email protected])
|
||||
junit-report-builder: 5.1.1
|
||||
picocolors: 1.1.1
|
||||
playwright: 1.58.2
|
||||
playwright: 1.61.0
|
||||
|
||||
[email protected]:
|
||||
dependencies:
|
||||
@@ -30515,7 +30509,7 @@ snapshots:
|
||||
jest-process-manager: 0.4.0([email protected])
|
||||
jest-runner: 29.7.0
|
||||
nyc: 15.1.0
|
||||
playwright-core: 1.51.1
|
||||
playwright-core: 1.61.0(patch_hash=1a56033776b3ac43fe8f35b6c9afa6d9f13a0d5163892f2a31d7661504b93b93)
|
||||
rimraf: 3.0.2
|
||||
uuid: 8.3.2
|
||||
transitivePeerDependencies:
|
||||
@@ -32743,7 +32737,7 @@ snapshots:
|
||||
|
||||
[email protected]: {}
|
||||
|
||||
[email protected](@babel/[email protected])(@opentelemetry/[email protected])(@playwright/test@1.58.2)([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected]):
|
||||
[email protected](@babel/[email protected])(@opentelemetry/[email protected])(@playwright/test@1.61.0)([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected]):
|
||||
dependencies:
|
||||
'@next/env': 16.2.3
|
||||
'@swc/helpers': 0.5.15
|
||||
@@ -32763,7 +32757,7 @@ snapshots:
|
||||
'@next/swc-win32-arm64-msvc': 16.2.3
|
||||
'@next/swc-win32-x64-msvc': 16.2.3
|
||||
'@opentelemetry/api': 1.9.0
|
||||
'@playwright/test': 1.58.2
|
||||
'@playwright/test': 1.61.0
|
||||
babel-plugin-react-compiler: 0.0.0-experimental-1371fcb-20260227
|
||||
sass: 1.77.8
|
||||
sharp: 0.34.5
|
||||
@@ -33793,17 +33787,15 @@ snapshots:
|
||||
dependencies:
|
||||
find-up: 3.0.0
|
||||
|
||||
playwright-chromium@1.58.2:
|
||||
playwright-chromium@1.61.0:
|
||||
dependencies:
|
||||
playwright-core: 1.58.2(patch_hash=064d5ffec38700c624b4c1a08fa7a1833aecdf196702f97d61f655385d18f886)
|
||||
playwright-core: 1.61.0(patch_hash=1a56033776b3ac43fe8f35b6c9afa6d9f13a0d5163892f2a31d7661504b93b93)
|
||||
|
||||
playwright-core@1.51.1: {}
|
||||
playwright-core@1.61.0(patch_hash=1a56033776b3ac43fe8f35b6c9afa6d9f13a0d5163892f2a31d7661504b93b93): {}
|
||||
|
||||
playwright[email protected](patch_hash=064d5ffec38700c624b4c1a08fa7a1833aecdf196702f97d61f655385d18f886): {}
|
||||
|
||||
[email protected]:
|
||||
playwright@1.61.0:
|
||||
dependencies:
|
||||
playwright-core: 1.58.2(patch_hash=064d5ffec38700c624b4c1a08fa7a1833aecdf196702f97d61f655385d18f886)
|
||||
playwright-core: 1.61.0(patch_hash=1a56033776b3ac43fe8f35b6c9afa6d9f13a0d5163892f2a31d7661504b93b93)
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
|
||||
@@ -170,6 +170,7 @@ describe.each(['', '/docs'])(
|
||||
// ensure direct port with mismatching port is blocked
|
||||
const browser = await next.browser('/about', {
|
||||
baseUrl: `http://127.0.0.1:${port}`,
|
||||
permissions: ['local-network-access'],
|
||||
})
|
||||
await browser.eval(websocketSnippet)
|
||||
await retry(async () => {
|
||||
@@ -306,6 +307,7 @@ describe.each(['', '/docs'])(
|
||||
|
||||
const browser = await next.browser('/about', {
|
||||
baseUrl: `http://127.0.0.1:${port}`,
|
||||
permissions: ['local-network-access'],
|
||||
})
|
||||
await browser.get(`https://example.vercel.sh/`)
|
||||
await browser.eval(websocketSnippet)
|
||||
@@ -375,6 +377,7 @@ describe.each(['', '/docs'])(
|
||||
// ensure direct port with mismatching port is allowed when configured
|
||||
const browser = await next.browser('/about', {
|
||||
baseUrl: `http://127.0.0.1:${port}`,
|
||||
permissions: ['local-network-access'],
|
||||
})
|
||||
await browser.eval(websocketSnippet)
|
||||
await retry(async () => {
|
||||
@@ -454,6 +457,7 @@ describe.each(['', '/docs'])(
|
||||
try {
|
||||
const browser = await next.browser('/about', {
|
||||
baseUrl: `http://127.0.0.1:${port}`,
|
||||
permissions: ['local-network-access'],
|
||||
})
|
||||
|
||||
const imageSnippet = `(() => {
|
||||
@@ -520,6 +524,7 @@ describe.each(['', '/docs'])(
|
||||
try {
|
||||
const browser = await next.browser('/', {
|
||||
baseUrl: `http://127.0.0.1:${port}`,
|
||||
permissions: ['local-network-access'],
|
||||
})
|
||||
|
||||
await retry(async () => {
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"minimist": "^1.2.8",
|
||||
"picocolors": "1.0.1",
|
||||
"pidusage-tree": "^2.0.5",
|
||||
"playwright-chromium": "1.58.2",
|
||||
"playwright-chromium": "1.61.0",
|
||||
"split2": "^4.2.0",
|
||||
"tree-kill": "^1.2.2"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user