Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023 - #85277

Merged
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023
Oct 27, 2025
Merged

Upgrade React from 2bcbf254-20251020 to 6160773f-20251023#85277
eps1lon merged 6 commits into
canaryfrom
update/react/19.3.0-canary-6160773f-20251023

Conversation

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Failing test suites

Commit: 3b85aaf | About building and testing Next.js

pnpm test test/integration/i18n-support-fallback-rewrite-legacy/test/index.test.js (turbopack)

  • i18n Support > development mode > should not rewrite for index page (DD)
  • i18n Support > development mode > should not rewrite for dynamic page (DD)
Expand output

● i18n Support › development mode › should not rewrite for index page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/
Call log:
- navigating to "http://localhost:44151/", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:32:23)

● i18n Support › development mode › should not rewrite for dynamic page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44151/dynamic/first
Call log:
- navigating to "http://localhost:44151/dynamic/first", waiting until "load"
343 | await opts?.beforePageLoad?.(page)
344 |
> 345 | await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
| ^
346 | }
347 |
348 | back(options?: Parameters<Page['goBack']>[0]) {
at Playwright.goto (lib/browsers/playwright.ts:345:16)
at webdriver (lib/next-webdriver.ts:156:3)
at Object.<anonymous> (integration/i18n-support-fallback-rewrite-legacy/test/index.test.js:61:23)

pnpm test-start test/production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts

  • ppr-use-server-inserted-html > should insert the html insertion into html body (DD)
Expand output

● ppr-use-server-inserted-html › should insert the html insertion into html body

expect(received).toContain(expected) // indexOf
Expected substring: "testing-log-insertion:dynamic-data"
Received string: " ▲ Next.js 16.0.1-canary.0 (webpack, Cache Components)·
Creating an optimized production build ...
✓ Compiled successfully in 3.3s
Running TypeScript ...·
We detected TypeScript in your project and created a tsconfig.json file for you.
Collecting page data ...
Generating static pages (0/3) ...
✓ Generating static pages (3/3) in 752.2ms
Finalizing page optimization ...
Collecting build traces ...·
Route (app)
┌ ○ /_not-found
└ ◐ /partial-resume··
○ (Static) prerendered as static content
◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content·
▲ Next.js 16.0.1-canary.0
- Local: http://localhost:36913
- Network: http://65.21.8.254:36913·
✓ Starting...
✓ Ready in 120ms
⨯ Error: Could not find the module \"/tmp/next-install-b46f98b7ce53bd6d10d65874251a167193e3c60b6943201fd1001c03c3e4afea/app/partial-resume/client.tsx#InsertHtml\" in the React Client Manifest. This is probably a bug in the React Server Components bundler.
at stringify (<anonymous>) {
digest: '1553096410'
}
"
25 | const $ = await next.render$('/partial-resume')
26 | const output = next.cliOutput
> 27 | expect(output).toContain('testing-log-insertion:dynamic-data')
| ^
28 |
29 | expect($('head [data-test-id]').length).toBe(0)
30 | expect($('body [data-test-id]').length).toBe(1)
at Object.toContain (production/app-dir/ppr-use-server-inserted-html/ppr-use-server-inserted-html.test.ts:27:20)

pnpm test-dev test/development/app-dir/basic/basic.test.ts

  • basic app-dir tests > should reload app pages without error (DD)
Expand output

● basic app-dir tests › should reload app pages without error

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
8 | })
9 |
> 10 | it('should reload app pages without error', async () => {
| ^
11 | await using sandbox = await createSandbox(next, undefined, '/')
12 | const { session, browser } = sandbox
13 | await session.assertNoRedbox()
at it (development/app-dir/basic/basic.test.ts:10:3)
at Object.describe (development/app-dir/basic/basic.test.ts:5:1)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
132 | })
133 |
> 134 | it('should not re-fetch cached data when navigating back to a route group', async () => {
| ^
135 | let act: ReturnType<typeof createRouterAct>
136 | const browser = await next.browser('/prefetch-auto-route-groups', {
137 | beforePageLoad(page) {
at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:134:3)
at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test-dev-turbo test/e2e/app-dir/next-after-app-api-usage/index.test.ts (turbopack)

  • nextjs APIs in after() > request APIs inside after() > cannot be called in a dynamic page (DD)
  • nextjs APIs in after() > request APIs inside after() > cannot be called in a prerendered page > with dynamic = "error" (DD)
Expand output

● nextjs APIs in after() › request APIs inside after() › cannot be called in a dynamic page

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported."
Received string: " ○ Compiling /request-apis/page-dynamic ...
GET /request-apis/page-dynamic 200 in 4.9s (compile: 4.3s, render: 595ms)
[/request-apis/page-dynamic] headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic] cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic] connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic] nested headers(): error: Error: Route /request-apis/page-dynamic used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:72:22)
at fn (lib/next-test-utils.ts:808:20)
at Object.<anonymous> (e2e/app-dir/next-after-app-api-usage/index.test.ts:53:7)

● nextjs APIs in after() › request APIs inside after() › cannot be called in a prerendered page › with dynamic = "error"

expect(received).toContain(expected) // indexOf
Expected substring: "[/request-apis/page-dynamic-error] nested cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported."
Received string: "[/request-apis/page-dynamic] nested cookies(): error: Error: Route /request-apis/page-dynamic used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:37:22)
35 | after(async () => {
36 | try {
> 37 | await cookies()
| ^
38 | console.log(`[${route}] nested cookies(): ok`)
39 | } catch (err) {
40 | console.error(`[${route}] nested cookies(): error:`, err)
[/request-apis/page-dynamic] nested connection(): error: Error: Route /request-apis/page-dynamic used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:57:25)
55 | after(async () => {
56 | try {
> 57 | await connection()
| ^
58 | console.log(`[${route}] nested connection(): ok`)
59 | } catch (err) {
60 | console.error(`[${route}] nested connection(): error:`, err)
GET /request-apis/page-dynamic-error 200 in 1515ms (compile: 1152ms, render: 363ms)
[/request-apis/page-dynamic-error] headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:7:20)
5 | after(async () => {
6 | try {
> 7 | await headers()
| ^
8 | console.log(`[${route}] headers(): ok`)
9 | } catch (err) {
10 | console.error(`[${route}] headers(): error:`, err)
[/request-apis/page-dynamic-error] cookies(): error: Error: Route /request-apis/page-dynamic-error used `cookies()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `cookies()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:27:20)
at <unknown> (../app/request-apis/helpers.js:15:10)
25 | after(async () => {
26 | try {
> 27 | await cookies()
| ^
28 | console.log(`[${route}] cookies(): ok`)
29 | } catch (err) {
30 | console.error(`[${route}] cookies(): error:`, err)
[/request-apis/page-dynamic-error] connection(): error: Error: Route /request-apis/page-dynamic-error used `connection()` inside `after()`. The `connection()` function is used to indicate the subsequent code must only run when there is an actual Request, but `after()` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:47:23)
at <unknown> (../app/request-apis/helpers.js:35:10)
45 | after(async () => {
46 | try {
> 47 | await connection()
| ^
48 | console.log(`[${route}] connection(): ok`)
49 | } catch (err) {
50 | console.error(`[${route}] connection(): error:`, err)
[/request-apis/page-dynamic-error] nested headers(): error: Error: Route /request-apis/page-dynamic-error used `headers()` inside `after()`. This is not supported. If you need this data inside an `after()` callback, use `headers()` outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after
at <unknown> (../app/request-apis/helpers.js:17:22)
at <unknown> (../app/request-apis/helpers.js:55:10)
15 | after(async () => {
16 | try {
> 17 | await headers()
| ^
18 | console.log(`[${route}] nested headers(): ok`)
19 | } catch (err) {
20 | console.error(`[${route}] nested headers(): error:`, err)
"
at toContain (e2e/app-dir/next-after-app-api-usage/index.test.ts:119:24)
at fn (lib/next-test-utils.ts:808:20)
at e2e/app-dir/next-after-app-api-usage/index.test.ts:100:9

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts

  • segment cache (revalidation) > evict client cache when Server Action calls revalidatePath (DD)
Expand output

● segment cache (revalidation) › evict client cache when Server Action calls revalidatePath

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
50 | })
51 |
> 52 | it('evict client cache when Server Action calls revalidatePath', async () => {
| ^
53 | let act: ReturnType<typeof createRouterAct>
54 | const browser = await next.browser('/', {
55 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:52:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

pnpm test-start test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts

  • Cache Components Errors > Build With --prerender-debug > With use cache: private > without Suspense > should error the build (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › With use cache: private › without Suspense › should error the build

expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Cache Components Errors Build With --prerender-debug With \`use cache: private\` without Suspense should error the build 1`
- Snapshot - 6
+ Received + 6
@@ -21,17 +21,17 @@
at ErrorBoundary (bundler:///<next-src>)
at InnerScrollAndFocusHandler (bundler:///<next-src>)
at ScrollAndFocusHandler (bundler:///<next-src>)
at RenderFromTemplateContext (bundler:///<next-src>)
at OuterLayoutRouter (bundler:///<next-src>)
- 339 | */
+ 332 | */
- 340 | function InnerLayoutRouter({
+ 333 | function InnerLayoutRouter({
- > 341 | tree,
+ > 334 | tree,
| ^
- 342 | segmentPath,
+ 335 | segmentPath,
- 343 | debugNameContext,
+ 336 | debugNameContext,
- 344 | cacheNode,
+ 337 | cacheNode,
To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "/use-cache-private-without-suspense" in your browser to investigate the error.
Error occurred prerendering page "/use-cache-private-without-suspense". Read more: https://nextjs.org/docs/messages/prerender-error
> Export encountered errors on following paths:
/use-cache-private-without-suspense/page: /use-cache-private-without-suspense"
3226 | } else {
3227 | if (isDebugPrerender) {
> 3228 | expect(output).toMatchInlineSnapshot(`
| ^
3229 | "Error: Route "/use-cache-private-without-suspense": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route
3230 | at InnerLayoutRouter (bundler:///<next-src>)
3231 | at RedirectErrorBoundary (bundler:///<next-src>)
at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:3228:32)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getInitialProps > should update when going from static -> dynamic (DD)
Expand output

● dev indicator - route type › getInitialProps › should update when going from static -> dynamic

Expected DevTools Indicator but found no visible one.
949 | browser: Playwright
950 | ): Promise<void> {
> 951 | const devToolsIndicator = await assertHasDevToolsIndicator(browser)
| ^
952 |
953 | try {
954 | await devToolsIndicator.click()
at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
at development/dev-indicator/dev-indicator.test.ts:78:9
at retry (lib/next-test-utils.ts:808:14)
at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:77:7)

@ijjk

ijjk commented Oct 23, 2025

Copy link
Copy Markdown
Member

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
buildDuration36.7s33.3sN/A
buildDurationCached30.7s24.9sN/A
nodeModulesSize454 MB454 MB
nextStartRea..uration (ms)739ms876ms⚠️ +137ms
Client Bundles (main, webpack)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
1916.HASH.js gzip169 B169 B
4498-HASH.js gzip54.7 kB54.6 kBN/A
9225-HASH.js gzip5.32 kB5.32 kBN/A
c57d0559-HASH.js gzip62.1 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip257 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change60 kB60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_app-HASH.js gzip193 B193 B
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.8 kB1.8 kBN/A
edge-ssr-HASH.js gzip256 B255 BN/A
head-HASH.js gzip350 B352 BN/A
hooks-HASH.js gzip384 B381 BN/A
image-HASH.js gzip4.79 kB4.79 kBN/A
index-HASH.js gzip259 B260 BN/A
link-HASH.js gzip2.5 kB2.51 kBN/A
routerDirect..HASH.js gzip318 B317 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip315 B315 B
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.52 kB1.52 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
_buildManifest.js gzip716 B719 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
index.html gzip523 B522 BN/A
link.html gzip536 B537 BN/A
withRouter.html gzip519 B519 B
Overall change519 B519 B
Edge SSR bundle Size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip260 kB260 kBN/A
Overall change0 B0 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
middleware-b..fest.js gzip640 B641 BN/A
middleware-r..fest.js gzip156 B157 BN/A
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change846 B846 B
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
app-page-exp...dev.js gzip295 kB295 kBN/A
app-page-exp..prod.js gzip162 kB162 kBN/A
app-page-tur...dev.js gzip295 kB295 kBN/A
app-page-tur..prod.js gzip161 kB161 kBN/A
app-page-tur...dev.js gzip291 kB291 kBN/A
app-page-tur..prod.js gzip159 kB159 kBN/A
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip159 kB159 kBN/A
app-route-ex...dev.js gzip70.8 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kB
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.2 kB
app-route.ru...dev.js gzip70.4 kB70.4 kB
app-route.ru..prod.js gzip49.1 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kB
pages-api-tu..prod.js gzip33.1 kB33.1 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kB
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kB
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kB
pages.runtim..prod.js gzip40 kB40 kB
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change402 kB402 kB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-6160773f-20251023Change
0.pack gzip3.25 MB3.25 MB⚠️ +5.1 kB
index.pack gzip95.2 kB94.5 kBN/A
Overall change3.25 MB3.25 MB⚠️ +5.1 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 3593: /***/ (+ /***/ 5832: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },++ /***/ 6471: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/css",+ function () {+ return __webpack_require__(7839);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7839: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +39,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7634);+ __webpack_require__(5832);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
/***/
},
-- /***/ 4569: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/css",- function () {- return __webpack_require__(3593);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7634: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4569)+ __webpack_exec__(6471)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(2283);- },- ]);- if (false) {- }-- /***/- },-- /***/ 2283: /***/ (+ /***/ 133: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4939);+ __webpack_require__(7514);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 1916)- .then(__webpack_require__.bind(__webpack_require__, 1916))+ .e(/* import() */ 3862)+ .then(__webpack_require__.bind(__webpack_require__, 3862))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1916],+ webpack: () => [/*require.resolve*/ 3862],
},
}
);
@@ -74,17 +57,24 @@
/***/
},
- /***/ 4939: /***/ (- module,+ /***/ 431: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(5121);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(133);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 5121: /***/ (module, exports, __webpack_require__) => {+ /***/ 1709: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7622)+ __webpack_require__(2522)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
/***/
},
- /***/ 5160: /***/ (+ /***/ 2463: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -244,7 +234,7 @@
/***/
},
- /***/ 7622: /***/ (+ /***/ 2522: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(5160);+ const _loadablecontextsharedruntime = __webpack_require__(2463);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
++ /***/ 7514: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1709);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/hooks",- function () {- return __webpack_require__(9198);- },- ]);- if (false) {- }-- /***/- },-- /***/ 9198: /***/ (+ /***/ 2592: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 3925: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/hooks",+ function () {+ return __webpack_require__(2592);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3454: /***/ (+ /***/ 8431: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(8972);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8972: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -19,30 +36,13 @@
/***/
},
-- /***/ 9241: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(3454);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9241)+ __webpack_exec__(8431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1970: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 2025: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(3072);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 3262: /***/ (module, exports, __webpack_require__) => {+ /***/ 3066: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(7868);- const _islocalurl = __webpack_require__(9350);- const _formaturl = __webpack_require__(6319);- const _utils = __webpack_require__(9889);- const _addlocale = __webpack_require__(9466);- const _routercontextsharedruntime = __webpack_require__(5691);- const _useintersection = __webpack_require__(3981);- const _getdomainlocale = __webpack_require__(4206);- const _addbasepath = __webpack_require__(9339);- const _usemergedref = __webpack_require__(6848);- const _erroronce = __webpack_require__(1970);+ const _resolvehref = __webpack_require__(2776);+ const _islocalurl = __webpack_require__(5770);+ const _formaturl = __webpack_require__(8531);+ const _utils = __webpack_require__(3565);+ const _addlocale = __webpack_require__(8878);+ const _routercontextsharedruntime = __webpack_require__(5111);+ const _useintersection = __webpack_require__(6873);+ const _getdomainlocale = __webpack_require__(4554);+ const _addbasepath = __webpack_require__(9567);+ const _usemergedref = __webpack_require__(4308);+ const _erroronce = __webpack_require__(8910);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -436,7 +434,167 @@
/***/
},
- /***/ 3981: /***/ (module, exports, __webpack_require__) => {+ /***/ 3072: /***/ (+ __unused_webpack_module,+ __webpack_exports__,+ __webpack_require__+ ) => {+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(1503);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(6929);+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_link__WEBPACK_IMPORTED_MODULE_1__+ );++ function aLink(props) {+ return /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+ children: "A Link page!",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),+ {+ href: "/",+ children: "Go to /",+ }+ ),+ ],+ });+ }+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++ /***/+ },++ /***/ 4308: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(2223);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 4554: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(7740);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=get-domain-locale.js.map++ /***/+ },++ /***/ 6873: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
},
});
const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(1472);+ const _requestidlecallback = __webpack_require__(6892);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -561,189 +719,31 @@
/***/
},
- /***/ 4206: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(6704);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=get-domain-locale.js.map-- /***/- },-- /***/ 6691: /***/ (+ /***/ 6929: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3262);+ module.exports = __webpack_require__(3066);
/***/
},
- /***/ 6771: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(8178);- },- ]);- if (false) {- }-- /***/- },-- /***/ 6848: /***/ (module, exports, __webpack_require__) => {+ /***/ 8910: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useMergedRef", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useMergedRef;+ return errorOnce;
},
});
- const _react = __webpack_require__(2223);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },-- /***/ 8178: /***/ (- __unused_webpack_module,- __webpack_exports__,- __webpack_require__- ) => {- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(1503);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(6691);- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_link__WEBPACK_IMPORTED_MODULE_1__- );-- function aLink(props) {- return /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {- children: "A Link page!",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- next_link__WEBPACK_IMPORTED_MODULE_1___default(),- {- href: "/",- children: "Go to /",- }- ),- ],- });- }- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 286: /***/ (+ /***/ 417: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/routerDirect",+ function () {+ return __webpack_require__(504);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 504: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,29 +53,12 @@
/***/
},
- /***/ 4283: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/routerDirect",- function () {- return __webpack_require__(286);- },- ]);- if (false) {- }-- /***/- },-- /***/ 7798: /***/ (+ /***/ 1840: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ module.exports = __webpack_require__(1903);
/***/
},
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 661: /***/ (+ /***/ 2398: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(2397);++ /***/+ },++ /***/ 4305: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(8543);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 8543: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -48,40 +75,13 @@
/***/
},
-- /***/ 5964: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(297);-- /***/- },-- /***/ 8803: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(661);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,24 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 3163: /***/ (- __unused_webpack_module,+ /***/ 1840: /***/ (+ module,
__unused_webpack_exports,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(3295);- },- ]);- if (false) {- }+ module.exports = __webpack_require__(1903);
/***/
},
- /***/ 3295: /***/ (+ /***/ 2037: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -52,12 +45,19 @@
/***/
},
- /***/ 7798: /***/ (- module,+ /***/ 4041: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(9587);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(2037);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9056-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [9225],+ [8439],
{
- /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {+ /***/ 405: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "ImageConfigContext", {+ Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
- return ImageConfigContext;+ return SideEffect;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const _imageconfig = __webpack_require__(1686);- const ImageConfigContext = _react.default.createContext(- _imageconfig.imageConfigDefault- );- if (false) {- } //# sourceMappingURL=image-config-context.shared-runtime.js.map+ const _react = __webpack_require__(1774);+ const isServer = "object" === "undefined";+ const useClientOnlyLayoutEffect = isServer+ ? () => {}+ : _react.useLayoutEffect;+ const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;+ function SideEffect(props) {+ const { headManager, reduceComponentsToState } = props;+ function emitChange() {+ if (headManager && headManager.mountedInstances) {+ const headElements = _react.Children.toArray(+ Array.from(headManager.mountedInstances).filter(Boolean)+ );+ headManager.updateHead(reduceComponentsToState(headElements));+ }+ }+ if (isServer) {+ headManager?.mountedInstances?.add(props.children);+ emitChange();+ }+ useClientOnlyLayoutEffect(() => {+ headManager?.mountedInstances?.add(props.children);+ return () => {+ headManager?.mountedInstances?.delete(props.children);+ };+ });+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s+ // being rendered, we only trigger the method from the last one.+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`+ // singleton in the layout effect pass, and actually trigger it in the effect pass.+ useClientOnlyLayoutEffect(() => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ return () => {+ if (headManager) {+ headManager._pendingUpdate = emitChange;+ }+ };+ });+ useClientOnlyEffect(() => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ return () => {+ if (headManager && headManager._pendingUpdate) {+ headManager._pendingUpdate();+ headManager._pendingUpdate = null;+ }+ };+ });+ return null;+ } //# sourceMappingURL=side-effect.js.map
/***/
},
- /***/ 1169: /***/ (+ /***/ 1155: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -40,9 +89,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(4352);- const _imageblursvg = __webpack_require__(2314);- const _imageconfig = __webpack_require__(1686);+ const _warnonce = __webpack_require__(5358);+ const _imageblursvg = __webpack_require__(6924);+ const _imageconfig = __webpack_require__(9712);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -473,245 +522,60 @@
/***/
},
- /***/ 1666: /***/ (module, exports, __webpack_require__) => {- /* __next_internal_client_entry_do_not_use__ cjs */+ /***/ 1417: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- default: function () {+ Object.defineProperty(exports, "default", {+ enumerable: true,+ get: function () {
return _default;
},
- defaultHead: function () {- return defaultHead;- },
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);- const _react = /*#__PURE__*/ _interop_require_wildcard._(- __webpack_require__(8879)- );- const _sideeffect = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(2543)- );- const _headmanagercontextsharedruntime = __webpack_require__(5428);- const _warnonce = __webpack_require__(4352);- function defaultHead() {- const head = [- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",- {- charSet: "utf-8",- },- "charset"- ),- /*#__PURE__*/ (0, _jsxruntime.jsx)(- "meta",+ const _findclosestquality = __webpack_require__(1639);+ function defaultLoader({ config, src, width, quality }) {+ if (+ src.startsWith("/") &&+ src.includes("?") &&+ config.localPatterns?.length === 1 &&+ config.localPatterns[0].pathname === "**" &&+ config.localPatterns[0].search === ""+ ) {+ throw Object.defineProperty(+ new Error(+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+ ),+ "__NEXT_ERROR_CODE",
{
- name: "viewport",- content: "width=device-width",- },- "viewport"- ),- ];- return head;- }- function onlyReactElement(list, child) {- // React children can be "string" or "number" in this case we ignore them for backwards compat- if (typeof child === "string" || typeof child === "number") {- return list;- }- // Adds support for React.Fragment- if (child.type === _react.default.Fragment) {- return list.concat(- _react.default.Children.toArray(child.props.children).reduce(- (fragmentList, fragmentChild) => {- if (- typeof fragmentChild === "string" ||- typeof fragmentChild === "number"- ) {- return fragmentList;- }- return fragmentList.concat(fragmentChild);- },- []- )+ value: "E871",+ enumerable: false,+ configurable: true,+ }
);
}
- return list.concat(child);- }- const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];- /*- returns a function for filtering head child elements- which shouldn't be duplicated, like <title/>- Also adds support for deduplicated `key` properties-*/ function unique() {- const keys = new Set();- const tags = new Set();- const metaTypes = new Set();- const metaCategories = {};- return (h) => {- let isUnique = true;- let hasKey = false;- if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {- hasKey = true;- const key = h.key.slice(h.key.indexOf("$") + 1);- if (keys.has(key)) {- isUnique = false;- } else {- keys.add(key);- }- }- // eslint-disable-next-line default-case- switch (h.type) {- case "title":- case "base":- if (tags.has(h.type)) {- isUnique = false;- } else {- tags.add(h.type);- }- break;- case "meta":- for (let i = 0, len = METATYPES.length; i < len; i++) {- const metatype = METATYPES[i];- if (!h.props.hasOwnProperty(metatype)) continue;- if (metatype === "charSet") {- if (metaTypes.has(metatype)) {- isUnique = false;- } else {- metaTypes.add(metatype);- }- } else {- const category = h.props[metatype];- const categories = metaCategories[metatype] || new Set();- if (- (metatype !== "name" || !hasKey) &&- categories.has(category)- ) {- isUnique = false;- } else {- categories.add(category);- metaCategories[metatype] = categories;- }- }- }- break;- }- return isUnique;- };- }- /**- *- * @param headChildrenElements List of children of <Head>- */ function reduceComponents(headChildrenElements) {- return headChildrenElements- .reduce(onlyReactElement, [])- .reverse()- .concat(defaultHead().reverse())- .filter(unique())- .reverse()- .map((c, i) => {- const key = c.key || i;- if (false) {- }- return /*#__PURE__*/ _react.default.cloneElement(c, {- key,- });- });- }- /**- * This component injects elements to `<head>` of your page.- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.- */ function Head({ children }) {- const headManager = (0, _react.useContext)(- _headmanagercontextsharedruntime.HeadManagerContext- );- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {- reduceComponentsToState: reduceComponents,- headManager: headManager,- children: children,- });- }- const _default = Head;- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=head.js.map-- /***/- },-- /***/ 1686: /***/ (__unused_webpack_module, exports) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });+ if (false) {+ }+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);+ return `${config.path}?url=${encodeURIComponent(+ src+ )}&w=${width}&q=${q}${+ src.startsWith("/_next/static/media/") && false ? 0 : ""+ }`;
}
- _export(exports, {- VALID_LOADERS: function () {- return VALID_LOADERS;- },- imageConfigDefault: function () {- return imageConfigDefault;- },- });- const VALID_LOADERS = [- "default",- "imgix",- "cloudinary",- "akamai",- "custom",- ];- const imageConfigDefault = {- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],- imageSizes: [32, 48, 64, 96, 128, 256, 384],- path: "/_next/image",- loader: "default",- loaderFile: "",- /**- * @deprecated Use `remotePatterns` instead to protect your application from malicious users.- */ domains: [],- disableStaticImages: false,- minimumCacheTTL: 14400,- formats: ["image/webp"],- maximumRedirects: 3,- dangerouslyAllowLocalIP: false,- dangerouslyAllowSVG: false,- contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,- contentDispositionType: "attachment",- localPatterns: undefined,- remotePatterns: [],- qualities: [75],- unoptimized: false,- }; //# sourceMappingURL=image-config.js.map+ // We use this to determine if the import is the default loader+ // or a custom loader defined by the user in next.config.js+ defaultLoader.__next_img_default = true;+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
/***/
},
- /***/ 2285: /***/ (__unused_webpack_module, exports) => {+ /***/ 1639: /***/ (__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -735,7 +599,35 @@
/***/
},
- /***/ 2314: /***/ (__unused_webpack_module, exports) => {+ /***/ 2896: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "ImageConfigContext", {+ enumerable: true,+ get: function () {+ return ImageConfigContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const _imageconfig = __webpack_require__(9712);+ const ImageConfigContext = _react.default.createContext(+ _imageconfig.imageConfigDefault+ );+ if (false) {+ } //# sourceMappingURL=image-config-context.shared-runtime.js.map++ /***/+ },++ /***/ 6924: /***/ (__unused_webpack_module, exports) => {
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
*/
@@ -774,133 +666,7 @@
/***/
},
- /***/ 2543: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return SideEffect;- },- });- const _react = __webpack_require__(8879);- const isServer = "object" === "undefined";- const useClientOnlyLayoutEffect = isServer- ? () => {}- : _react.useLayoutEffect;- const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;- function SideEffect(props) {- const { headManager, reduceComponentsToState } = props;- function emitChange() {- if (headManager && headManager.mountedInstances) {- const headElements = _react.Children.toArray(- Array.from(headManager.mountedInstances).filter(Boolean)- );- headManager.updateHead(reduceComponentsToState(headElements));- }- }- if (isServer) {- headManager?.mountedInstances?.add(props.children);- emitChange();- }- useClientOnlyLayoutEffect(() => {- headManager?.mountedInstances?.add(props.children);- return () => {- headManager?.mountedInstances?.delete(props.children);- };- });- // We need to call `updateHead` method whenever the `SideEffect` is trigger in all- // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s- // being rendered, we only trigger the method from the last one.- // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`- // singleton in the layout effect pass, and actually trigger it in the effect pass.- useClientOnlyLayoutEffect(() => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- return () => {- if (headManager) {- headManager._pendingUpdate = emitChange;- }- };- });- useClientOnlyEffect(() => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- return () => {- if (headManager && headManager._pendingUpdate) {- headManager._pendingUpdate();- headManager._pendingUpdate = null;- }- };- });- return null;- } //# sourceMappingURL=side-effect.js.map-- /***/- },-- /***/ 8035: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "default", {- enumerable: true,- get: function () {- return _default;- },- });- const _findclosestquality = __webpack_require__(2285);- function defaultLoader({ config, src, width, quality }) {- if (- src.startsWith("/") &&- src.includes("?") &&- config.localPatterns?.length === 1 &&- config.localPatterns[0].pathname === "**" &&- config.localPatterns[0].search === ""- ) {- throw Object.defineProperty(- new Error(- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`- ),- "__NEXT_ERROR_CODE",- {- value: "E871",- enumerable: false,- configurable: true,- }- );- }- if (false) {- }- const q = (0, _findclosestquality.findClosestQuality)(quality, config);- return `${config.path}?url=${encodeURIComponent(- src- )}&w=${width}&q=${q}${- src.startsWith("/_next/static/media/") && false ? 0 : ""- }`;- }- // We use this to determine if the import is the default loader- // or a custom loader defined by the user in next.config.js- defaultLoader.__next_img_default = true;- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map-- /***/- },-- /***/ 8848: /***/ (module, exports, __webpack_require__) => {+ /***/ 7614: /***/ (module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", {
value: true,
});
@@ -910,7 +676,7 @@
return useMergedRef;
},
});
- const _react = __webpack_require__(8879);+ const _react = __webpack_require__(1774);
function useMergedRef(refA, refB) {
const cleanupA = (0, _react.useRef)(null);
const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
/***/
},
- /***/ 9059: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "RouterContext", {- enumerable: true,- get: function () {- return RouterContext;- },- });- const _interop_require_default = __webpack_require__(9010);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(8879)- );- const RouterContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=router-context.shared-runtime.js.map-- /***/- },-- /***/ 9225: /***/ (module, exports, __webpack_require__) => {+ /***/ 8439: /***/ (module, exports, __webpack_require__) => {
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
value: true,
@@ -1012,27 +753,27 @@
return Image;
},
});
- const _interop_require_default = __webpack_require__(9010);- const _interop_require_wildcard = __webpack_require__(2275);- const _jsxruntime = __webpack_require__(1024);+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
- __webpack_require__(8879)+ __webpack_require__(1774)
);
const _reactdom = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3869)+ __webpack_require__(7499)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(1666)+ __webpack_require__(9452)
);
- const _getimgprops = __webpack_require__(1169);- const _imageconfig = __webpack_require__(1686);- const _imageconfigcontextsharedruntime = __webpack_require__(2);- const _warnonce = __webpack_require__(4352);- const _routercontextsharedruntime = __webpack_require__(9059);+ const _getimgprops = __webpack_require__(1155);+ const _imageconfig = __webpack_require__(9712);+ const _imageconfigcontextsharedruntime = __webpack_require__(2896);+ const _warnonce = __webpack_require__(5358);+ const _routercontextsharedruntime = __webpack_require__(9813);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8035)+ __webpack_require__(1417)
);
- const _usemergedref = __webpack_require__(8848);+ const _usemergedref = __webpack_require__(7614);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
/***/
},
++ /***/ 9452: /***/ (module, exports, __webpack_require__) => {+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ default: function () {+ return _default;+ },+ defaultHead: function () {+ return defaultHead;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _interop_require_wildcard = __webpack_require__(5643);+ const _jsxruntime = __webpack_require__(2014);+ const _react = /*#__PURE__*/ _interop_require_wildcard._(+ __webpack_require__(1774)+ );+ const _sideeffect = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(405)+ );+ const _headmanagercontextsharedruntime = __webpack_require__(5326);+ const _warnonce = __webpack_require__(5358);+ function defaultHead() {+ const head = [+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ charSet: "utf-8",+ },+ "charset"+ ),+ /*#__PURE__*/ (0, _jsxruntime.jsx)(+ "meta",+ {+ name: "viewport",+ content: "width=device-width",+ },+ "viewport"+ ),+ ];+ return head;+ }+ function onlyReactElement(list, child) {+ // React children can be "string" or "number" in this case we ignore them for backwards compat+ if (typeof child === "string" || typeof child === "number") {+ return list;+ }+ // Adds support for React.Fragment+ if (child.type === _react.default.Fragment) {+ return list.concat(+ _react.default.Children.toArray(child.props.children).reduce(+ (fragmentList, fragmentChild) => {+ if (+ typeof fragmentChild === "string" ||+ typeof fragmentChild === "number"+ ) {+ return fragmentList;+ }+ return fragmentList.concat(fragmentChild);+ },+ []+ )+ );+ }+ return list.concat(child);+ }+ const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];+ /*+ returns a function for filtering head child elements+ which shouldn't be duplicated, like <title/>+ Also adds support for deduplicated `key` properties+*/ function unique() {+ const keys = new Set();+ const tags = new Set();+ const metaTypes = new Set();+ const metaCategories = {};+ return (h) => {+ let isUnique = true;+ let hasKey = false;+ if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {+ hasKey = true;+ const key = h.key.slice(h.key.indexOf("$") + 1);+ if (keys.has(key)) {+ isUnique = false;+ } else {+ keys.add(key);+ }+ }+ // eslint-disable-next-line default-case+ switch (h.type) {+ case "title":+ case "base":+ if (tags.has(h.type)) {+ isUnique = false;+ } else {+ tags.add(h.type);+ }+ break;+ case "meta":+ for (let i = 0, len = METATYPES.length; i < len; i++) {+ const metatype = METATYPES[i];+ if (!h.props.hasOwnProperty(metatype)) continue;+ if (metatype === "charSet") {+ if (metaTypes.has(metatype)) {+ isUnique = false;+ } else {+ metaTypes.add(metatype);+ }+ } else {+ const category = h.props[metatype];+ const categories = metaCategories[metatype] || new Set();+ if (+ (metatype !== "name" || !hasKey) &&+ categories.has(category)+ ) {+ isUnique = false;+ } else {+ categories.add(category);+ metaCategories[metatype] = categories;+ }+ }+ }+ break;+ }+ return isUnique;+ };+ }+ /**+ *+ * @param headChildrenElements List of children of <Head>+ */ function reduceComponents(headChildrenElements) {+ return headChildrenElements+ .reduce(onlyReactElement, [])+ .reverse()+ .concat(defaultHead().reverse())+ .filter(unique())+ .reverse()+ .map((c, i) => {+ const key = c.key || i;+ if (false) {+ }+ return /*#__PURE__*/ _react.default.cloneElement(c, {+ key,+ });+ });+ }+ /**+ * This component injects elements to `<head>` of your page.+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.+ */ function Head({ children }) {+ const headManager = (0, _react.useContext)(+ _headmanagercontextsharedruntime.HeadManagerContext+ );+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {+ reduceComponentsToState: reduceComponents,+ headManager: headManager,+ children: children,+ });+ }+ const _default = Head;+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=head.js.map++ /***/+ },++ /***/ 9712: /***/ (__unused_webpack_module, exports) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ VALID_LOADERS: function () {+ return VALID_LOADERS;+ },+ imageConfigDefault: function () {+ return imageConfigDefault;+ },+ });+ const VALID_LOADERS = [+ "default",+ "imgix",+ "cloudinary",+ "akamai",+ "custom",+ ];+ const imageConfigDefault = {+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+ imageSizes: [32, 48, 64, 96, 128, 256, 384],+ path: "/_next/image",+ loader: "default",+ loaderFile: "",+ /**+ * @deprecated Use `remotePatterns` instead to protect your application from malicious users.+ */ domains: [],+ disableStaticImages: false,+ minimumCacheTTL: 14400,+ formats: ["image/webp"],+ maximumRedirects: 3,+ dangerouslyAllowLocalIP: false,+ dangerouslyAllowSVG: false,+ contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,+ contentDispositionType: "attachment",+ localPatterns: undefined,+ remotePatterns: [],+ qualities: [75],+ unoptimized: false,+ }; //# sourceMappingURL=image-config.js.map++ /***/+ },++ /***/ 9813: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "RouterContext", {+ enumerable: true,+ get: function () {+ return RouterContext;+ },+ });+ const _interop_require_default = __webpack_require__(2570);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(1774)+ );+ const RouterContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=router-context.shared-runtime.js.map++ /***/+ },
},
]);
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Commit: 3b85aaf

@eps1lon
eps1lon enabled auto-merge (squash) October 27, 2025 10:40
@eps1lon
eps1lon disabled auto-merge October 27, 2025 21:40
@eps1lon
eps1lon merged commit 11a820d into canaryOct 27, 2025
802 of 823 checks passed
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-6160773f-20251023 branch October 27, 2025 21:40
@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Nov 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@nextjs-bot@ijjk@eps1lon