-
Notifications
You must be signed in to change notification settings - Fork 27.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support React 19 in App and Pages router #65058
Conversation
Failing test suitesCommit: 71ab968
Expand output● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › Should use a custom resolver for image URL
● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › should add a srcset based on the custom resolver
● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › should support the unoptimized attribute
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir action handling › fetch actions › should handle redirects to routes that provide an invalid RSC response
Read more about building and testing Next.js in contributing.md. |
} else if (typeof process === 'object' && // $FlowFixMe[method-unbinding] | ||
typeof process.emit === 'function') { | ||
// Node Polyfill | ||
process.emit('uncaughtException', error); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
process@0.11
is now bundled in our client bundles. Likely because of this. Verify before merge
5c3ce45
to
770b97d
Compare
90d45d2
to
59ae828
Compare
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
buildDuration | 19.6s | 17.8s | N/A |
buildDurationCached | 10.1s | 8.7s | N/A |
nodeModulesSize | 369 MB | 345 MB | N/A |
nextStartRea..uration (ms) | 452ms | 473ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
2262-HASH.js gzip | 5.06 kB | 5.05 kB | N/A |
7522.HASH.js gzip | 169 B | 169 B | ✓ |
8bfde070-HASH.js gzip | 53.5 kB | N/A | N/A |
9921-HASH.js gzip | 31.9 kB | 33.6 kB | |
framework-HASH.js gzip | 55.8 kB | 55.8 kB | N/A |
main-app-HASH.js gzip | 228 B | 227 B | N/A |
main-HASH.js gzip | 32.3 kB | 32.3 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.7 kB | N/A |
f4e28338-HASH.js gzip | N/A | 50.8 kB | N/A |
Overall change | 32.1 kB | 33.7 kB |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
_app-HASH.js gzip | 191 B | 193 B | N/A |
_error-HASH.js gzip | 192 B | 192 B | ✓ |
amp-HASH.js gzip | 510 B | 511 B | N/A |
css-HASH.js gzip | 341 B | 342 B | N/A |
dynamic-HASH.js gzip | 2.52 kB | 2.52 kB | N/A |
edge-ssr-HASH.js gzip | 266 B | 265 B | N/A |
head-HASH.js gzip | 365 B | 365 B | ✓ |
hooks-HASH.js gzip | 392 B | 392 B | ✓ |
image-HASH.js gzip | 4.27 kB | 4.27 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.69 kB | 2.69 kB | N/A |
routerDirect..HASH.js gzip | 327 B | 329 B | N/A |
script-HASH.js gzip | 392 B | 396 B | N/A |
withRouter-HASH.js gzip | 324 B | 324 B | ✓ |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 1.65 kB | 1.65 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
_buildManifest.js gzip | 483 B | 485 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
index.html gzip | 527 B | 529 B | N/A |
link.html gzip | 541 B | 544 B | N/A |
withRouter.html gzip | 522 B | 524 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
edge-ssr.js gzip | 120 kB | 120 kB | N/A |
page.js gzip | 182 kB | 180 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 625 B | 625 B | ✓ |
middleware-r..fest.js gzip | 156 B | 156 B | ✓ |
middleware.js gzip | 25.7 kB | 25.7 kB | N/A |
edge-runtime..pack.js gzip | 839 B | 839 B | ✓ |
Overall change | 1.62 kB | 1.62 kB | ✓ |
Next Runtimes Overall increase ⚠️
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 171 kB | 174 kB | |
app-page-exp..prod.js gzip | 98.8 kB | 106 kB | |
app-page-tur..prod.js gzip | 100 kB | 115 kB | |
app-page-tur..prod.js gzip | 94.6 kB | 95 kB | |
app-page.run...dev.js gzip | 157 kB | 160 kB | |
app-page.run..prod.js gzip | 93.3 kB | 93.6 kB | |
app-route-ex...dev.js gzip | 21.5 kB | 20.9 kB | N/A |
app-route-ex..prod.js gzip | 15.3 kB | 15 kB | N/A |
app-route-tu..prod.js gzip | 15.3 kB | 15 kB | N/A |
app-route-tu..prod.js gzip | 15 kB | 14.8 kB | N/A |
app-route.ru...dev.js gzip | 21.4 kB | 20.7 kB | N/A |
app-route.ru..prod.js gzip | 15 kB | 14.8 kB | N/A |
pages-api-tu..prod.js gzip | 9.55 kB | 9.55 kB | ✓ |
pages-api.ru...dev.js gzip | 9.82 kB | 9.82 kB | ✓ |
pages-api.ru..prod.js gzip | 9.55 kB | 9.55 kB | ✓ |
pages-turbo...prod.js gzip | 21.5 kB | 21.5 kB | N/A |
pages.runtim...dev.js gzip | 22.1 kB | 22 kB | N/A |
pages.runtim..prod.js gzip | 21.5 kB | 21.4 kB | N/A |
server.runti..prod.js gzip | 51.8 kB | 51.8 kB | ✓ |
Overall change | 796 kB | 824 kB |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
---|---|---|---|
0.pack gzip | 1.63 MB | 1.63 MB | |
index.pack gzip | 118 kB | 118 kB | N/A |
Overall change | 1.63 MB | 1.63 MB |
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
/***/
},
- /***/ 4598: /***/ (
+ /***/ 2101: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -30,7 +30,7 @@
default: () => /* binding */ nHandler,
});
- // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+ // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
var page_next_edge_ssr_entry_namespaceObject = {};
__webpack_require__.r(page_next_edge_ssr_entry_namespaceObject);
__webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, {
@@ -68,24 +68,24 @@
tree: () => tree,
});
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/globals.js
- var globals = __webpack_require__(9358);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
- var adapter = __webpack_require__(5874);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 87 modules
- var render = __webpack_require__(9805);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
- var incremental_cache = __webpack_require__(5260);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules
- var app_render = __webpack_require__(1052);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js
- var module_compiled = __webpack_require__(5209);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-kind.js
- var route_kind = __webpack_require__(8378);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/client/components/error-boundary.js
- var error_boundary = __webpack_require__(1295);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
- var entry_base = __webpack_require__(6173); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/globals.js
+ var globals = __webpack_require__(2780);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+ var adapter = __webpack_require__(8175);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 87 modules
+ var render = __webpack_require__(8946);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+ var incremental_cache = __webpack_require__(9203);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules
+ var app_render = __webpack_require__(69);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js
+ var module_compiled = __webpack_require__(7075);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-kind.js
+ var route_kind = __webpack_require__(726);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/client/components/error-boundary.js
+ var error_boundary = __webpack_require__(8977);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
+ var entry_base = __webpack_require__(8444); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
("TURBOPACK { transition: next-ssr }");
// We inject the tree and pages here so that we can use them in the route
@@ -104,7 +104,7 @@
page: [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1286)
+ __webpack_require__.bind(__webpack_require__, 1803)
),
"/tmp/next-stats7hw4IR/stats-app/app/app-edge-ssr/page.js",
],
@@ -118,14 +118,14 @@
layout: [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 6447)
+ __webpack_require__.bind(__webpack_require__, 4741)
),
"/tmp/next-stats7hw4IR/stats-app/app/layout.js",
],
"not-found": [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 9641)
+ __webpack_require__.bind(__webpack_require__, 8270)
),
"next/dist/client/components/not-found-error",
],
@@ -161,12 +161,12 @@
});
//# sourceMappingURL=app-page.js.map
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/lib/page-types.js
- var page_types = __webpack_require__(3470);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/encryption-utils.js
- var encryption_utils = __webpack_require__(904);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/action-utils.js
- var action_utils = __webpack_require__(8961); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsInByZWxvYWRFbnRyaWVzT25TdGFydCI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyIjp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXJSZWRpcmVjdHMiOmZhbHNlLCJmZXRjaENhY2hlS2V5UHJlZml4IjoiIiwibWlkZGxld2FyZVByZWZldGNoIjoiZmxleGlibGUiLCJvcHRpbWlzdGljQ2xpZW50Q2FjaGUiOnRydWUsIm1hbnVhbENsaWVudEJhc2VQYXRoIjpmYWxzZSwiY3B1cyI6MTksIm1lbW9yeUJhc2VkV29ya2Vyc0NvdW50IjpmYWxzZSwiaXNyRmx1c2hUb0Rpc2siOnRydWUsIndvcmtlclRocmVhZHMiOmZhbHNlLCJvcHRpbWl6ZUNzcyI6ZmFsc2UsIm5leHRTY3JpcHRXb3JrZXJzIjpmYWxzZSwic2Nyb2xsUmVzdG9yYXRpb24iOmZhbHNlLCJleHRlcm5hbERpciI6ZmFsc2UsImRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nIjpmYWxzZSwiZ3ppcFNpemUiOnRydWUsImNyYUNvbXBhdCI6ZmFsc2UsImVzbUV4dGVybmFscyI6dHJ1ZSwiZnVsbHlTcGVjaWZpZWQiOmZhbHNlLCJvdXRwdXRGaWxlVHJhY2luZ1Jvb3QiOiIvdG1wL25leHQtc3RhdHM3aHc0SVIvc3RhdHMtYXBwIiwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwiYWRqdXN0Rm9udEZhbGxiYWNrcyI6ZmFsc2UsImFkanVzdEZvbnRGYWxsYmFja3NXaXRoU2l6ZUFkanVzdCI6ZmFsc2UsInR5cGVkUm91dGVzIjpmYWxzZSwiaW5zdHJ1bWVudGF0aW9uSG9vayI6ZmFsc2UsImJ1bmRsZVBhZ2VzRXh0ZXJuYWxzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJDb21waWxlcyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQnVpbGRUcmFjZXMiOmZhbHNlLCJwcHIiOmZhbHNlLCJtaXNzaW5nU3VzcGVuc2VXaXRoQ1NSQmFpbG91dCI6dHJ1ZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjMwLCJzdGF0aWMiOjMwMH0sIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzN2h3NElSL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzN2h3NElSJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}!
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/lib/page-types.js
+ var page_types = __webpack_require__(3914);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+ var encryption_utils = __webpack_require__(7356);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/action-utils.js
+ var action_utils = __webpack_require__(7214); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsInByZWxvYWRFbnRyaWVzT25TdGFydCI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyIjp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXJSZWRpcmVjdHMiOmZhbHNlLCJmZXRjaENhY2hlS2V5UHJlZml4IjoiIiwibWlkZGxld2FyZVByZWZldGNoIjoiZmxleGlibGUiLCJvcHRpbWlzdGljQ2xpZW50Q2FjaGUiOnRydWUsIm1hbnVhbENsaWVudEJhc2VQYXRoIjpmYWxzZSwiY3B1cyI6MTksIm1lbW9yeUJhc2VkV29ya2Vyc0NvdW50IjpmYWxzZSwiaXNyRmx1c2hUb0Rpc2siOnRydWUsIndvcmtlclRocmVhZHMiOmZhbHNlLCJvcHRpbWl6ZUNzcyI6ZmFsc2UsIm5leHRTY3JpcHRXb3JrZXJzIjpmYWxzZSwic2Nyb2xsUmVzdG9yYXRpb24iOmZhbHNlLCJleHRlcm5hbERpciI6ZmFsc2UsImRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nIjpmYWxzZSwiZ3ppcFNpemUiOnRydWUsImNyYUNvbXBhdCI6ZmFsc2UsImVzbUV4dGVybmFscyI6dHJ1ZSwiZnVsbHlTcGVjaWZpZWQiOmZhbHNlLCJvdXRwdXRGaWxlVHJhY2luZ1Jvb3QiOiIvdG1wL25leHQtc3RhdHM3aHc0SVIvc3RhdHMtYXBwIiwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwiYWRqdXN0Rm9udEZhbGxiYWNrcyI6ZmFsc2UsImFkanVzdEZvbnRGYWxsYmFja3NXaXRoU2l6ZUFkanVzdCI6ZmFsc2UsInR5cGVkUm91dGVzIjpmYWxzZSwiaW5zdHJ1bWVudGF0aW9uSG9vayI6ZmFsc2UsImJ1bmRsZVBhZ2VzRXh0ZXJuYWxzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJDb21waWxlcyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQnVpbGRUcmFjZXMiOmZhbHNlLCJwcHIiOmZhbHNlLCJtaXNzaW5nU3VzcGVuc2VXaXRoQ1NSQmFpbG91dCI6dHJ1ZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjMwLCJzdGF0aWMiOjMwMH0sIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzN2h3NElSL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzN2h3NElSJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}!
var _self___RSC_MANIFEST;
const incrementalCacheHandler = null;
@@ -407,50 +407,50 @@
/***/
},
- /***/ 8798: /***/ (
+ /***/ 4244: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8448)
+ __webpack_require__.bind(__webpack_require__, 7360)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 4660)
+ __webpack_require__.bind(__webpack_require__, 6672)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 2617)
+ __webpack_require__.bind(__webpack_require__, 6524)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 2311)
+ __webpack_require__.bind(__webpack_require__, 831)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8387)
+ __webpack_require__.bind(__webpack_require__, 1757)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7949)
+ __webpack_require__.bind(__webpack_require__, 9922)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7870)
+ __webpack_require__.bind(__webpack_require__, 6647)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8989)
+ __webpack_require__.bind(__webpack_require__, 9176)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1337)
+ __webpack_require__.bind(__webpack_require__, 6053)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 9318)
+ __webpack_require__.bind(__webpack_require__, 1606)
);
/***/
},
- /***/ 7129: /***/ () => {
+ /***/ 8402: /***/ () => {
/***/
},
- /***/ 1286: /***/ (
+ /***/ 1803: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -470,7 +470,7 @@
/***/
},
- /***/ 6447: /***/ (
+ /***/ 4741: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -482,7 +482,7 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(2746);
+ __webpack_require__(8742);
function RootLayout({ children }) {
return /*#__PURE__*/ (0,
@@ -501,7 +501,7 @@
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [871, 905], () => __webpack_exec__(4598));
+ /******/ __webpack_require__.O(0, [588, 470], () => __webpack_exec__(2101));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[
"middleware_app/app-edge-ssr/page"
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for image-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[8358],
{
- /***/ 5497: /***/ (
+ /***/ 2307: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/image",
function () {
- return __webpack_require__(7374);
+ return __webpack_require__(6812);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 3508: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6470: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -40,15 +40,15 @@
__webpack_require__(5439)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8279)
+ __webpack_require__(5691)
);
- const _getimgprops = __webpack_require__(1598);
- const _imageconfig = __webpack_require__(134);
- const _imageconfigcontextsharedruntime = __webpack_require__(7837);
- const _warnonce = __webpack_require__(8099);
- const _routercontextsharedruntime = __webpack_require__(7475);
+ const _getimgprops = __webpack_require__(2069);
+ const _imageconfig = __webpack_require__(8526);
+ const _imageconfigcontextsharedruntime = __webpack_require__(2608);
+ const _warnonce = __webpack_require__(8309);
+ const _routercontextsharedruntime = __webpack_require__(4990);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9190)
+ __webpack_require__(7291)
);
// This is replaced by webpack define plugin
const configEnv = {
@@ -376,7 +376,7 @@
/***/
},
- /***/ 1598: /***/ (
+ /***/ 2069: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -392,9 +392,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(8099);
- const _imageblursvg = __webpack_require__(6874);
- const _imageconfig = __webpack_require__(134);
+ const _warnonce = __webpack_require__(8309);
+ const _imageblursvg = __webpack_require__(7976);
+ const _imageconfig = __webpack_require__(8526);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -769,7 +769,7 @@
/***/
},
- /***/ 6874: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7976: /***/ (__unused_webpack_module, exports) => {
"use strict";
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -824,7 +824,7 @@
/***/
},
- /***/ 2028: /***/ (
+ /***/ 4186: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -851,10 +851,10 @@
},
});
const _interop_require_default = __webpack_require__(1478);
- const _getimgprops = __webpack_require__(1598);
- const _imagecomponent = __webpack_require__(3508);
+ const _getimgprops = __webpack_require__(2069);
+ const _imagecomponent = __webpack_require__(6470);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9190)
+ __webpack_require__(7291)
);
function getImageProps(imgProps) {
const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -886,7 +886,7 @@
/***/
},
- /***/ 9190: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7291: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -921,7 +921,7 @@
/***/
},
- /***/ 7374: /***/ (
+ /***/ 6812: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -938,8 +938,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-beta-4508873393-20240430/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3456);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/image.js
- var next_image = __webpack_require__(5008);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/image.js
+ var next_image = __webpack_require__(932);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -969,12 +969,12 @@
/***/
},
- /***/ 5008: /***/ (
+ /***/ 932: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(2028);
+ module.exports = __webpack_require__(4186);
/***/
},
@@ -984,7 +984,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
- __webpack_exec__(5497)
+ __webpack_exec__(2307)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 8bfde070-HASH.js
deleted
Diff for 9921-HASH.js
Diff too large to display
Diff for f4e28338-HASH.js
Diff too large to display
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..time.prod.js
Diff too large to display
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 app-route-ex..ntime.dev.js
Diff too large to display
Diff for app-route-ex..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route.runtime.dev.js
Diff too large to display
Diff for app-route.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.dev.js
Diff too large to display
Diff for pages.runtime.prod.js
Diff too large to display
720767d
to
835f010
Compare
0527f36
to
0122069
Compare
5344203
to
348e07c
Compare
Seems like just chunk ids changed. Probably when I changed some Webpack config?
May be not necessary for hydration diffs to expand. But also doesn't hurt to include?
This was already the case on canary. We just need to rewrite this whole feature. There are too many places interceptiong error events and console error. And then we fork on top of that between App router and pages router. Should be done after landing the sync.
We warn specifically because it's not compatible with Suspense and streaming. Using next/head results in `window.scriptExecutionIds` to resolve to ['src-1.js', 'src-1.js'] For inline scripts we document this: https://nextjs.org/docs/messages/inline-script-id
d62a89f
to
71ab968
Compare
Deploy test failures are known. Flake expected since we changed too many test that cause the job to timeout. Time will tell if this introduced new flaky tests. |
We added React 19 support in #65058. This updates the create-next-app template (and a random test I found) to match the correct deps to avoid a conflict. [x-ref](https://github.com/vercel/next.js/actions/runs/8991035394/job/24699020578#step:28:347) <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> Closes NEXT-3353
We are locking the peerDependency to react v19 beta on canary so we need to update these fixtures to tolerate that. x-ref: [slack thread](https://vercel.slack.com/archives/C048KLPEEH1/p1715191372631389) x-ref: vercel/next.js#65058
Updates React to Beta release channel
Requires #65408
React upstream changes
Move useMemoCache hook to react/compiler-runtime facebook/react#28954
[react-native] Add unit test to ReactNativeAttributePayload facebook/react#28955
Import correct prod version of jsx-dev-runtime for react-server facebook/react#28939
fix: add
react-server
condition forreact/jsx-dev-runtime
facebook/react#28921Add changelog for 18.3.1 facebook/react#28932
Add changelog for 18.3 facebook/react#28929
c4083616a Create React 19 issue template (Ricky)
(Land #28798) Move Current Owner (and Cache) to an Async Dispatcher facebook/react#28912
Update canary channel label to "beta" facebook/react#28905
Reconciler: Change
commitUpdate
signature to account for unusedupdatePayload
parameter facebook/react#28909Go back to shared refs instance object facebook/react#28911
Support ref cleanup function for imperative handle refs facebook/react#28910
Add descriptions of new methods to the react-reconciler readme facebook/react#28750
warn -> error for Test Renderer deprecation facebook/react#28904
[react-dom] move all client code to
react-dom/client
facebook/react#28271Unrevert "Support writing to this.refs from userspace" facebook/react#28879
Create short link for jsx warning facebook/react#28899
eslint-plugin-react-hooks: Add support for ESLint v9 facebook/react#28773
Remove automatic fetch
cache
instrumentation facebook/react#28896Add ref callback test for cleanup fn vs null call facebook/react#28895
Cleanup
replayFailedUnitOfWorkWithInvokeGuardedCallback
andenableProfilerNestedUpdateScheduledHook
facebook/react#28891[Fiber/Fizz] Support AsyncIterable as Children and AsyncGenerator Client Components facebook/react#28868
Rename the react.element symbol to react.transitional.element facebook/react#28813
Remove warning for ref cleanup function facebook/react#28883
[Flight] Support (Async) Generator ServerComponent facebook/react#28849
[Flight / Flight Reply] Encode Iterator separately from Iterable facebook/react#28854
Warn for Child Iterator of all types but allow Generator Components facebook/react#28853
Don't minify symbols in production builds facebook/react#28881
[Experiment] Reuse memo cache after interruption facebook/react#28878
Build react-reconciler for FB builds facebook/react#28880
Run Closure on non-minified prod builds, too facebook/react#28827
Revert "Support writing to this.refs from userspace" facebook/react#28877
Remove
renderToStaticNodeStream
facebook/react#28873Deprecate
renderToStaticNodeStream
facebook/react#28872[Fizz] escape <script> textContent similar to bootstrapScript facebook/react#28871
[Fizz] escape <style> textContent as css facebook/react#28870
Add missing bundle types for ReactCacheOld facebook/react#28860
[Devtools] Rename Forget badge facebook/react#28858
Remove ReactFlightFB bundles facebook/react#28864
Write Diff Train import branch to this repo facebook/react#28869
Support writing to this.refs from userspace facebook/react#28867
Add early return to diffProperties facebook/react#28842
delete useless eslint-disable-next-line facebook/react#28859
Revert "convert circleci workflow devtools_regression_tests to github actions" facebook/react#28865
convert circleci workflow devtools_regression_tests to github actions facebook/react#27800
Update ReactNativeTypes for root options (part 2) facebook/react#28857
[UMD] Remove umd builds facebook/react#28735
Complete the typo fix facebook/react#28856
console test utils fix: match entire string, not just first letter facebook/react#28855
Test top level fragment inside lazy semantics facebook/react#28852
Promote ASYNC_ITERATOR symbol to React Symbols facebook/react#28851
Add ReactNativeTypes for root options facebook/react#28850
[Flight] Encode ReadableStream and AsyncIterables facebook/react#28847
Move enableUseDeferredValueInitialArg to canary facebook/react#28818
Enable flag disableClientCache facebook/react#28846
Devtools: Add support for useFormStatus facebook/react#28413
Ensure sizebot doesn't swallow large diffs facebook/react#28845
[Flight Reply] Encode Typed Arrays and Blobs facebook/react#28819
Delete AUTHORS.md facebook/react#28844
Add on(Caught|Uncaught|Recoverable) opts to RN facebook/react#28836
Flush direct streams in Bun facebook/react#28837
React DevTools 5.0.2 -> 5.1.0 facebook/react#28840
[Devtools] Look for a ReactMemoCacheSentinel on state facebook/react#28831
Use use() in the Cache if available facebook/react#28793
Remove redundant props assign facebook/react#28829
Fix mistaken "react-server" condition facebook/react#28835
Remove
flight-browser
fixture facebook/react#28828feat[devtools-fusebox]: support theme option facebook/react#28832
feat[devtools]: add package for fusebox integration facebook/react#28553
feat[devtools]: add method for connecting backend with custom messaging protocol facebook/react#28552
[Fizz] hoistables should never flush before the preamble facebook/react#28802
DevTools: Rely on sourcemaps to compute hook name of built-in hooks in newer versions facebook/react#28593
Backwards compatibility for string refs on WWW facebook/react#28826
Fix nightly release job for real facebook/react#28825
Fix nightly release job facebook/react#28824
[tests] add
assertConsole<method>Dev
helpers facebook/react#28732ReactDOM.requestFormReset facebook/react#28809
Scaffolding for requestFormReset API facebook/react#28808
Automatically reset forms after action finishes facebook/react#28804
[Float] Don't preload images inside
<noscript>
facebook/react#28815[tests] Assert scheduler log empty in internalAct facebook/react#28737
[tests] add assertLog for legacy mode tests facebook/react#28814
Removes the react-interactions project which is unused facebook/react#28799
Remove Scheduler.log from ReactSuspenseFuzz-test facebook/react#28812
Hardcode disableIEWorkarounds for www facebook/react#28811
[tests] assertLog before act in useEffectEvent facebook/react#28763
[tests] assertLog before act in ReactUse facebook/react#28762
[tests] assertLog before act in ReactErrorBoundaries facebook/react#28761
[tests] assertLog before act in ReactUpdates facebook/react#28760
[tests] assertLog before act in ReactDOMServerSelectiveHydration facebook/react#28759
[tests] assertLog before act in ReactCompositeComponentState facebook/react#28758
[tests] Fix assertions not flushed before act facebook/react#28745
Warn if outdated JSX transform is detected facebook/react#28781
Fix: Suspend while recovering from hydration error facebook/react#28800
Attempt to fix diff syncing for Meta facebook/react#28801
Fix cloneElement using string ref w no owner facebook/react#28797
[Fizz] Stop publishing external-runtime to stable channel facebook/react#28796
[Tests][Fizz] Test script runtime even when external runtime is available facebook/react#28794
[DOM] Infer react-server entries bundles if not explicitly configured facebook/react#28795
Rename SECRET INTERNALS to
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE
facebook/react#28789CI: Run with Node.js 18.20 facebook/react#28774
Run stale job hourly facebook/react#28769
Soften useFormState warning facebook/react#28788
Rename The Secret Export of Server Internals facebook/react#28786
Flatten ReactSharedInternals facebook/react#28783
[DOM] Fix package.json files for #28784 facebook/react#28785
[DOM] disallow client entrypoints with react-server condition facebook/react#28784
[Float] treat
props.async
in Float consistent with the rest of react-dom facebook/react#26760Add support for transition{run,start,cancel} events facebook/react#27345
[Fiber] Use real event priority for hydration scheduling facebook/react#28765
[DOM] Shrink ReactDOMCurrentDispatcher method names facebook/react#28770
[DOM] Shrink ReactDOMSharedInternals source representation facebook/react#28771
[Flight] Allow lazily resolving outlined models facebook/react#28780
[TestUtils] Build limited test-utils facebook/react#28782
feat[devtools]: ship source maps for content scripts and ignore list installHook script facebook/react#28730
[DOM] move
flushSync
out of the reconciler facebook/react#28500[Fiber] Move updatePriority tracking to renderers facebook/react#28751
jsx: Remove unnecessary hasOwnProperty check facebook/react#28775
Add Promise as a child test to Flight fixture facebook/react#28778
docs: fix typo in fixtures/nesting/README.md facebook/react#27507
[Flight] Support FormData from Server to Client facebook/react#28754
Fast JSX: Don't clone props object facebook/react#28768
Make class prop resolution faster facebook/react#28766
[Flight] Support Blobs from Server to Client facebook/react#28755
Track Owner for Server Components in DEV facebook/react#28753
Move string ref coercion to JSX runtime facebook/react#28473
Remove _owner field from JSX elements in prod if string refs are disabled facebook/react#28739
Remove defaultProps support (except for classes) facebook/react#28733
Enable stale action facebook/react#28729
Use a Wrapper Error for onRecoverableError with a "cause" Field for the real Error facebook/react#28736
Emit Server Error Prefix in the .stack Property Too facebook/react#28738
Move console mocks to internal-test-utils facebook/react#28710
Cleanup enableUseRefAccessWarning flag facebook/react#28699
Classes consume ref prop during SSR, too facebook/react#28731
Cleanup enableBigIntSupport flag facebook/react#28711
Remove @providesModule remnants facebook/react#28720
[FB] use modern entrypoint in tests facebook/react#28724
Enable feature flags for v19 facebook/react#28647
Fix: Class components should "consume" ref prop facebook/react#28719
Move ReactDOMLegacy implementation into RootFB facebook/react#28656
Use the disableLegacyMode where ever we check the ConcurrentMode mode facebook/react#28657
Reland #28672: Remove IndeterminateComponent facebook/react#28681
Make ART Concurrent if Legacy Mode is disabled facebook/react#28662
[be] Remove unused, experimental getCacheSignal API facebook/react#28706
Differentiate null and undefined in Custom Elements - removing sets to undefined facebook/react#28716
Update RTR readme facebook/react#28705
Hardcode enableLegacyFBSupport flag facebook/react#28701
Remove reference to deleted <Cache> in un-linted file facebook/react#28715
Cleanup enableNewBooleanProps facebook/react#28712
Remove dynamic www flag for disableInputAttributeSyncing facebook/react#28703
[be] Remove unshipped experimental <Cache> element type facebook/react#28698
Upgrade flow to 0.232.0 facebook/react#28697
Bump nvmrc to Node.js v18 facebook/react#28707
[tests] Disallow unasserted console.log facebook/react#28708
Convert deprecated stalebot to github action facebook/react#28695
Land useModernStrictMode in www facebook/react#28696
[Flight] Update stale blocked values in
createModelResolver
facebook/react#28669Clarify RTR native feature flags are fb specific facebook/react#28679
[ESLint] Update README links to react.dev facebook/react#28692
Clean up console.log tests facebook/react#28693
Finish cleaning up digest from onRecoverableError facebook/react#28686
Suppress console output in unit tests facebook/react#28680
Include regular stack trace in serialized errors from Fizz facebook/react#28684
Don't let error boundaries catch errors during hydration facebook/react#28675
Remove React.createFactory facebook/react#27798
Mock modules in tests using
Module
facebook/react#28678Land enableNewBooleanProps everywhere facebook/react#28676
Align React Native OSS/Test Feature Flags facebook/react#28677
Test for ReactTestRenderer facebook/react#28674
Warn when using useFormState facebook/react#28668
Revert "Remove zoom from special cases list" facebook/react#28673
Land enableCustomElementPropertySupport for React 19 facebook/react#27450
Remove module pattern function component support (flag only) facebook/react#28671
Revert "Remove module pattern function component support" facebook/react#28670
Remove module pattern function component support facebook/react#27742
Noop unstable_batchedUpdates facebook/react#28120
Add support for preload media to ReactDOM facebook/react#28635
s/form state/action state facebook/react#28631
[Fiber] Remove the digest property from errorInfo passed to onRecoverableError facebook/react#28222
Don't log onRecoverableError if the current commit fail facebook/react#28665
Remove errorHydratingContainer facebook/react#28664
Dymanic favorSafetyOverHydrationPerf facebook/react#28663
[react-dom] Remove
findDOMNode
from OSS builds facebook/react#28267[Fizz][Legacy] Remove renderToNodeStream facebook/react#28607
Deprecate
act
fromreact-dom/test-utils
in favor of act fromreact
facebook/react#28597ReactDOM: Remove every test-util except
act()
facebook/react#28541Remove orphaned disableJavaScriptURLs reference facebook/react#28660
Make onUncaughtError and onCaughtError Configurable facebook/react#28641
[Breaking] Remove disableJavaScriptURLs facebook/react#28615
[Fiber] Don't Rethrow Errors at the Root facebook/react#28627
Add Flag to Favor Hydration Performance over User Safety facebook/react#28655
Add Diffs to Hydration Warnings facebook/react#28512
Move Hydration Mismatch Errors to Throw or Log Once (Kind of) facebook/react#28502
Move Hydration Warnings from the DOM Config into the Fiber reconciliation facebook/react#28476
Use concurrent root in RTR facebook/react#28498
Remove react-test-renderer/shallow export facebook/react#28497
Remove enableClientRenderFallbackOnTextMismatch flag facebook/react#28458
[RTR] Enable warning flag facebook/react#28419
Remove legacy hydration mode facebook/react#28440
Update error messages facebook/react#28652
Remove zoom from special cases list facebook/react#26631
Remove unmountComponentAtNode outside of legacy mode facebook/react#28650
Bump canary versions to v19-canary facebook/react#28646
Turn on enableRenderableContext in experimental facebook/react#28645
Add useActionState to CHANGELOG-canary.md facebook/react#28632
Cleanup
alwaysThrottleDisappearingFallbacks
Flag facebook/react#28639Switch facebook-www build version to file content hash facebook/react#28633
Clarify RTR native feature flags are fb specific facebook/react#28679
[ESLint] Update README links to react.dev facebook/react#28692
Clean up console.log tests facebook/react#28693
Finish cleaning up digest from onRecoverableError facebook/react#28686
Suppress console output in unit tests facebook/react#28680
Include regular stack trace in serialized errors from Fizz facebook/react#28684
Don't let error boundaries catch errors during hydration facebook/react#28675
Remove React.createFactory facebook/react#27798
Mock modules in tests using
Module
facebook/react#28678Land enableNewBooleanProps everywhere facebook/react#28676
Align React Native OSS/Test Feature Flags facebook/react#28677
Test for ReactTestRenderer facebook/react#28674
Warn when using useFormState facebook/react#28668
Revert "Remove zoom from special cases list" facebook/react#28673
Land enableCustomElementPropertySupport for React 19 facebook/react#27450
Remove module pattern function component support (flag only) facebook/react#28671
Revert "Remove module pattern function component support" facebook/react#28670
Remove module pattern function component support facebook/react#27742
Noop unstable_batchedUpdates facebook/react#28120
Add support for preload media to ReactDOM facebook/react#28635
s/form state/action state facebook/react#28631
[Fiber] Remove the digest property from errorInfo passed to onRecoverableError facebook/react#28222
Don't log onRecoverableError if the current commit fail facebook/react#28665
Remove errorHydratingContainer facebook/react#28664
Dymanic favorSafetyOverHydrationPerf facebook/react#28663
[react-dom] Remove
findDOMNode
from OSS builds facebook/react#28267[Fizz][Legacy] Remove renderToNodeStream facebook/react#28607
Deprecate
act
fromreact-dom/test-utils
in favor of act fromreact
facebook/react#28597ReactDOM: Remove every test-util except
act()
facebook/react#28541Remove orphaned disableJavaScriptURLs reference facebook/react#28660
Make onUncaughtError and onCaughtError Configurable facebook/react#28641
[Breaking] Remove disableJavaScriptURLs facebook/react#28615
[Fiber] Don't Rethrow Errors at the Root facebook/react#28627
Add Flag to Favor Hydration Performance over User Safety facebook/react#28655
Add Diffs to Hydration Warnings facebook/react#28512
Move Hydration Mismatch Errors to Throw or Log Once (Kind of) facebook/react#28502
Move Hydration Warnings from the DOM Config into the Fiber reconciliation facebook/react#28476
Use concurrent root in RTR facebook/react#28498
Remove react-test-renderer/shallow export facebook/react#28497
Remove enableClientRenderFallbackOnTextMismatch flag facebook/react#28458
[RTR] Enable warning flag facebook/react#28419
Remove legacy hydration mode facebook/react#28440
Update error messages facebook/react#28652
Remove zoom from special cases list facebook/react#26631
Remove unmountComponentAtNode outside of legacy mode facebook/react#28650
Bump canary versions to v19-canary facebook/react#28646
Turn on enableRenderableContext in experimental facebook/react#28645
Add useActionState to CHANGELOG-canary.md facebook/react#28632
Cleanup
alwaysThrottleDisappearingFallbacks
Flag facebook/react#28639Switch facebook-www build version to file content hash facebook/react#28633
For reviewers
E2E Deploy test failures are already present on the merge base: https://github.com/vercel/next.js/actions/runs/8927220553/job/24520090130?pr=65281
The biggest change to our implementation is implementing the fetch patch that was removed from React:
b59541d
(#65058)<Head>
currently duplicates tags on the first client-side navigation. Looking into this before I land this.Notable changes
Better hydration diffs: #65276
React changes that affect our test suite
aa503da
React.cache
no longer works in client componentsb6393d0
(Known bug) Effects are currently not double invoked in
StrictMode
during hydration. We already experienced this in PPR tests but not because of PPR but because these tests were using React's experimental buildDue to React Float, the loose reconciler for
Head
children (default) can loose track of<script>
and cause re-execution. We already warn onHead > script
. This can also be fixed by enablingexperimental.strictNextHead
.BREAKING CHANGES
3d3b012
next/legacy/image
now relies on React server-side rendering to add<link rel="preload" />
to thebody
instead ofhead
. React will take the attributes of the first<img />
whereasnext/legacy/image
took the attributes of the last<img />
with the same key. For example,<img crossOrigin="use-credentials" href="foo.png" /><img crossOrigin="" href="foo.png" />
used to result in the image being preloaded with cross-origin set to anonymous. Now it would useuse-credentials
since that was specified in the first image.533827f
When AMP is used, custom scripts (e.g.
<script />
) now fail AMP validation i.e. fail the build. They used to be removed without any validation error.Pages router requires React version
19.0.0-beta-4508873393-20240430
. Once React 19.0.0 is out, we'll relax the peer dependency to^19.0.0
.Closes NEXT-3218