Skip to content

Upgrade React from f0dfee38-20260529 to 43bcbf80-20260603#94440

Open
vercel-release-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-43bcbf80-20260603
Open

Upgrade React from f0dfee38-20260529 to 43bcbf80-20260603#94440
vercel-release-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-43bcbf80-20260603

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Failing test suites

Commit: c5c5d64 | About building and testing Next.js

pnpm test-dev test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts (job)

  • Cache Components Errors > Dev > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should show a collapsed redbox error (DD)
Expand output

● Cache Components Errors › Dev › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should show a collapsed redbox error

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Dev Error Attribution with Sync IO Unguarded RSC with guarded Client sync IO should show a collapsed redbox error 1`

- Snapshot  - 7
+ Received  + 7

  {
-   "code": "E1296",
-   "description": "Next.js encountered runtime data during prerendering.",
+   "code": "E1287",
+   "description": "Next.js encountered the unstable value new Date() in a Client Component.",
    "environmentLabel": "Server",
    "label": "Blocking Route",
-   "source": "app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (34:18) @ RequestData
- > 34 |   ;(await cookies()).get('foo')
-      |                  ^",
+   "source": "app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx (5:16) @ SyncIO
+ > 5 |   const data = new Date().toISOString()
+     |                ^",
    "stack": [
-     "RequestData app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (34:18)",
-     "Page app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (27:9)",
+     "SyncIO app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx (5:16)",
+     "Page app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (23:11)",
    ],
  }

  2372 |             const browser = await next.browser(pathname)
  2373 |
> 2374 |             await expect(browser).toDisplayCollapsedRedbox(`
       |                                   ^
  2375 |              {
  2376 |                "code": "E1296",
  2377 |                "description": "Next.js encountered runtime data during prerendering.",

  at Object.toDisplayCollapsedRedbox (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2374:35)

pnpm test-start test/production/middleware-prefetch/middleware-prefetch.test.ts (job)

  • Middleware Production Prefetch > does not prefetch provided path if it will be rewritten (DD)
Expand output

● Middleware Production Prefetch › does not prefetch provided path if it will be rewritten

expect(received).toBe(expected) // Object.is equality

Expected: false
Received: true

  43 |             src.includes('/ssg-page-2' + (process.env.NEXT_RSPACK ? '-' : ''))
  44 |         )
> 45 |       ).toBe(false)
     |         ^
  46 |     })
  47 |   })
  48 | })

  at toBe (production/middleware-prefetch/middleware-prefetch.test.ts:45:9)
  at retry (lib/next-test-utils.ts:867:14)
  at Object.<anonymous> (production/middleware-prefetch/middleware-prefetch.test.ts:34:5)

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

  • Cache Components Errors > Build With --prerender-debug > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should error the build with a reason related dynamic data (DD)
  • Cache Components Errors > Build Without --prerender-debug > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should error the build with a reason related dynamic data (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should error the build with a reason related dynamic data

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Build With --prerender-debug Error Attribution with Sync IO Unguarded RSC with guarded Client sync IO should error the build with a reason related dynamic data 1`

- Snapshot  - 22
+ Received  + 20

- "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
-
- `fetch(...)`, `cookies()`, `headers()`, `params`, `searchParams`, or `connection()` accessed outside of `<Suspense>` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
-
- Ways to fix this:
-   - [cache] Cache the data access with `"use cache"`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#cache-the-component-or-data
-   - [stream] Provide a placeholder with `<Suspense fallback={...}>` around the data access
+ "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered the unstable value `new Date()` in a Client Component.
+
+ This value would be evaluated during the prerender, instead of recomputed on each visit.
+
+ Ways to fix this:
+   - [stream] Wrap the Client Component in `<Suspense fallback={...}>`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#wrap-in-or-move-into-suspense
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#wrap-in-or-move-into-suspense
-   - [cache] If the runtime data is `params` and they're known, prerender them with `generateStaticParams`
+   - [defer] Move the read into a `useEffect` or event handler
-     https://nextjs.org/docs/messages/blocking-prerender-runtime#for-known-params-prerender
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#move-into-effect-or-event-handler
-   - [block] Set `export const unstable_instant = false` to silence this warning and allow a blocking route
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#allow-blocking-route
-     at RequestData (webpack:///app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:34:18)
+   - [measure] If the value is for telemetry, use a timing API such as `performance.now()`
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#for-telemetry-use-a-timing-api
+     at SyncIO (webpack:///app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx:5:16)
-     at Page (webpack:///app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:27:9)
+     at Page (webpack:///app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:23:11)
-   32 |
-   33 | async function RequestData() {
+   3 | export function SyncIO() {
+   4 |   // This is a sync IO access that should not cause an error
- > 34 |   ;(await cookies()).get('foo')
+ > 5 |   const data = new Date().toISOString()
-      |                  ^
+     |                ^
+   6 |
-   35 |   return (
+   7 |   return (
-   36 |     <div>
-   37 |       <h2>Request Data Access</h2>
+   8 |     <main>
  To debug the issue, start the app in development mode by running `next dev`, then open "/sync-attribution/unguarded-async-guarded-clientsync" in your browser to investigate the error.
  Error occurred prerendering page "/sync-attribution/unguarded-async-guarded-clientsync". Read more: https://nextjs.org/docs/messages/prerender-error

  > Export encountered errors on 1 path:
  	/sync-attribution/unguarded-async-guarded-clientsync/page: /sync-attribution/unguarded-async-guarded-clientsync"

  2461 |             } else {
  2462 |               if (isDebugPrerender) {
> 2463 |                 expect(output).toMatchInlineSnapshot(`
       |                                ^
  2464 |                  "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
  2465 |
  2466 |                  \`fetch(...)\`, \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.

  at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2463:32)

● Cache Components Errors › Build Without --prerender-debug › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should error the build with a reason related dynamic data

expect(received).toInclude(expected)

Expected string to include:
  "Error: Route \"/sync-attribution/unguarded-async-guarded-clientsync\": Next.js encountered uncached or runtime data during prerendering."
Received:
  "Error: Route \"/sync-attribution/unguarded-async-guarded-clientsync\": Next.js encountered the unstable value `new Date()` in a Client Component.·
This value would be evaluated during the prerender, instead of recomputed on each visit.·
Ways to fix this:
  - [stream] Wrap the Client Component in `<Suspense fallback={...}>`
    https://nextjs.org/docs/messages/blocking-prerender-current-time-client#wrap-in-or-move-into-suspense
  - [defer] Move the read into a `useEffect` or event handler
    https://nextjs.org/docs/messages/blocking-prerender-current-time-client#move-into-effect-or-event-handler
  - [measure] If the value is for telemetry, use a timing API such as `performance.now()`
    https://nextjs.org/docs/messages/blocking-prerender-current-time-client#for-telemetry-use-a-timing-api
    at a (<next-dist-dir>)
To get a more detailed stack trace and pinpoint the issue, try one of the following:
  - Start the app in development mode by running `next dev`, then open \"/sync-attribution/unguarded-async-guarded-clientsync\" in your browser to investigate the error.
  - Rerun the production build with `next build --debug-prerender` to generate better stack traces.
Error occurred prerendering page \"/sync-attribution/unguarded-async-guarded-clientsync\". Read more: https://nextjs.org/docs/messages/prerender-error
Export encountered an error on /sync-attribution/unguarded-async-guarded-clientsync/page: /sync-attribution/unguarded-async-guarded-clientsync, exiting the build."

  2495 |                 // non-debug-prerender mode, so we don't assert on the stack
  2496 |                 // frames here.
> 2497 |                 expect(output).toInclude(
       |                                ^
  2498 |                   'Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.'
  2499 |                 )
  2500 |               }

  at Object.toInclude (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2497:32)

pnpm test-dev-turbo test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts (turbopack) (job)

  • Cache Components Errors > Dev > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should show a collapsed redbox error (DD)
Expand output

● Cache Components Errors › Dev › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should show a collapsed redbox error

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Dev Error Attribution with Sync IO Unguarded RSC with guarded Client sync IO should show a collapsed redbox error 1`

- Snapshot  - 7
+ Received  + 7

  {
-   "code": "E1296",
-   "description": "Next.js encountered runtime data during prerendering.",
+   "code": "E1287",
+   "description": "Next.js encountered the unstable value new Date() in a Client Component.",
    "environmentLabel": "Server",
    "label": "Blocking Route",
-   "source": "app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (34:18) @ RequestData
- > 34 |   ;(await cookies()).get('foo')
-      |                  ^",
+   "source": "app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx (5:16) @ SyncIO
+ > 5 |   const data = new Date().toISOString()
+     |                ^",
    "stack": [
-     "RequestData app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (34:18)",
-     "Page app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (27:9)",
+     "SyncIO app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx (5:16)",
+     "Page app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx (23:11)",
    ],
  }

  2372 |             const browser = await next.browser(pathname)
  2373 |
> 2374 |             await expect(browser).toDisplayCollapsedRedbox(`
       |                                   ^
  2375 |              {
  2376 |                "code": "E1296",
  2377 |                "description": "Next.js encountered runtime data during prerendering.",

  at Object.toDisplayCollapsedRedbox (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2374:35)

pnpm test-start-turbo test/e2e/prerender.test.ts (turbopack) (job)

  • Prerender > should of formatted build output correctly (DD)
Expand output

● Prerender › should of formatted build output correctly

expect(received).toMatch(expected)

Expected pattern: /\+2 more paths/
Received string:  "▲ Next.js 16.3.0-canary.40 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)·
  Running TypeScript ...
  Finished TypeScript in 207ms ...
  Creating an optimized production build ...
✓ Compiled successfully in 11.7s
  Collecting page data using 15 workers ...
  Generating static pages using 15 workers (0/50) ...
Warning: data for page \"/large-page-data\" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance.
See more info here: https://nextjs.org/docs/messages/large-page-data
  Generating static pages using 15 workers (12/50)··
  Generating static pages using 15 workers (24/50)··
  Generating static pages using 15 workers (37/50)··
Warning: data for page \"/blocking-fallback/[slug]\" (path \"/blocking-fallback/lots-of-data\") is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance.
See more info here: https://nextjs.org/docs/messages/large-page-data
getStaticProps test-errors-1
✓ Generating static pages using 15 workers (50/50) in 2.9s
  Finalizing page optimization ...·
Route (pages)                                                     Revalidate  Expire
┌ ● / (341 ms)                                                            2s      1y
├ ○ /404
├ ● /another (318 ms)                                                     1s      1y
├   /api-docs/[...slug] (432 ms)
│ └ ● /api-docs/first
├ ƒ /api/bad
├ ƒ /api/enable
├ ƒ /api/manual-revalidate
├ ƒ /bad-gssp
├ ƒ /bad-ssr
├   /blocking-fallback-once/[slug] (1320 ms)
│ └ ● /blocking-fallback-once/404-on-manual-revalidate (1320 ms)
├   /blocking-fallback-some/[slug] (2656 ms)                              1s      1y
│ ├ ● /blocking-fallback-some/a (1328 ms)
│ └ ● /blocking-fallback-some/b (1328 ms)
├   /blocking-fallback/[slug] (1176 ms)
│ ├ ● /blocking-fallback/test-errors-1 (1057 ms)
│ └ ● /blocking-fallback/lots-of-data
├ ● /blog (319 ms)                                                       10s      1y
├   /blog/[post] (1555 ms)                                               10s      1y
│ ├ ● /blog/post-1 (437 ms)
│ ├ ● /blog/post-2 (437 ms)
│ ├ ● /blog/[post3]
│ ├ ● /blog/post-4
│ └ ● /blog/post.1
├   /blog/[post]/[comment] (919 ms)                                       2s      1y
│ ├ ● /blog/post-1/comment-1 (304 ms)
│ └ ● /blog/post-2/comment-2
├   /catchall-explicit/[...slug] (2675 ms)                                1s      1y
│ ├ ● /catchall-explicit/first (453 ms)
│ ├ ● /catchall-explicit/second (447 ms)
│ ├ ● /catchall-explicit/another/value (445 ms)
│ ├ ● /catchall-explicit/hello/another (444 ms)
│ ├ ● /catchall-explicit/[first]/[second] (443 ms)
│ └ ● /catchall-explicit/[third]/[fourth] (443 ms)
├   /catchall-optional/[[...slug]]
│ ├ ● /catchall-optional
│ └ ● /catchall-optional/value
├   /catchall/[...slug] (681 ms)                                          1s      1y
│ ├ ● /catchall/first
│ ├ ● /catchall/second
│ ├ ● /catchall/another/value
│ └ ● /catchall/hello/another
├ ● /default-revalidate (341 ms)
├   /dynamic/[slug]
│ ├ ● /dynamic/[first]
│ └ ● /dynamic/[second]
├ ● /fallback-only/[slug] (341 ms)
├   /fallback-true/[slug] (423 ms)                                        2s      1y
│ └ ● /fallback-true/first
├   /lang/[lang]/about (963 ms)
│ ├ ● /lang/es/about (328 ms)
│ ├ ● /lang/fr/about (314 ms)
│ ├ ● /lang/de/about (313 ms)
│ └ ● /lang/en/about
├ ● /large-page-data (341 ms)
├ ƒ /large-page-data-ssr
├ ● /non-json-blocking/[p]
├ ● /non-json/[p] (326 ms)
├ ○ /normal (354 ms)
├ ● /preview (325 ms)
├ ● /something (325 ms)
├ ƒ /ssr
└ ● /user/[user]/profile (319 ms)·
○  (Static)   prerendered as static content
●  (SSG)      prerendered as static HTML (uses getStaticProps)
ƒ  (Dynamic)  server-rendered on demand·
▲ Next.js 16.3.0-canary.40
- Local:         http://localhost:33707
- Network:       http://172.18.0.2:33707
✓ Ready in 259ms
Error: such broken..

  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  getStaticProps random-path
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  getStaticProps blocked-create
  Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../.next/server/chunks/ssr/[root-of-the-server]__1nbk2_l._.js:1:35563)
  ⨯ Error: such broken..
  at l (../.next/server/chunks/ssr/[root-of-the-server]__0269546._.js:1:7506)
  at async q (../

... truncated ...

pnpm test-start-turbo test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts (turbopack) (job)

  • Cache Components Errors > Build With --prerender-debug > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should error the build with a reason related dynamic data (DD)
  • Cache Components Errors > Build Without --prerender-debug > Error Attribution with Sync IO > Unguarded RSC with guarded Client sync IO > should error the build with a reason related dynamic data (DD)
Expand output

● Cache Components Errors › Build With --prerender-debug › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should error the build with a reason related dynamic data

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Build With --prerender-debug Error Attribution with Sync IO Unguarded RSC with guarded Client sync IO should error the build with a reason related dynamic data 1`

- Snapshot  - 22
+ Received  + 20

- "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
-
- `fetch(...)`, `cookies()`, `headers()`, `params`, `searchParams`, or `connection()` accessed outside of `<Suspense>` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
-
- Ways to fix this:
-   - [cache] Cache the data access with `"use cache"`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#cache-the-component-or-data
-   - [stream] Provide a placeholder with `<Suspense fallback={...}>` around the data access
+ "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered the unstable value `new Date()` in a Client Component.
+
+ This value would be evaluated during the prerender, instead of recomputed on each visit.
+
+ Ways to fix this:
+   - [stream] Wrap the Client Component in `<Suspense fallback={...}>`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#wrap-in-or-move-into-suspense
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#wrap-in-or-move-into-suspense
-   - [cache] If the runtime data is `params` and they're known, prerender them with `generateStaticParams`
+   - [defer] Move the read into a `useEffect` or event handler
-     https://nextjs.org/docs/messages/blocking-prerender-runtime#for-known-params-prerender
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#move-into-effect-or-event-handler
-   - [block] Set `export const unstable_instant = false` to silence this warning and allow a blocking route
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#allow-blocking-route
-     at RequestData (app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:34:18)
+   - [measure] If the value is for telemetry, use a timing API such as `performance.now()`
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#for-telemetry-use-a-timing-api
+     at SyncIO (app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx:5:16)
-     at Page (app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:27:9)
+     at Page (app/sync-attribution/unguarded-async-guarded-clientsync/page.tsx:23:11)
-   32 |
-   33 | async function RequestData() {
+   3 | export function SyncIO() {
+   4 |   // This is a sync IO access that should not cause an error
- > 34 |   ;(await cookies()).get('foo')
+ > 5 |   const data = new Date().toISOString()
-      |                  ^
+     |                ^
+   6 |
-   35 |   return (
+   7 |   return (
-   36 |     <div>
-   37 |       <h2>Request Data Access</h2>
+   8 |     <main>
  To debug the issue, start the app in development mode by running `next dev`, then open "/sync-attribution/unguarded-async-guarded-clientsync" in your browser to investigate the error.
  Error occurred prerendering page "/sync-attribution/unguarded-async-guarded-clientsync". Read more: https://nextjs.org/docs/messages/prerender-error

  > Export encountered errors on 1 path:
  	/sync-attribution/unguarded-async-guarded-clientsync/page: /sync-attribution/unguarded-async-guarded-clientsync"

  2403 |             if (isTurbopack) {
  2404 |               if (isDebugPrerender) {
> 2405 |                 expect(output).toMatchInlineSnapshot(`
       |                                ^
  2406 |                  "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
  2407 |
  2408 |                  \`fetch(...)\`, \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.

  at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2405:32)

● Cache Components Errors › Build Without --prerender-debug › Error Attribution with Sync IO › Unguarded RSC with guarded Client sync IO › should error the build with a reason related dynamic data

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Build Without --prerender-debug Error Attribution with Sync IO Unguarded RSC with guarded Client sync IO should error the build with a reason related dynamic data 1`

- Snapshot  - 18
+ Received  + 19

- "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
-
- `fetch(...)`, `cookies()`, `headers()`, `params`, `searchParams`, or `connection()` accessed outside of `<Suspense>` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
-
- Ways to fix this:
-   - [cache] Cache the data access with `"use cache"`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#cache-the-component-or-data
-   - [stream] Provide a placeholder with `<Suspense fallback={...}>` around the data access
+ "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered the unstable value `new Date()` in a Client Component.
+
+ This value would be evaluated during the prerender, instead of recomputed on each visit.
+
+ Ways to fix this:
+   - [stream] Wrap the Client Component in `<Suspense fallback={...}>`
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#wrap-in-or-move-into-suspense
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#wrap-in-or-move-into-suspense
-   - [cache] If the runtime data is `params` and they're known, prerender them with `generateStaticParams`
+   - [defer] Move the read into a `useEffect` or event handler
-     https://nextjs.org/docs/messages/blocking-prerender-runtime#for-known-params-prerender
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#move-into-effect-or-event-handler
-   - [block] Set `export const unstable_instant = false` to silence this warning and allow a blocking route
-     https://nextjs.org/docs/messages/blocking-prerender-dynamic#allow-blocking-route
-     at a (<anonymous>)
-     at main (<anonymous>)
-     at main (<anonymous>)
-     at body (<anonymous>)
-     at html (<anonymous>)
+   - [measure] If the value is for telemetry, use a timing API such as `performance.now()`
+     https://nextjs.org/docs/messages/blocking-prerender-current-time-client#for-telemetry-use-a-timing-api
+     at <unknown> (app/sync-attribution/unguarded-async-guarded-clientsync/client.tsx:5:16)
+   3 | export function SyncIO() {
+   4 |   // This is a sync IO access that should not cause an error
+ > 5 |   const data = new Date().toISOString()
+     |                ^
+   6 |
+   7 |   return (
+   8 |     <main>
  To get a more detailed stack trace and pinpoint the issue, try one of the following:
    - Start the app in development mode by running `next dev`, then open "/sync-attribution/unguarded-async-guarded-clientsync" in your browser to investigate the error.
    - Rerun the production build with `next build --debug-prerender` to generate better stack traces.
  Error occurred prerendering page "/sync-attribution/unguarded-async-guarded-clientsync". Read more: https://nextjs.org/docs/messages/prerender-error
  Export encountered an error on /sync-attribution/unguarded-async-guarded-clientsync/page: /sync-attribution/unguarded-async-guarded-clientsync, exiting the build."

  2433 |                 `)
  2434 |               } else {
> 2435 |                 expect(output).toMatchInlineSnapshot(`
       |                                ^
  2436 |                  "Error: Route "/sync-attribution/unguarded-async-guarded-clientsync": Next.js encountered uncached or runtime data during prerendering.
  2437 |
  2438 |                  \`fetch(...)\`, \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.

  at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-errors.test.ts:2435:32)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Stats cancelled

Commit: c5c5d64
View workflow run

@eps1lon eps1lon force-pushed the update/react/19.3.0-canary-43bcbf80-20260603 branch from 546fe9e to c5c5d64 Compare June 4, 2026 05:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant