Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

re-add hydration support to React 18 errors #69757

Conversation

ztanner
Copy link
Member

@ztanner ztanner commented Sep 5, 2024

Re-lands hydration support for React 18 errors by reverting some things that were part of #65058. Annotated specific parts with comments.

@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from f20e3c5 to e7a914c Compare September 5, 2024 21:01
'Warning: Text content did not match. Server: "%s" Client: "%s"%s'

const isTextMismatchWarning = (msg: NullableText) => textMismatchWarning === msg
const isTextInTagsMismatchWarning = (msg: NullableText) =>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...args,
// We tack on the hydration error message to the console.error message so that
// it matches the error we display in the redbox overlay
`\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error`,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -38,7 +37,7 @@ describe.skip('Error overlay for hydration errors (React 18)', () => {
await session.assertHasRedbox()

expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
"Error: Text content does not match server-rendered HTML.
"Text content does not match server-rendered HTML.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight change in behavior but showing Error: in an error overlay feels a bit redundant

@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from e7a914c to 81ceea6 Compare September 5, 2024 21:05
@@ -307,7 +307,9 @@ export function Errors({
{/* If there's hydration warning, skip displaying the error name */}
{hydrationWarning ? '' : error.name + ': '}
<HotlinkedText
text={hydrationWarning || error.message}
text={
isAppDir ? hydrationWarning || error.message : error.message
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverts the Errors.tsx changes from:

to match the React 18 behavior when not in app dir

@ijjk
Copy link
Member

ijjk commented Sep 5, 2024

Failing test suites

Commit: f7a2265

pnpm test test/production/pages-dir/production/test/index.test.ts

  • Production Usage > should output traces
Expand output

● Production Usage › should output traces

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

Expected: true
Received: false

  285 |           return false
  286 |         })
> 287 |       ).toBe(true)
      |         ^
  288 |
  289 |       if (sep === '/') {
  290 |         expect(

  at Object.toBe (production/pages-dir/production/test/index.test.ts:287:9)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/module-id-strategies/test/index.test.js (turbopack)

  • minified module ids > production mode > should have no long module ids for basic modules
  • minified module ids > production mode > should have no long module ids for external modules
  • minified module ids > production mode > should have no long module ids for async loader modules
  • minified module ids > production mode > should have no long module id for the next client runtime module
Expand output

● minified module ids › production mode › should have no long module ids for basic modules

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.142 (turbo)

   Checking validity of types ...
   Creating an optimized production build ...
   Building (0/2) ...
 ✓ Building (2/2)
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/3) ...
Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

  289 |                     // If prerenderEarlyExit is enabled, we'll exit the build immediately.
  290 |                     if (nextConfig.experimental.prerenderEarlyExit) {
> 291 |                         throw new ExportPageError(`Export encountered an error on ${pageKey}, exiting the build.`);
      |                               ^
  292 |                     } else {
  293 |                     // Otherwise, this is a no-op. The build will continue, and a summary of failed pages will be displayed at the end.
  294 |                     }

  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
  Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Failed to build / after 1 attempts.
  > Build error occurred
  Error: Export encountered an error on /, exiting the build.
  at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
      at async Promise.all (index 0)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
    type: 'ExportPageError',
    code: 'NEXT_EXPORT_PAGE_ERROR'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

● minified module ids › production mode › should have no long module ids for external modules

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.142 (turbo)

   Checking validity of types ...
   Creating an optimized production build ...
   Building (0/2) ...
 ✓ Building (2/2)
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/3) ...
Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

  289 |                     // If prerenderEarlyExit is enabled, we'll exit the build immediately.
  290 |                     if (nextConfig.experimental.prerenderEarlyExit) {
> 291 |                         throw new ExportPageError(`Export encountered an error on ${pageKey}, exiting the build.`);
      |                               ^
  292 |                     } else {
  293 |                     // Otherwise, this is a no-op. The build will continue, and a summary of failed pages will be displayed at the end.
  294 |                     }

  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
  Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Failed to build / after 1 attempts.
  > Build error occurred
  Error: Export encountered an error on /, exiting the build.
  at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
      at async Promise.all (index 0)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
    type: 'ExportPageError',
    code: 'NEXT_EXPORT_PAGE_ERROR'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

● minified module ids › production mode › should have no long module ids for async loader modules

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.142 (turbo)

   Checking validity of types ...
   Creating an optimized production build ...
   Building (0/2) ...
 ✓ Building (2/2)
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/3) ...
Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

  289 |                     // If prerenderEarlyExit is enabled, we'll exit the build immediately.
  290 |                     if (nextConfig.experimental.prerenderEarlyExit) {
> 291 |                         throw new ExportPageError(`Export encountered an error on ${pageKey}, exiting the build.`);
      |                               ^
  292 |                     } else {
  293 |                     // Otherwise, this is a no-op. The build will continue, and a summary of failed pages will be displayed at the end.
  294 |                     }

  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
  Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Failed to build / after 1 attempts.
  > Build error occurred
  Error: Export encountered an error on /, exiting the build.
  at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
      at async Promise.all (index 0)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
    type: 'ExportPageError',
    code: 'NEXT_EXPORT_PAGE_ERROR'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

● minified module ids › production mode › should have no long module id for the next client runtime module

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.142 (turbo)

   Checking validity of types ...
   Creating an optimized production build ...
   Building (0/2) ...
 ✓ Building (2/2)
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/3) ...
Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

  289 |                     // If prerenderEarlyExit is enabled, we'll exit the build immediately.
  290 |                     if (nextConfig.experimental.prerenderEarlyExit) {
> 291 |                         throw new ExportPageError(`Export encountered an error on ${pageKey}, exiting the build.`);
      |                               ^
  292 |                     } else {
  293 |                     // Otherwise, this is a no-op. The build will continue, and a summary of failed pages will be displayed at the end.
  294 |                     }

  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
  Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:490)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:481)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:476)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:89)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at bd (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:77:404)
  at Z (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:76:217)
  at $c (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:78:98)
  at Zc (../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:145)
  Failed to build / after 1 attempts.
  > Build error occurred
  Error: Export encountered an error on /, exiting the build.
  at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
      at async Promise.all (index 0)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
    type: 'ExportPageError',
    code: 'NEXT_EXPORT_PAGE_ERROR'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/e2e/getserversideprops/test/index.test.ts (turbopack)

  • getServerSideProps > should dedupe server data requests
Expand output

● getServerSideProps › should dedupe server data requests

elementHandle.click: Element is not attached to the DOM
Call log:
  - attempting click action
  -   waiting for element to be visible, enabled and stable
  -   element is visible, enabled and stable
  -   scrolling into view if needed
  -   done scrolling
  -   <nextjs-portal></nextjs-portal> intercepts pointer events
  - retrying click action, attempt #1
  -   waiting for element to be visible, enabled and stable
  -   element is visible, enabled and stable
  -   scrolling into view if needed
  -   done scrolling
  -   <nextjs-portal></nextjs-portal> intercepts pointer events
  - retrying click action, attempt #2
  -   waiting 20ms
  -   waiting for element to be visible, enabled and stable
  -   element is visible, enabled and stable
  -   scrolling into view if needed
  -   done scrolling
  -   <nextjs-portal></nextjs-portal> intercepts pointer events
  - retrying click action, attempt #3
  -   waiting 100ms
  -   waiting for element to be visible, enabled and stable
  -   element is visible, enabled and stable
  -   scrolling into view if needed
  -   done scrolling
  -   <nextjs-portal></nextjs-portal> intercepts pointer events
  - retrying click action, attempt #4
  -   waiting 100ms
  -   waiting for element to be visible, enabled and stable
  -   element is visible, enabled and stable
  -   scrolling into view if needed
  -   done scrolling
  -   <nextjs-portal></nextjs-portal> intercepts pointer events
  - retrying click action, attempt #5
  -   waiting 500ms
  -   waiting for element to be visible, enabled and stable

  394 |   click() {
  395 |     return this.chain((el: ElementHandleExt) => {
> 396 |       return el.click().then(() => el)
      |                 ^
  397 |     })
  398 |   }
  399 |

  at click (lib/browsers/playwright.ts:396:17)
  at Object.<anonymous> (e2e/getserversideprops/test/index.test.ts:680:5)

Read more about building and testing Next.js in contributing.md.

@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from 81ceea6 to 546d978 Compare September 5, 2024 21:17
@ztanner ztanner changed the base branch from sebbie/08-30-react-sync_cleanup_inaccurate_peer_dependencies to canary September 5, 2024 21:17
@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from 546d978 to 39fa29b Compare September 5, 2024 21:19
@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. examples Issue was opened via the examples template. labels Sep 5, 2024
@ztanner ztanner changed the base branch from canary to sebbie/08-30-react-sync_cleanup_inaccurate_peer_dependencies September 5, 2024 21:19
@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from 39fa29b to 4360de1 Compare September 5, 2024 21:20
@@ -4,7 +4,8 @@ import { FileRef, nextTestSetup } from 'e2e-utils'
import { outdent } from 'outdent'
import path from 'path'

describe('Error overlay for hydration errors (React 19)', () => {
// TODO: Enable once React 19 support is added to pages.
describe.skip('Error overlay for hydration errors (React 19)', () => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't run because we throw in pages if 18 is used

@ztanner ztanner force-pushed the 09-05-re-add_hydration_support_to_react_18_errors branch from 4360de1 to f7a2265 Compare September 5, 2024 21:30
@ztanner ztanner marked this pull request as ready for review September 5, 2024 21:47
@ztanner ztanner requested a review from huozhi September 5, 2024 21:47
Matches the same guard we added in [`f06d21e`
(#69484)](f06d21e)
@ztanner ztanner merged commit 1de62ed into sebbie/08-30-react-sync_cleanup_inaccurate_peer_dependencies Sep 5, 2024
18 of 23 checks passed
@ztanner ztanner deleted the 09-05-re-add_hydration_support_to_react_18_errors branch September 5, 2024 22:38
ztanner added a commit that referenced this pull request Sep 6, 2024
Re-lands hydration support for React 18 errors by reverting some things
that were part of #65058. Annotated specific parts with comments.
ztanner added a commit that referenced this pull request Sep 9, 2024
Re-lands hydration support for React 18 errors by reverting some things
that were part of #65058. Annotated specific parts with comments.
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 25, 2024
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
create-next-app Related to our CLI tool for quickly starting a new Next.js application. created-by: Next.js team PRs by the Next.js team. examples Issue was opened via the examples template. locked tests type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants