From a3323b760a1ec91594fa3dbcf3a0c75e4cf295fc Mon Sep 17 00:00:00 2001 From: sebmarkbage Date: Tue, 2 Jul 2024 22:32:32 +0000 Subject: [PATCH] [Fizz] Implement debugInfo (#30174) Stacked on #30170. This lets us track Server Component parent stacks in Fizz which also lets us track the correct owner stack for lazy. In Fiber we're careful not to make any DEV only fibers but since the ReactFizzComponentStack data structures just exist for debug meta data anyway we can just expand on that. DiffTrain build for [cfb8945f511add040e1d5427d9961337f98f7618](https://github.com/facebook/react/commit/cfb8945f511add040e1d5427d9961337f98f7618) --- compiled/facebook-www/REVISION | 2 +- compiled/facebook-www/REVISION_TRANSFORMS | 2 +- compiled/facebook-www/React-dev.classic.js | 2 +- compiled/facebook-www/React-dev.modern.js | 2 +- compiled/facebook-www/React-prod.classic.js | 2 +- compiled/facebook-www/React-prod.modern.js | 2 +- .../facebook-www/React-profiling.classic.js | 2 +- .../facebook-www/React-profiling.modern.js | 2 +- compiled/facebook-www/ReactART-dev.classic.js | 4 +- compiled/facebook-www/ReactART-dev.modern.js | 4 +- .../facebook-www/ReactART-prod.classic.js | 4 +- compiled/facebook-www/ReactART-prod.modern.js | 4 +- compiled/facebook-www/ReactDOM-dev.classic.js | 10 +- compiled/facebook-www/ReactDOM-dev.modern.js | 10 +- .../facebook-www/ReactDOM-prod.classic.js | 10 +- compiled/facebook-www/ReactDOM-prod.modern.js | 10 +- .../ReactDOM-profiling.classic.js | 10 +- .../facebook-www/ReactDOM-profiling.modern.js | 10 +- .../ReactDOMServer-dev.classic.js | 457 ++++++++++-------- .../facebook-www/ReactDOMServer-dev.modern.js | 455 +++++++++-------- .../ReactDOMServer-prod.classic.js | 2 +- .../ReactDOMServer-prod.modern.js | 2 +- .../ReactDOMServerStreaming-dev.modern.js | 453 +++++++++-------- .../ReactDOMTesting-dev.classic.js | 10 +- .../ReactDOMTesting-dev.modern.js | 10 +- .../ReactDOMTesting-prod.classic.js | 10 +- .../ReactDOMTesting-prod.modern.js | 10 +- .../ReactReconciler-dev.classic.js | 2 +- .../ReactReconciler-dev.modern.js | 2 +- .../ReactReconciler-prod.classic.js | 2 +- .../ReactReconciler-prod.modern.js | 2 +- .../ReactTestRenderer-dev.classic.js | 4 +- .../ReactTestRenderer-dev.modern.js | 4 +- compiled/facebook-www/VERSION_CLASSIC | 2 +- compiled/facebook-www/VERSION_MODERN | 2 +- 35 files changed, 831 insertions(+), 690 deletions(-) diff --git a/compiled/facebook-www/REVISION b/compiled/facebook-www/REVISION index cc207d89b3..11d35d6722 100644 --- a/compiled/facebook-www/REVISION +++ b/compiled/facebook-www/REVISION @@ -1 +1 @@ -e60063d9e7d346e92a5af42975a2fe7dd306f86f +cfb8945f511add040e1d5427d9961337f98f7618 diff --git a/compiled/facebook-www/REVISION_TRANSFORMS b/compiled/facebook-www/REVISION_TRANSFORMS index cc207d89b3..11d35d6722 100644 --- a/compiled/facebook-www/REVISION_TRANSFORMS +++ b/compiled/facebook-www/REVISION_TRANSFORMS @@ -1 +1 @@ -e60063d9e7d346e92a5af42975a2fe7dd306f86f +cfb8945f511add040e1d5427d9961337f98f7618 diff --git a/compiled/facebook-www/React-dev.classic.js b/compiled/facebook-www/React-dev.classic.js index 7d9e1997bc..653b7e97a8 100644 --- a/compiled/facebook-www/React-dev.classic.js +++ b/compiled/facebook-www/React-dev.classic.js @@ -1991,7 +1991,7 @@ __DEV__ && exports.useTransition = function () { return resolveDispatcher().useTransition(); }; - exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; + exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/React-dev.modern.js b/compiled/facebook-www/React-dev.modern.js index 13907d3ef2..c3fcd8bcba 100644 --- a/compiled/facebook-www/React-dev.modern.js +++ b/compiled/facebook-www/React-dev.modern.js @@ -1971,7 +1971,7 @@ __DEV__ && exports.useTransition = function () { return resolveDispatcher().useTransition(); }; - exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; + exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/React-prod.classic.js b/compiled/facebook-www/React-prod.classic.js index 09fe5f2fb6..6b2191de97 100644 --- a/compiled/facebook-www/React-prod.classic.js +++ b/compiled/facebook-www/React-prod.classic.js @@ -669,4 +669,4 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactSharedInternals.H.useTransition(); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/React-prod.modern.js b/compiled/facebook-www/React-prod.modern.js index 0851bce733..b4abb65509 100644 --- a/compiled/facebook-www/React-prod.modern.js +++ b/compiled/facebook-www/React-prod.modern.js @@ -669,4 +669,4 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactSharedInternals.H.useTransition(); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/React-profiling.classic.js b/compiled/facebook-www/React-profiling.classic.js index 81fda537de..fedb171077 100644 --- a/compiled/facebook-www/React-profiling.classic.js +++ b/compiled/facebook-www/React-profiling.classic.js @@ -673,7 +673,7 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactSharedInternals.H.useTransition(); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/React-profiling.modern.js b/compiled/facebook-www/React-profiling.modern.js index fe75a82e8e..32e121a630 100644 --- a/compiled/facebook-www/React-profiling.modern.js +++ b/compiled/facebook-www/React-profiling.modern.js @@ -673,7 +673,7 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactSharedInternals.H.useTransition(); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/ReactART-dev.classic.js b/compiled/facebook-www/ReactART-dev.classic.js index 420a3c7d8c..121c73517e 100644 --- a/compiled/facebook-www/ReactART-dev.classic.js +++ b/compiled/facebook-www/ReactART-dev.classic.js @@ -16934,14 +16934,14 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); })({ findFiberByHostInstance: function () { return null; }, bundleType: 1, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-art" }); var ClippingRectangle = TYPES.CLIPPING_RECTANGLE, diff --git a/compiled/facebook-www/ReactART-dev.modern.js b/compiled/facebook-www/ReactART-dev.modern.js index f13e40cede..624b75e0ad 100644 --- a/compiled/facebook-www/ReactART-dev.modern.js +++ b/compiled/facebook-www/ReactART-dev.modern.js @@ -16364,14 +16364,14 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); })({ findFiberByHostInstance: function () { return null; }, bundleType: 1, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-art" }); var ClippingRectangle = TYPES.CLIPPING_RECTANGLE, diff --git a/compiled/facebook-www/ReactART-prod.classic.js b/compiled/facebook-www/ReactART-prod.classic.js index ef2e837b27..4d7768702a 100644 --- a/compiled/facebook-www/ReactART-prod.classic.js +++ b/compiled/facebook-www/ReactART-prod.classic.js @@ -10711,7 +10711,7 @@ var slice = Array.prototype.slice, return null; }, bundleType: 0, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-art" }; var internals$jscomp$inline_1386 = { @@ -10742,7 +10742,7 @@ var internals$jscomp$inline_1386 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_1387 = __REACT_DEVTOOLS_GLOBAL_HOOK__; diff --git a/compiled/facebook-www/ReactART-prod.modern.js b/compiled/facebook-www/ReactART-prod.modern.js index 41f1c64fb4..f07f383c1b 100644 --- a/compiled/facebook-www/ReactART-prod.modern.js +++ b/compiled/facebook-www/ReactART-prod.modern.js @@ -10164,7 +10164,7 @@ var slice = Array.prototype.slice, return null; }, bundleType: 0, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-art" }; var internals$jscomp$inline_1372 = { @@ -10195,7 +10195,7 @@ var internals$jscomp$inline_1372 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_1373 = __REACT_DEVTOOLS_GLOBAL_HOOK__; diff --git a/compiled/facebook-www/ReactDOM-dev.classic.js b/compiled/facebook-www/ReactDOM-dev.classic.js index 6d32dd3e8e..540e020684 100644 --- a/compiled/facebook-www/ReactDOM-dev.classic.js +++ b/compiled/facebook-www/ReactDOM-dev.classic.js @@ -27370,11 +27370,11 @@ __DEV__ && : flushSyncErrorInBuildsThatSupportLegacyMode; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.0.0-www-classic-e60063d9e7-20240702" !== isomorphicReactPackageVersion) + if ("19.0.0-www-classic-cfb8945f51-20240702" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.0.0-www-classic-e60063d9e7-20240702\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.0.0-www-classic-cfb8945f51-20240702\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -27440,12 +27440,12 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); })({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 1, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-dom" }) && canUseDOM && @@ -28088,7 +28088,7 @@ __DEV__ && exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; + exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/ReactDOM-dev.modern.js b/compiled/facebook-www/ReactDOM-dev.modern.js index ffa56a6cd8..18f17dc68c 100644 --- a/compiled/facebook-www/ReactDOM-dev.modern.js +++ b/compiled/facebook-www/ReactDOM-dev.modern.js @@ -26517,11 +26517,11 @@ __DEV__ && return_targetInst = null; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.0.0-www-modern-e60063d9e7-20240702" !== isomorphicReactPackageVersion) + if ("19.0.0-www-modern-cfb8945f51-20240702" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.0.0-www-modern-e60063d9e7-20240702\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.0.0-www-modern-cfb8945f51-20240702\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -26586,12 +26586,12 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); })({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 1, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-dom" }) && canUseDOM && @@ -27187,7 +27187,7 @@ __DEV__ && exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; + exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/ReactDOM-prod.classic.js b/compiled/facebook-www/ReactDOM-prod.classic.js index aa781d19f9..355ccabadd 100644 --- a/compiled/facebook-www/ReactDOM-prod.classic.js +++ b/compiled/facebook-www/ReactDOM-prod.classic.js @@ -17156,14 +17156,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1769 = React.version; if ( - "19.0.0-www-classic-e60063d9e7-20240702" !== + "19.0.0-www-classic-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1769 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1769, - "19.0.0-www-classic-e60063d9e7-20240702" + "19.0.0-www-classic-cfb8945f51-20240702" ) ); function flushSyncFromReconciler(fn) { @@ -17209,7 +17209,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1776 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-dom" }; var internals$jscomp$inline_2220 = { @@ -17239,7 +17239,7 @@ var internals$jscomp$inline_2220 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2221 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -17703,4 +17703,4 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactDOM-prod.modern.js b/compiled/facebook-www/ReactDOM-prod.modern.js index 13e23cfad1..e354cc7ced 100644 --- a/compiled/facebook-www/ReactDOM-prod.modern.js +++ b/compiled/facebook-www/ReactDOM-prod.modern.js @@ -16471,14 +16471,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1740 = React.version; if ( - "19.0.0-www-modern-e60063d9e7-20240702" !== + "19.0.0-www-modern-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1740 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1740, - "19.0.0-www-modern-e60063d9e7-20240702" + "19.0.0-www-modern-cfb8945f51-20240702" ) ); Internals.findDOMNode = function (componentOrElement) { @@ -16497,7 +16497,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1742 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-dom" }; var internals$jscomp$inline_2211 = { @@ -16527,7 +16527,7 @@ var internals$jscomp$inline_2211 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2212 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -16898,4 +16898,4 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactDOM-profiling.classic.js b/compiled/facebook-www/ReactDOM-profiling.classic.js index 495ffeb9f8..d1884ab4b7 100644 --- a/compiled/facebook-www/ReactDOM-profiling.classic.js +++ b/compiled/facebook-www/ReactDOM-profiling.classic.js @@ -17923,14 +17923,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1856 = React.version; if ( - "19.0.0-www-classic-e60063d9e7-20240702" !== + "19.0.0-www-classic-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1856 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1856, - "19.0.0-www-classic-e60063d9e7-20240702" + "19.0.0-www-classic-cfb8945f51-20240702" ) ); function flushSyncFromReconciler(fn) { @@ -17976,7 +17976,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1863 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-dom" }; (function (internals) { @@ -18020,7 +18020,7 @@ var devToolsConfig$jscomp$inline_1863 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); function ReactDOMRoot(internalRoot) { this._internalRoot = internalRoot; @@ -18471,7 +18471,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/ReactDOM-profiling.modern.js b/compiled/facebook-www/ReactDOM-profiling.modern.js index d9b421f9c6..a9ac865b73 100644 --- a/compiled/facebook-www/ReactDOM-profiling.modern.js +++ b/compiled/facebook-www/ReactDOM-profiling.modern.js @@ -17221,14 +17221,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1827 = React.version; if ( - "19.0.0-www-modern-e60063d9e7-20240702" !== + "19.0.0-www-modern-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1827 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1827, - "19.0.0-www-modern-e60063d9e7-20240702" + "19.0.0-www-modern-cfb8945f51-20240702" ) ); Internals.findDOMNode = function (componentOrElement) { @@ -17247,7 +17247,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1829 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-dom" }; (function (internals) { @@ -17291,7 +17291,7 @@ var devToolsConfig$jscomp$inline_1829 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); function ReactDOMRoot(internalRoot) { this._internalRoot = internalRoot; @@ -17649,7 +17649,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && diff --git a/compiled/facebook-www/ReactDOMServer-dev.classic.js b/compiled/facebook-www/ReactDOMServer-dev.classic.js index 9d8a5c672d..104c82ead0 100644 --- a/compiled/facebook-www/ReactDOMServer-dev.classic.js +++ b/compiled/facebook-www/ReactDOMServer-dev.classic.js @@ -4272,6 +4272,9 @@ __DEV__ && var JSCompiler_inline_result$jscomp$0 = describeNativeComponentFrame(componentStack.type, !0); info = JSCompiler_temp_const + JSCompiler_inline_result$jscomp$0; + break; + case 3: + info += describeBuiltInComponentFrame(componentStack.type); } componentStack = componentStack.parent; } while (componentStack); @@ -4553,6 +4556,26 @@ __DEV__ && stack: stack }; } + function createServerComponentStack(task, debugInfo) { + task = task.componentStack; + if (null != debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var componentInfo = debugInfo[i]; + if ("string" === typeof componentInfo.name) { + var name = componentInfo.name, + env = componentInfo.env; + env && (name += " (" + env + ")"); + task = { + tag: 3, + parent: task, + type: name, + owner: componentInfo.owner, + stack: componentInfo.stack + }; + } + } + return task; + } function getThrownInfo(node) { var errorInfo = {}; node && @@ -5687,194 +5710,198 @@ __DEV__ && props = node$jscomp$0.props, refProp = props.ref; var ref = void 0 !== refProp ? refProp : null; - refProp = node$jscomp$0._owner; + var owner = node$jscomp$0._owner; + refProp = task.componentStack; + task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + ); var name = getComponentNameFromType(type), keyOrIndex = null == key ? (-1 === childIndex ? 0 : childIndex) : key; key = [task.keyPath, name, keyOrIndex]; - if (null !== task.replay) - a: { - var replay = task.replay; - childIndex = replay.nodes; - for ( - node$jscomp$0 = 0; - node$jscomp$0 < childIndex.length; - node$jscomp$0++ - ) { - var node = childIndex[node$jscomp$0]; - if (keyOrIndex === node[1]) { - if (4 === node.length) { - if (null !== name && name !== node[0]) + if (null !== task.replay) { + var replay = task.replay; + node$jscomp$0 = replay.nodes; + for ( + childIndex = 0; + childIndex < node$jscomp$0.length; + childIndex++ + ) { + var node = node$jscomp$0[childIndex]; + if (keyOrIndex === node[1]) { + if (4 === node.length) { + if (null !== name && name !== node[0]) + throw Error( + "Expected the resume to render <" + + node[0] + + "> in this slot but instead it rendered <" + + name + + ">. The tree doesn't match so React will fallback to client rendering." + ); + var childNodes = node[2]; + name = node[3]; + keyOrIndex = task.node; + task.replay = { + nodes: childNodes, + slots: name, + pendingTasks: 1 + }; + try { + renderElement( + request, + task, + key, + type, + props, + ref, + owner, + null + ); + if ( + 1 === task.replay.pendingTasks && + 0 < task.replay.nodes.length + ) throw Error( - "Expected the resume to render <" + - node[0] + - "> in this slot but instead it rendered <" + - name + - ">. The tree doesn't match so React will fallback to client rendering." + "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - var childNodes = node[2]; + task.replay.pendingTasks--; + } catch (x) { + if ( + "object" === typeof x && + null !== x && + (x === SuspenseException || + "function" === typeof x.then) + ) + throw ( + (task.node === keyOrIndex && (task.replay = replay), + x) + ); + task.replay.pendingTasks--; + owner = getThrownInfo(task.componentStack); + erroredReplay( + request, + task.blockedBoundary, + x, + owner, + childNodes, + name + ); + } + task.replay = replay; + } else { + if (type !== REACT_SUSPENSE_TYPE) + throw Error( + "Expected the resume to render in this slot but instead it rendered <" + + (getComponentNameFromType(type) || "Unknown") + + ">. The tree doesn't match so React will fallback to client rendering." + ); + a: { + type = void 0; + ref = task; + var props$jscomp$0 = props; + props = node[5]; + replay = node[2]; name = node[3]; - node = task.node; - task.replay = { - nodes: childNodes, + keyOrIndex = null === node[4] ? [] : node[4][2]; + node = null === node[4] ? null : node[4][3]; + var previousComponentStack = ref.componentStack; + owner = ref.componentStack = + createBuiltInComponentStack( + ref, + "Suspense", + owner, + null + ); + var prevKeyPath = ref.keyPath, + previousReplaySet = ref.replay, + parentBoundary = ref.blockedBoundary, + parentHoistableState = ref.hoistableState, + content = props$jscomp$0.children; + props$jscomp$0 = props$jscomp$0.fallback; + var fallbackAbortSet = new Set(), + resumedBoundary = createSuspenseBoundary( + request, + fallbackAbortSet + ); + resumedBoundary.parentFlushed = !0; + resumedBoundary.rootSegmentID = props; + ref.blockedBoundary = resumedBoundary; + ref.hoistableState = resumedBoundary.contentState; + ref.replay = { + nodes: replay, slots: name, pendingTasks: 1 }; try { - renderElement( - request, - task, - key, - type, - props, - ref, - refProp, - null - ); + renderNode(request, ref, content, -1); if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length + 1 === ref.replay.pendingTasks && + 0 < ref.replay.nodes.length ) throw Error( "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - task.replay.pendingTasks--; - } catch (x) { + ref.replay.pendingTasks--; if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || - "function" === typeof x.then) - ) - throw ( - (task.node === node && (task.replay = replay), x) - ); - task.replay.pendingTasks--; - refProp = getThrownInfo(task.componentStack); - erroredReplay( - request, - task.blockedBoundary, - x, - refProp, - childNodes, - name - ); - } - task.replay = replay; - } else { - if (type !== REACT_SUSPENSE_TYPE) - throw Error( - "Expected the resume to render in this slot but instead it rendered <" + - (getComponentNameFromType(type) || "Unknown") + - ">. The tree doesn't match so React will fallback to client rendering." - ); - b: { - type = void 0; - ref = key; - var props$jscomp$0 = props; - props = node[5]; - key = node[2]; - replay = node[3]; - name = null === node[4] ? [] : node[4][2]; - node = null === node[4] ? null : node[4][3]; - keyOrIndex = task.componentStack; - refProp = task.componentStack = - createBuiltInComponentStack( - task, - "Suspense", - refProp, - null - ); - var prevKeyPath = task.keyPath, - previousReplaySet = task.replay, - parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState, - content = props$jscomp$0.children; - props$jscomp$0 = props$jscomp$0.fallback; - var fallbackAbortSet = new Set(), - resumedBoundary = createSuspenseBoundary( - request, - fallbackAbortSet - ); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = props; - task.blockedBoundary = resumedBoundary; - task.hoistableState = resumedBoundary.contentState; - task.replay = { - nodes: key, - slots: replay, - pendingTasks: 1 - }; - try { - renderNode(request, task, content, -1); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - if ( - 0 === resumedBoundary.pendingTasks && - resumedBoundary.status === PENDING - ) { - resumedBoundary.status = COMPLETED; - request.completedBoundaries.push(resumedBoundary); - break b; - } - } catch (error$3) { - (resumedBoundary.status = CLIENT_RENDERED), - (childNodes = getThrownInfo(task.componentStack)), - (type = logRecoverableError( - request, - error$3, - childNodes - )), - encodeErrorForBoundary( - resumedBoundary, - type, - error$3, - childNodes, - !1 - ), - task.replay.pendingTasks--, - request.clientRenderedBoundaries.push( - resumedBoundary - ); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.replay = previousReplaySet), - (task.keyPath = prevKeyPath), - (task.componentStack = keyOrIndex); + 0 === resumedBoundary.pendingTasks && + resumedBoundary.status === PENDING + ) { + resumedBoundary.status = COMPLETED; + request.completedBoundaries.push(resumedBoundary); + break a; } - childNodes = createReplayTask( - request, - null, - { nodes: name, slots: node, pendingTasks: 0 }, - props$jscomp$0, - -1, - parentBoundary, - resumedBoundary.fallbackState, - fallbackAbortSet, - [ref[0], "Suspense Fallback", ref[2]], - task.formatContext, - task.context, - task.treeContext, - refProp, - !0, - task.legacyContext - ); - request.pingedTasks.push(childNodes); + } catch (error$3) { + (resumedBoundary.status = CLIENT_RENDERED), + (childNodes = getThrownInfo(ref.componentStack)), + (type = logRecoverableError( + request, + error$3, + childNodes + )), + encodeErrorForBoundary( + resumedBoundary, + type, + error$3, + childNodes, + !1 + ), + ref.replay.pendingTasks--, + request.clientRenderedBoundaries.push( + resumedBoundary + ); + } finally { + (ref.blockedBoundary = parentBoundary), + (ref.hoistableState = parentHoistableState), + (ref.replay = previousReplaySet), + (ref.keyPath = prevKeyPath), + (ref.componentStack = previousComponentStack); } + childNodes = createReplayTask( + request, + null, + { nodes: keyOrIndex, slots: node, pendingTasks: 0 }, + props$jscomp$0, + -1, + parentBoundary, + resumedBoundary.fallbackState, + fallbackAbortSet, + [key[0], "Suspense Fallback", key[2]], + ref.formatContext, + ref.context, + ref.treeContext, + owner, + !0, + ref.legacyContext + ); + request.pingedTasks.push(childNodes); } - childIndex.splice(node$jscomp$0, 1); - break a; } + node$jscomp$0.splice(childIndex, 1); + break; } } - else + } else renderElement( request, task, @@ -5882,24 +5909,30 @@ __DEV__ && type, props, ref, - refProp, + owner, null ); + task.componentStack = refProp; return; case REACT_PORTAL_TYPE: throw Error( "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." ); case REACT_LAZY_TYPE: - childNodes = task.componentStack; - task.componentStack = createBuiltInComponentStack( + refProp = task.componentStack; + task.componentStack = createServerComponentStack( task, - "Lazy", - null, - null + node$jscomp$0._debugInfo ); + task.componentStack === refProp && + (task.componentStack = createBuiltInComponentStack( + task, + "Lazy", + null, + null + )); node$jscomp$0 = callLazyInitInDEV(node$jscomp$0); - task.componentStack = childNodes; + task.componentStack = refProp; renderNodeDestructive(request, task, node$jscomp$0, childIndex); return; } @@ -5908,22 +5941,21 @@ __DEV__ && return; } null === node$jscomp$0 || "object" !== typeof node$jscomp$0 - ? (refProp = null) - : ((childNodes = + ? (childNodes = null) + : ((refProp = (MAYBE_ITERATOR_SYMBOL && node$jscomp$0[MAYBE_ITERATOR_SYMBOL]) || node$jscomp$0["@@iterator"]), - (refProp = "function" === typeof childNodes ? childNodes : null)); - if (refProp && (childNodes = refProp.call(node$jscomp$0))) { - if (childNodes === node$jscomp$0) { + (childNodes = "function" === typeof refProp ? refProp : null)); + if (childNodes && (refProp = childNodes.call(node$jscomp$0))) { + if (refProp === node$jscomp$0) { if ( -1 !== childIndex || null === task.componentStack || 1 !== task.componentStack.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(task.componentStack.type) || - "[object Generator]" !== - Object.prototype.toString.call(childNodes) + "[object Generator]" !== Object.prototype.toString.call(refProp) ) didWarnAboutGenerators || error$jscomp$2( @@ -5931,32 +5963,39 @@ __DEV__ && ), (didWarnAboutGenerators = !0); } else - node$jscomp$0.entries !== refProp || + node$jscomp$0.entries !== childNodes || didWarnAboutMaps || (error$jscomp$2( "Using Maps as children is not supported. Use an array of keyed ReactElements instead." ), (didWarnAboutMaps = !0)); - node$jscomp$0 = childNodes.next(); + node$jscomp$0 = refProp.next(); if (!node$jscomp$0.done) { - refProp = []; + childNodes = []; do - refProp.push(node$jscomp$0.value), - (node$jscomp$0 = childNodes.next()); + childNodes.push(node$jscomp$0.value), + (node$jscomp$0 = refProp.next()); while (!node$jscomp$0.done); - renderChildrenArray(request, task, refProp, childIndex); + renderChildrenArray(request, task, childNodes, childIndex); } return; } if ("function" === typeof node$jscomp$0.then) return ( (task.thenableState = null), - renderNodeDestructive( + (refProp = task.componentStack), + (task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + )), + (node$jscomp$0 = renderNodeDestructive( request, task, unwrapThenable(node$jscomp$0), childIndex - ) + )), + (task.componentStack = refProp), + node$jscomp$0 ); if (node$jscomp$0.$$typeof === REACT_CONTEXT_TYPE) return renderNodeDestructive( @@ -5965,43 +6004,43 @@ __DEV__ && node$jscomp$0._currentValue2, childIndex ); - childIndex = Object.prototype.toString.call(node$jscomp$0); + task = Object.prototype.toString.call(node$jscomp$0); throw Error( "Objects are not valid as a React child (found: " + - ("[object Object]" === childIndex + ("[object Object]" === task ? "object with keys {" + Object.keys(node$jscomp$0).join(", ") + "}" - : childIndex) + + : task) + "). If you meant to render a collection of children, use an array instead." ); } "string" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : "number" === typeof node$jscomp$0 || "bigint" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, "" + node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : ("function" === typeof node$jscomp$0 && - ((childIndex = + ((task = node$jscomp$0.displayName || node$jscomp$0.name || "Component"), error$jscomp$2( "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.", - childIndex, - childIndex + task, + task )), "symbol" === typeof node$jscomp$0 && error$jscomp$2( @@ -6011,7 +6050,12 @@ __DEV__ && } } function renderChildrenArray(request$jscomp$0, task, children, childIndex) { - var prevKeyPath = task.keyPath; + var prevKeyPath = task.keyPath, + previousComponentStack = task.componentStack; + task.componentStack = createServerComponentStack( + task, + task.node._debugInfo + ); if ( -1 !== childIndex && ((task.keyPath = [task.keyPath, "Fragment", childIndex]), @@ -6061,6 +6105,7 @@ __DEV__ && } } task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } replay = task.treeContext; @@ -6086,6 +6131,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } for (j = 0; j < replayNodes; j++) { @@ -6179,6 +6225,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; } function untrackBoundary(request, boundary) { request = request.trackedPostpones; @@ -8910,5 +8957,5 @@ __DEV__ && 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; - exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; + exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; })(); diff --git a/compiled/facebook-www/ReactDOMServer-dev.modern.js b/compiled/facebook-www/ReactDOMServer-dev.modern.js index c8815fdb7c..1d66d4333a 100644 --- a/compiled/facebook-www/ReactDOMServer-dev.modern.js +++ b/compiled/facebook-www/ReactDOMServer-dev.modern.js @@ -4264,6 +4264,9 @@ __DEV__ && var JSCompiler_inline_result$jscomp$0 = describeNativeComponentFrame(componentStack.type, !0); info = JSCompiler_temp_const + JSCompiler_inline_result$jscomp$0; + break; + case 3: + info += describeBuiltInComponentFrame(componentStack.type); } componentStack = componentStack.parent; } while (componentStack); @@ -4540,6 +4543,26 @@ __DEV__ && stack: stack }; } + function createServerComponentStack(task, debugInfo) { + task = task.componentStack; + if (null != debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var componentInfo = debugInfo[i]; + if ("string" === typeof componentInfo.name) { + var name = componentInfo.name, + env = componentInfo.env; + env && (name += " (" + env + ")"); + task = { + tag: 3, + parent: task, + type: name, + owner: componentInfo.owner, + stack: componentInfo.stack + }; + } + } + return task; + } function getThrownInfo(node) { var errorInfo = {}; node && @@ -5639,193 +5662,197 @@ __DEV__ && props = node$jscomp$0.props, refProp = props.ref; var ref = void 0 !== refProp ? refProp : null; - refProp = node$jscomp$0._owner; + var owner = node$jscomp$0._owner; + refProp = task.componentStack; + task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + ); var name = getComponentNameFromType(type), keyOrIndex = null == key ? (-1 === childIndex ? 0 : childIndex) : key; key = [task.keyPath, name, keyOrIndex]; - if (null !== task.replay) - a: { - var replay = task.replay; - childIndex = replay.nodes; - for ( - node$jscomp$0 = 0; - node$jscomp$0 < childIndex.length; - node$jscomp$0++ - ) { - var node = childIndex[node$jscomp$0]; - if (keyOrIndex === node[1]) { - if (4 === node.length) { - if (null !== name && name !== node[0]) + if (null !== task.replay) { + var replay = task.replay; + node$jscomp$0 = replay.nodes; + for ( + childIndex = 0; + childIndex < node$jscomp$0.length; + childIndex++ + ) { + var node = node$jscomp$0[childIndex]; + if (keyOrIndex === node[1]) { + if (4 === node.length) { + if (null !== name && name !== node[0]) + throw Error( + "Expected the resume to render <" + + node[0] + + "> in this slot but instead it rendered <" + + name + + ">. The tree doesn't match so React will fallback to client rendering." + ); + var childNodes = node[2]; + name = node[3]; + keyOrIndex = task.node; + task.replay = { + nodes: childNodes, + slots: name, + pendingTasks: 1 + }; + try { + renderElement( + request, + task, + key, + type, + props, + ref, + owner, + null + ); + if ( + 1 === task.replay.pendingTasks && + 0 < task.replay.nodes.length + ) throw Error( - "Expected the resume to render <" + - node[0] + - "> in this slot but instead it rendered <" + - name + - ">. The tree doesn't match so React will fallback to client rendering." + "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - var childNodes = node[2]; + task.replay.pendingTasks--; + } catch (x) { + if ( + "object" === typeof x && + null !== x && + (x === SuspenseException || + "function" === typeof x.then) + ) + throw ( + (task.node === keyOrIndex && (task.replay = replay), + x) + ); + task.replay.pendingTasks--; + owner = getThrownInfo(task.componentStack); + erroredReplay( + request, + task.blockedBoundary, + x, + owner, + childNodes, + name + ); + } + task.replay = replay; + } else { + if (type !== REACT_SUSPENSE_TYPE) + throw Error( + "Expected the resume to render in this slot but instead it rendered <" + + (getComponentNameFromType(type) || "Unknown") + + ">. The tree doesn't match so React will fallback to client rendering." + ); + a: { + type = void 0; + ref = task; + var props$jscomp$0 = props; + props = node[5]; + replay = node[2]; name = node[3]; - node = task.node; - task.replay = { - nodes: childNodes, + keyOrIndex = null === node[4] ? [] : node[4][2]; + node = null === node[4] ? null : node[4][3]; + var previousComponentStack = ref.componentStack; + owner = ref.componentStack = + createBuiltInComponentStack( + ref, + "Suspense", + owner, + null + ); + var prevKeyPath = ref.keyPath, + previousReplaySet = ref.replay, + parentBoundary = ref.blockedBoundary, + parentHoistableState = ref.hoistableState, + content = props$jscomp$0.children; + props$jscomp$0 = props$jscomp$0.fallback; + var fallbackAbortSet = new Set(), + resumedBoundary = createSuspenseBoundary( + request, + fallbackAbortSet + ); + resumedBoundary.parentFlushed = !0; + resumedBoundary.rootSegmentID = props; + ref.blockedBoundary = resumedBoundary; + ref.hoistableState = resumedBoundary.contentState; + ref.replay = { + nodes: replay, slots: name, pendingTasks: 1 }; try { - renderElement( - request, - task, - key, - type, - props, - ref, - refProp, - null - ); + renderNode(request, ref, content, -1); if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length + 1 === ref.replay.pendingTasks && + 0 < ref.replay.nodes.length ) throw Error( "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - task.replay.pendingTasks--; - } catch (x) { + ref.replay.pendingTasks--; if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || - "function" === typeof x.then) - ) - throw ( - (task.node === node && (task.replay = replay), x) - ); - task.replay.pendingTasks--; - refProp = getThrownInfo(task.componentStack); - erroredReplay( - request, - task.blockedBoundary, - x, - refProp, - childNodes, - name - ); - } - task.replay = replay; - } else { - if (type !== REACT_SUSPENSE_TYPE) - throw Error( - "Expected the resume to render in this slot but instead it rendered <" + - (getComponentNameFromType(type) || "Unknown") + - ">. The tree doesn't match so React will fallback to client rendering." - ); - b: { - type = void 0; - ref = key; - var props$jscomp$0 = props; - props = node[5]; - key = node[2]; - replay = node[3]; - name = null === node[4] ? [] : node[4][2]; - node = null === node[4] ? null : node[4][3]; - keyOrIndex = task.componentStack; - refProp = task.componentStack = - createBuiltInComponentStack( - task, - "Suspense", - refProp, - null - ); - var prevKeyPath = task.keyPath, - previousReplaySet = task.replay, - parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState, - content = props$jscomp$0.children; - props$jscomp$0 = props$jscomp$0.fallback; - var fallbackAbortSet = new Set(), - resumedBoundary = createSuspenseBoundary( - request, - fallbackAbortSet - ); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = props; - task.blockedBoundary = resumedBoundary; - task.hoistableState = resumedBoundary.contentState; - task.replay = { - nodes: key, - slots: replay, - pendingTasks: 1 - }; - try { - renderNode(request, task, content, -1); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - if ( - 0 === resumedBoundary.pendingTasks && - resumedBoundary.status === PENDING - ) { - resumedBoundary.status = COMPLETED; - request.completedBoundaries.push(resumedBoundary); - break b; - } - } catch (error$3) { - (resumedBoundary.status = CLIENT_RENDERED), - (childNodes = getThrownInfo(task.componentStack)), - (type = logRecoverableError( - request, - error$3, - childNodes - )), - encodeErrorForBoundary( - resumedBoundary, - type, - error$3, - childNodes, - !1 - ), - task.replay.pendingTasks--, - request.clientRenderedBoundaries.push( - resumedBoundary - ); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.replay = previousReplaySet), - (task.keyPath = prevKeyPath), - (task.componentStack = keyOrIndex); + 0 === resumedBoundary.pendingTasks && + resumedBoundary.status === PENDING + ) { + resumedBoundary.status = COMPLETED; + request.completedBoundaries.push(resumedBoundary); + break a; } - childNodes = createReplayTask( - request, - null, - { nodes: name, slots: node, pendingTasks: 0 }, - props$jscomp$0, - -1, - parentBoundary, - resumedBoundary.fallbackState, - fallbackAbortSet, - [ref[0], "Suspense Fallback", ref[2]], - task.formatContext, - task.context, - task.treeContext, - refProp, - !0 - ); - request.pingedTasks.push(childNodes); + } catch (error$3) { + (resumedBoundary.status = CLIENT_RENDERED), + (childNodes = getThrownInfo(ref.componentStack)), + (type = logRecoverableError( + request, + error$3, + childNodes + )), + encodeErrorForBoundary( + resumedBoundary, + type, + error$3, + childNodes, + !1 + ), + ref.replay.pendingTasks--, + request.clientRenderedBoundaries.push( + resumedBoundary + ); + } finally { + (ref.blockedBoundary = parentBoundary), + (ref.hoistableState = parentHoistableState), + (ref.replay = previousReplaySet), + (ref.keyPath = prevKeyPath), + (ref.componentStack = previousComponentStack); } + childNodes = createReplayTask( + request, + null, + { nodes: keyOrIndex, slots: node, pendingTasks: 0 }, + props$jscomp$0, + -1, + parentBoundary, + resumedBoundary.fallbackState, + fallbackAbortSet, + [key[0], "Suspense Fallback", key[2]], + ref.formatContext, + ref.context, + ref.treeContext, + owner, + !0 + ); + request.pingedTasks.push(childNodes); } - childIndex.splice(node$jscomp$0, 1); - break a; } + node$jscomp$0.splice(childIndex, 1); + break; } } - else + } else renderElement( request, task, @@ -5833,24 +5860,30 @@ __DEV__ && type, props, ref, - refProp, + owner, null ); + task.componentStack = refProp; return; case REACT_PORTAL_TYPE: throw Error( "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." ); case REACT_LAZY_TYPE: - childNodes = task.componentStack; - task.componentStack = createBuiltInComponentStack( + refProp = task.componentStack; + task.componentStack = createServerComponentStack( task, - "Lazy", - null, - null + node$jscomp$0._debugInfo ); + task.componentStack === refProp && + (task.componentStack = createBuiltInComponentStack( + task, + "Lazy", + null, + null + )); node$jscomp$0 = callLazyInitInDEV(node$jscomp$0); - task.componentStack = childNodes; + task.componentStack = refProp; renderNodeDestructive(request, task, node$jscomp$0, childIndex); return; } @@ -5859,22 +5892,21 @@ __DEV__ && return; } null === node$jscomp$0 || "object" !== typeof node$jscomp$0 - ? (refProp = null) - : ((childNodes = + ? (childNodes = null) + : ((refProp = (MAYBE_ITERATOR_SYMBOL && node$jscomp$0[MAYBE_ITERATOR_SYMBOL]) || node$jscomp$0["@@iterator"]), - (refProp = "function" === typeof childNodes ? childNodes : null)); - if (refProp && (childNodes = refProp.call(node$jscomp$0))) { - if (childNodes === node$jscomp$0) { + (childNodes = "function" === typeof refProp ? refProp : null)); + if (childNodes && (refProp = childNodes.call(node$jscomp$0))) { + if (refProp === node$jscomp$0) { if ( -1 !== childIndex || null === task.componentStack || 1 !== task.componentStack.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(task.componentStack.type) || - "[object Generator]" !== - Object.prototype.toString.call(childNodes) + "[object Generator]" !== Object.prototype.toString.call(refProp) ) didWarnAboutGenerators || error$jscomp$2( @@ -5882,32 +5914,39 @@ __DEV__ && ), (didWarnAboutGenerators = !0); } else - node$jscomp$0.entries !== refProp || + node$jscomp$0.entries !== childNodes || didWarnAboutMaps || (error$jscomp$2( "Using Maps as children is not supported. Use an array of keyed ReactElements instead." ), (didWarnAboutMaps = !0)); - node$jscomp$0 = childNodes.next(); + node$jscomp$0 = refProp.next(); if (!node$jscomp$0.done) { - refProp = []; + childNodes = []; do - refProp.push(node$jscomp$0.value), - (node$jscomp$0 = childNodes.next()); + childNodes.push(node$jscomp$0.value), + (node$jscomp$0 = refProp.next()); while (!node$jscomp$0.done); - renderChildrenArray(request, task, refProp, childIndex); + renderChildrenArray(request, task, childNodes, childIndex); } return; } if ("function" === typeof node$jscomp$0.then) return ( (task.thenableState = null), - renderNodeDestructive( + (refProp = task.componentStack), + (task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + )), + (node$jscomp$0 = renderNodeDestructive( request, task, unwrapThenable(node$jscomp$0), childIndex - ) + )), + (task.componentStack = refProp), + node$jscomp$0 ); if (node$jscomp$0.$$typeof === REACT_CONTEXT_TYPE) return renderNodeDestructive( @@ -5916,43 +5955,43 @@ __DEV__ && node$jscomp$0._currentValue2, childIndex ); - childIndex = Object.prototype.toString.call(node$jscomp$0); + task = Object.prototype.toString.call(node$jscomp$0); throw Error( "Objects are not valid as a React child (found: " + - ("[object Object]" === childIndex + ("[object Object]" === task ? "object with keys {" + Object.keys(node$jscomp$0).join(", ") + "}" - : childIndex) + + : task) + "). If you meant to render a collection of children, use an array instead." ); } "string" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : "number" === typeof node$jscomp$0 || "bigint" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, "" + node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : ("function" === typeof node$jscomp$0 && - ((childIndex = + ((task = node$jscomp$0.displayName || node$jscomp$0.name || "Component"), error$jscomp$2( "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.", - childIndex, - childIndex + task, + task )), "symbol" === typeof node$jscomp$0 && error$jscomp$2( @@ -5962,7 +6001,12 @@ __DEV__ && } } function renderChildrenArray(request$jscomp$0, task, children, childIndex) { - var prevKeyPath = task.keyPath; + var prevKeyPath = task.keyPath, + previousComponentStack = task.componentStack; + task.componentStack = createServerComponentStack( + task, + task.node._debugInfo + ); if ( -1 !== childIndex && ((task.keyPath = [task.keyPath, "Fragment", childIndex]), @@ -6012,6 +6056,7 @@ __DEV__ && } } task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } replay = task.treeContext; @@ -6037,6 +6082,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } for (j = 0; j < replayNodes; j++) { @@ -6130,6 +6176,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; } function untrackBoundary(request, boundary) { request = request.trackedPostpones; @@ -8853,5 +8900,5 @@ __DEV__ && 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; - exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; + exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; })(); diff --git a/compiled/facebook-www/ReactDOMServer-prod.classic.js b/compiled/facebook-www/ReactDOMServer-prod.classic.js index cf6638837b..a1917949c0 100644 --- a/compiled/facebook-www/ReactDOMServer-prod.classic.js +++ b/compiled/facebook-www/ReactDOMServer-prod.classic.js @@ -5792,4 +5792,4 @@ exports.renderToString = function (children, options) { 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactDOMServer-prod.modern.js b/compiled/facebook-www/ReactDOMServer-prod.modern.js index a14e9bb6cd..cd2a5e63d3 100644 --- a/compiled/facebook-www/ReactDOMServer-prod.modern.js +++ b/compiled/facebook-www/ReactDOMServer-prod.modern.js @@ -5754,4 +5754,4 @@ exports.renderToString = function (children, options) { 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server' ); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js b/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js index cc6ed209f8..a8cc7fc266 100644 --- a/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js +++ b/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js @@ -4059,6 +4059,9 @@ __DEV__ && var JSCompiler_inline_result$jscomp$0 = describeNativeComponentFrame(componentStack.type, !0); info = JSCompiler_temp_const + JSCompiler_inline_result$jscomp$0; + break; + case 3: + info += describeBuiltInComponentFrame(componentStack.type); } componentStack = componentStack.parent; } while (componentStack); @@ -4319,6 +4322,26 @@ __DEV__ && stack: stack }; } + function createServerComponentStack(task, debugInfo) { + task = task.componentStack; + if (null != debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var componentInfo = debugInfo[i]; + if ("string" === typeof componentInfo.name) { + var name = componentInfo.name, + env = componentInfo.env; + env && (name += " (" + env + ")"); + task = { + tag: 3, + parent: task, + type: name, + owner: componentInfo.owner, + stack: componentInfo.stack + }; + } + } + return task; + } function getThrownInfo(node) { var errorInfo = {}; node && @@ -5420,193 +5443,197 @@ __DEV__ && props = node$jscomp$0.props, refProp = props.ref; var ref = void 0 !== refProp ? refProp : null; - refProp = node$jscomp$0._owner; + var owner = node$jscomp$0._owner; + refProp = task.componentStack; + task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + ); var name = getComponentNameFromType(type), keyOrIndex = null == key ? (-1 === childIndex ? 0 : childIndex) : key; key = [task.keyPath, name, keyOrIndex]; - if (null !== task.replay) - a: { - var replay = task.replay; - childIndex = replay.nodes; - for ( - node$jscomp$0 = 0; - node$jscomp$0 < childIndex.length; - node$jscomp$0++ - ) { - var node = childIndex[node$jscomp$0]; - if (keyOrIndex === node[1]) { - if (4 === node.length) { - if (null !== name && name !== node[0]) + if (null !== task.replay) { + var replay = task.replay; + node$jscomp$0 = replay.nodes; + for ( + childIndex = 0; + childIndex < node$jscomp$0.length; + childIndex++ + ) { + var node = node$jscomp$0[childIndex]; + if (keyOrIndex === node[1]) { + if (4 === node.length) { + if (null !== name && name !== node[0]) + throw Error( + "Expected the resume to render <" + + node[0] + + "> in this slot but instead it rendered <" + + name + + ">. The tree doesn't match so React will fallback to client rendering." + ); + var childNodes = node[2]; + name = node[3]; + keyOrIndex = task.node; + task.replay = { + nodes: childNodes, + slots: name, + pendingTasks: 1 + }; + try { + renderElement( + request, + task, + key, + type, + props, + ref, + owner, + null + ); + if ( + 1 === task.replay.pendingTasks && + 0 < task.replay.nodes.length + ) throw Error( - "Expected the resume to render <" + - node[0] + - "> in this slot but instead it rendered <" + - name + - ">. The tree doesn't match so React will fallback to client rendering." + "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - var childNodes = node[2]; + task.replay.pendingTasks--; + } catch (x) { + if ( + "object" === typeof x && + null !== x && + (x === SuspenseException || + "function" === typeof x.then) + ) + throw ( + (task.node === keyOrIndex && (task.replay = replay), + x) + ); + task.replay.pendingTasks--; + owner = getThrownInfo(task.componentStack); + erroredReplay( + request, + task.blockedBoundary, + x, + owner, + childNodes, + name + ); + } + task.replay = replay; + } else { + if (type !== REACT_SUSPENSE_TYPE) + throw Error( + "Expected the resume to render in this slot but instead it rendered <" + + (getComponentNameFromType(type) || "Unknown") + + ">. The tree doesn't match so React will fallback to client rendering." + ); + a: { + type = void 0; + ref = task; + var props$jscomp$0 = props; + props = node[5]; + replay = node[2]; name = node[3]; - node = task.node; - task.replay = { - nodes: childNodes, + keyOrIndex = null === node[4] ? [] : node[4][2]; + node = null === node[4] ? null : node[4][3]; + var previousComponentStack = ref.componentStack; + owner = ref.componentStack = + createBuiltInComponentStack( + ref, + "Suspense", + owner, + null + ); + var prevKeyPath = ref.keyPath, + previousReplaySet = ref.replay, + parentBoundary = ref.blockedBoundary, + parentHoistableState = ref.hoistableState, + content = props$jscomp$0.children; + props$jscomp$0 = props$jscomp$0.fallback; + var fallbackAbortSet = new Set(), + resumedBoundary = createSuspenseBoundary( + request, + fallbackAbortSet + ); + resumedBoundary.parentFlushed = !0; + resumedBoundary.rootSegmentID = props; + ref.blockedBoundary = resumedBoundary; + ref.hoistableState = resumedBoundary.contentState; + ref.replay = { + nodes: replay, slots: name, pendingTasks: 1 }; try { - renderElement( - request, - task, - key, - type, - props, - ref, - refProp, - null - ); + renderNode(request, ref, content, -1); if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length + 1 === ref.replay.pendingTasks && + 0 < ref.replay.nodes.length ) throw Error( "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." ); - task.replay.pendingTasks--; - } catch (x) { + ref.replay.pendingTasks--; if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || - "function" === typeof x.then) - ) - throw ( - (task.node === node && (task.replay = replay), x) - ); - task.replay.pendingTasks--; - refProp = getThrownInfo(task.componentStack); - erroredReplay( - request, - task.blockedBoundary, - x, - refProp, - childNodes, - name - ); - } - task.replay = replay; - } else { - if (type !== REACT_SUSPENSE_TYPE) - throw Error( - "Expected the resume to render in this slot but instead it rendered <" + - (getComponentNameFromType(type) || "Unknown") + - ">. The tree doesn't match so React will fallback to client rendering." - ); - b: { - type = void 0; - ref = key; - var props$jscomp$0 = props; - props = node[5]; - key = node[2]; - replay = node[3]; - name = null === node[4] ? [] : node[4][2]; - node = null === node[4] ? null : node[4][3]; - keyOrIndex = task.componentStack; - refProp = task.componentStack = - createBuiltInComponentStack( - task, - "Suspense", - refProp, - null - ); - var prevKeyPath = task.keyPath, - previousReplaySet = task.replay, - parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState, - content = props$jscomp$0.children; - props$jscomp$0 = props$jscomp$0.fallback; - var fallbackAbortSet = new Set(), - resumedBoundary = createSuspenseBoundary( - request, - fallbackAbortSet - ); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = props; - task.blockedBoundary = resumedBoundary; - task.hoistableState = resumedBoundary.contentState; - task.replay = { - nodes: key, - slots: replay, - pendingTasks: 1 - }; - try { - renderNode(request, task, content, -1); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - if ( - 0 === resumedBoundary.pendingTasks && - 0 === resumedBoundary.status - ) { - resumedBoundary.status = 1; - request.completedBoundaries.push(resumedBoundary); - break b; - } - } catch (error$3) { - (resumedBoundary.status = 4), - (childNodes = getThrownInfo(task.componentStack)), - (type = logRecoverableError( - request, - error$3, - childNodes - )), - encodeErrorForBoundary( - resumedBoundary, - type, - error$3, - childNodes, - !1 - ), - task.replay.pendingTasks--, - request.clientRenderedBoundaries.push( - resumedBoundary - ); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.replay = previousReplaySet), - (task.keyPath = prevKeyPath), - (task.componentStack = keyOrIndex); + 0 === resumedBoundary.pendingTasks && + 0 === resumedBoundary.status + ) { + resumedBoundary.status = 1; + request.completedBoundaries.push(resumedBoundary); + break a; } - childNodes = createReplayTask( - request, - null, - { nodes: name, slots: node, pendingTasks: 0 }, - props$jscomp$0, - -1, - parentBoundary, - resumedBoundary.fallbackState, - fallbackAbortSet, - [ref[0], "Suspense Fallback", ref[2]], - task.formatContext, - task.context, - task.treeContext, - refProp, - !0 - ); - request.pingedTasks.push(childNodes); + } catch (error$3) { + (resumedBoundary.status = 4), + (childNodes = getThrownInfo(ref.componentStack)), + (type = logRecoverableError( + request, + error$3, + childNodes + )), + encodeErrorForBoundary( + resumedBoundary, + type, + error$3, + childNodes, + !1 + ), + ref.replay.pendingTasks--, + request.clientRenderedBoundaries.push( + resumedBoundary + ); + } finally { + (ref.blockedBoundary = parentBoundary), + (ref.hoistableState = parentHoistableState), + (ref.replay = previousReplaySet), + (ref.keyPath = prevKeyPath), + (ref.componentStack = previousComponentStack); } + childNodes = createReplayTask( + request, + null, + { nodes: keyOrIndex, slots: node, pendingTasks: 0 }, + props$jscomp$0, + -1, + parentBoundary, + resumedBoundary.fallbackState, + fallbackAbortSet, + [key[0], "Suspense Fallback", key[2]], + ref.formatContext, + ref.context, + ref.treeContext, + owner, + !0 + ); + request.pingedTasks.push(childNodes); } - childIndex.splice(node$jscomp$0, 1); - break a; } + node$jscomp$0.splice(childIndex, 1); + break; } } - else + } else renderElement( request, task, @@ -5614,24 +5641,30 @@ __DEV__ && type, props, ref, - refProp, + owner, null ); + task.componentStack = refProp; return; case REACT_PORTAL_TYPE: throw Error( "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." ); case REACT_LAZY_TYPE: - childNodes = task.componentStack; - task.componentStack = createBuiltInComponentStack( + refProp = task.componentStack; + task.componentStack = createServerComponentStack( task, - "Lazy", - null, - null + node$jscomp$0._debugInfo ); + task.componentStack === refProp && + (task.componentStack = createBuiltInComponentStack( + task, + "Lazy", + null, + null + )); node$jscomp$0 = callLazyInitInDEV(node$jscomp$0); - task.componentStack = childNodes; + task.componentStack = refProp; renderNodeDestructive(request, task, node$jscomp$0, childIndex); return; } @@ -5640,22 +5673,21 @@ __DEV__ && return; } null === node$jscomp$0 || "object" !== typeof node$jscomp$0 - ? (refProp = null) - : ((childNodes = + ? (childNodes = null) + : ((refProp = (MAYBE_ITERATOR_SYMBOL && node$jscomp$0[MAYBE_ITERATOR_SYMBOL]) || node$jscomp$0["@@iterator"]), - (refProp = "function" === typeof childNodes ? childNodes : null)); - if (refProp && (childNodes = refProp.call(node$jscomp$0))) { - if (childNodes === node$jscomp$0) { + (childNodes = "function" === typeof refProp ? refProp : null)); + if (childNodes && (refProp = childNodes.call(node$jscomp$0))) { + if (refProp === node$jscomp$0) { if ( -1 !== childIndex || null === task.componentStack || 1 !== task.componentStack.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(task.componentStack.type) || - "[object Generator]" !== - Object.prototype.toString.call(childNodes) + "[object Generator]" !== Object.prototype.toString.call(refProp) ) didWarnAboutGenerators || error$jscomp$2( @@ -5663,32 +5695,39 @@ __DEV__ && ), (didWarnAboutGenerators = !0); } else - node$jscomp$0.entries !== refProp || + node$jscomp$0.entries !== childNodes || didWarnAboutMaps || (error$jscomp$2( "Using Maps as children is not supported. Use an array of keyed ReactElements instead." ), (didWarnAboutMaps = !0)); - node$jscomp$0 = childNodes.next(); + node$jscomp$0 = refProp.next(); if (!node$jscomp$0.done) { - refProp = []; + childNodes = []; do - refProp.push(node$jscomp$0.value), - (node$jscomp$0 = childNodes.next()); + childNodes.push(node$jscomp$0.value), + (node$jscomp$0 = refProp.next()); while (!node$jscomp$0.done); - renderChildrenArray(request, task, refProp, childIndex); + renderChildrenArray(request, task, childNodes, childIndex); } return; } if ("function" === typeof node$jscomp$0.then) return ( (task.thenableState = null), - renderNodeDestructive( + (refProp = task.componentStack), + (task.componentStack = createServerComponentStack( + task, + node$jscomp$0._debugInfo + )), + (node$jscomp$0 = renderNodeDestructive( request, task, unwrapThenable(node$jscomp$0), childIndex - ) + )), + (task.componentStack = refProp), + node$jscomp$0 ); if (node$jscomp$0.$$typeof === REACT_CONTEXT_TYPE) return renderNodeDestructive( @@ -5697,43 +5736,43 @@ __DEV__ && node$jscomp$0._currentValue, childIndex ); - childIndex = Object.prototype.toString.call(node$jscomp$0); + task = Object.prototype.toString.call(node$jscomp$0); throw Error( "Objects are not valid as a React child (found: " + - ("[object Object]" === childIndex + ("[object Object]" === task ? "object with keys {" + Object.keys(node$jscomp$0).join(", ") + "}" - : childIndex) + + : task) + "). If you meant to render a collection of children, use an array instead." ); } "string" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : "number" === typeof node$jscomp$0 || "bigint" === typeof node$jscomp$0 - ? ((childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, + ? ((task = task.blockedSegment), + null !== task && + (task.lastPushedText = pushTextInstance( + task.chunks, "" + node$jscomp$0, request.renderState, - childIndex.lastPushedText + task.lastPushedText ))) : ("function" === typeof node$jscomp$0 && - ((childIndex = + ((task = node$jscomp$0.displayName || node$jscomp$0.name || "Component"), error$jscomp$2( "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.", - childIndex, - childIndex + task, + task )), "symbol" === typeof node$jscomp$0 && error$jscomp$2( @@ -5743,7 +5782,12 @@ __DEV__ && } } function renderChildrenArray(request$jscomp$0, task, children, childIndex) { - var prevKeyPath = task.keyPath; + var prevKeyPath = task.keyPath, + previousComponentStack = task.componentStack; + task.componentStack = createServerComponentStack( + task, + task.node._debugInfo + ); if ( -1 !== childIndex && ((task.keyPath = [task.keyPath, "Fragment", childIndex]), @@ -5793,6 +5837,7 @@ __DEV__ && } } task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } replay = task.treeContext; @@ -5818,6 +5863,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; return; } for (j = 0; j < replayNodes; j++) { @@ -5911,6 +5957,7 @@ __DEV__ && } task.treeContext = replay; task.keyPath = prevKeyPath; + task.componentStack = previousComponentStack; } function untrackBoundary(request, boundary) { request = request.trackedPostpones; diff --git a/compiled/facebook-www/ReactDOMTesting-dev.classic.js b/compiled/facebook-www/ReactDOMTesting-dev.classic.js index 8977c6646d..82b91c5cfd 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.classic.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.classic.js @@ -27704,11 +27704,11 @@ __DEV__ && : flushSyncErrorInBuildsThatSupportLegacyMode; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.0.0-www-classic-e60063d9e7-20240702" !== isomorphicReactPackageVersion) + if ("19.0.0-www-classic-cfb8945f51-20240702" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.0.0-www-classic-e60063d9e7-20240702\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.0.0-www-classic-cfb8945f51-20240702\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -27774,12 +27774,12 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); })({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 1, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-dom" }) && canUseDOM && @@ -28588,5 +28588,5 @@ __DEV__ && exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; + exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; })(); diff --git a/compiled/facebook-www/ReactDOMTesting-dev.modern.js b/compiled/facebook-www/ReactDOMTesting-dev.modern.js index eca25313ce..eecc54fbfb 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.modern.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.modern.js @@ -26851,11 +26851,11 @@ __DEV__ && return_targetInst = null; (function () { var isomorphicReactPackageVersion = React.version; - if ("19.0.0-www-modern-e60063d9e7-20240702" !== isomorphicReactPackageVersion) + if ("19.0.0-www-modern-cfb8945f51-20240702" !== isomorphicReactPackageVersion) throw Error( 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + - "\n - react-dom: 19.0.0-www-modern-e60063d9e7-20240702\nLearn more: https://react.dev/warnings/version-mismatch") + "\n - react-dom: 19.0.0-www-modern-cfb8945f51-20240702\nLearn more: https://react.dev/warnings/version-mismatch") ); })(); ("function" === typeof Map && @@ -26920,12 +26920,12 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); })({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 1, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-dom" }) && canUseDOM && @@ -27687,5 +27687,5 @@ __DEV__ && exports.useFormStatus = function () { return resolveDispatcher().useHostTransitionStatus(); }; - exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; + exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; })(); diff --git a/compiled/facebook-www/ReactDOMTesting-prod.classic.js b/compiled/facebook-www/ReactDOMTesting-prod.classic.js index e0350c9f61..e862684b9f 100644 --- a/compiled/facebook-www/ReactDOMTesting-prod.classic.js +++ b/compiled/facebook-www/ReactDOMTesting-prod.classic.js @@ -17485,14 +17485,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1799 = React.version; if ( - "19.0.0-www-classic-e60063d9e7-20240702" !== + "19.0.0-www-classic-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1799 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1799, - "19.0.0-www-classic-e60063d9e7-20240702" + "19.0.0-www-classic-cfb8945f51-20240702" ) ); function flushSyncFromReconciler(fn) { @@ -17538,7 +17538,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1806 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-dom" }; var internals$jscomp$inline_2255 = { @@ -17568,7 +17568,7 @@ var internals$jscomp$inline_2255 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2256 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -18183,4 +18183,4 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-classic-e60063d9e7-20240702"; +exports.version = "19.0.0-www-classic-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactDOMTesting-prod.modern.js b/compiled/facebook-www/ReactDOMTesting-prod.modern.js index c707b7e5db..dc197d7edc 100644 --- a/compiled/facebook-www/ReactDOMTesting-prod.modern.js +++ b/compiled/facebook-www/ReactDOMTesting-prod.modern.js @@ -16859,14 +16859,14 @@ function getCrossOriginStringAs(as, input) { } var isomorphicReactPackageVersion$jscomp$inline_1770 = React.version; if ( - "19.0.0-www-modern-e60063d9e7-20240702" !== + "19.0.0-www-modern-cfb8945f51-20240702" !== isomorphicReactPackageVersion$jscomp$inline_1770 ) throw Error( formatProdErrorMessage( 527, isomorphicReactPackageVersion$jscomp$inline_1770, - "19.0.0-www-modern-e60063d9e7-20240702" + "19.0.0-www-modern-cfb8945f51-20240702" ) ); Internals.findDOMNode = function (componentOrElement) { @@ -16885,7 +16885,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1772 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-dom" }; var internals$jscomp$inline_2246 = { @@ -16915,7 +16915,7 @@ var internals$jscomp$inline_2246 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_2247 = __REACT_DEVTOOLS_GLOBAL_HOOK__; @@ -17437,4 +17437,4 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactSharedInternals.H.useHostTransitionStatus(); }; -exports.version = "19.0.0-www-modern-e60063d9e7-20240702"; +exports.version = "19.0.0-www-modern-cfb8945f51-20240702"; diff --git a/compiled/facebook-www/ReactReconciler-dev.classic.js b/compiled/facebook-www/ReactReconciler-dev.classic.js index 0d37b4c3bd..6b71404c10 100644 --- a/compiled/facebook-www/ReactReconciler-dev.classic.js +++ b/compiled/facebook-www/ReactReconciler-dev.classic.js @@ -18993,7 +18993,7 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); }; exports.isAlreadyRendering = function () { diff --git a/compiled/facebook-www/ReactReconciler-dev.modern.js b/compiled/facebook-www/ReactReconciler-dev.modern.js index e613fa4e64..2a5e96560e 100644 --- a/compiled/facebook-www/ReactReconciler-dev.modern.js +++ b/compiled/facebook-www/ReactReconciler-dev.modern.js @@ -18372,7 +18372,7 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); }; exports.isAlreadyRendering = function () { diff --git a/compiled/facebook-www/ReactReconciler-prod.classic.js b/compiled/facebook-www/ReactReconciler-prod.classic.js index a69ed9075a..9671e0211b 100644 --- a/compiled/facebook-www/ReactReconciler-prod.classic.js +++ b/compiled/facebook-www/ReactReconciler-prod.classic.js @@ -12698,7 +12698,7 @@ module.exports = function ($$$config) { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }; if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) devToolsConfig = !1; diff --git a/compiled/facebook-www/ReactReconciler-prod.modern.js b/compiled/facebook-www/ReactReconciler-prod.modern.js index c3bfee9a59..1c0576f989 100644 --- a/compiled/facebook-www/ReactReconciler-prod.modern.js +++ b/compiled/facebook-www/ReactReconciler-prod.modern.js @@ -12190,7 +12190,7 @@ module.exports = function ($$$config) { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }; if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) devToolsConfig = !1; diff --git a/compiled/facebook-www/ReactTestRenderer-dev.classic.js b/compiled/facebook-www/ReactTestRenderer-dev.classic.js index a718520dfe..a7af840f6d 100644 --- a/compiled/facebook-www/ReactTestRenderer-dev.classic.js +++ b/compiled/facebook-www/ReactTestRenderer-dev.classic.js @@ -14717,14 +14717,14 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-classic-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-classic-cfb8945f51-20240702" }); })({ findFiberByHostInstance: function () { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 1, - version: "19.0.0-www-classic-e60063d9e7-20240702", + version: "19.0.0-www-classic-cfb8945f51-20240702", rendererPackageName: "react-test-renderer" }); exports._Scheduler = Scheduler; diff --git a/compiled/facebook-www/ReactTestRenderer-dev.modern.js b/compiled/facebook-www/ReactTestRenderer-dev.modern.js index 2f3e52ab34..882759f713 100644 --- a/compiled/facebook-www/ReactTestRenderer-dev.modern.js +++ b/compiled/facebook-www/ReactTestRenderer-dev.modern.js @@ -14717,14 +14717,14 @@ __DEV__ && scheduleRoot: scheduleRoot, setRefreshHandler: setRefreshHandler, getCurrentFiber: getCurrentFiberForDevTools, - reconcilerVersion: "19.0.0-www-modern-e60063d9e7-20240702" + reconcilerVersion: "19.0.0-www-modern-cfb8945f51-20240702" }); })({ findFiberByHostInstance: function () { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 1, - version: "19.0.0-www-modern-e60063d9e7-20240702", + version: "19.0.0-www-modern-cfb8945f51-20240702", rendererPackageName: "react-test-renderer" }); exports._Scheduler = Scheduler; diff --git a/compiled/facebook-www/VERSION_CLASSIC b/compiled/facebook-www/VERSION_CLASSIC index 9b81018811..8b12d06fd6 100644 --- a/compiled/facebook-www/VERSION_CLASSIC +++ b/compiled/facebook-www/VERSION_CLASSIC @@ -1 +1 @@ -19.0.0-www-classic-e60063d9e7-20240702 \ No newline at end of file +19.0.0-www-classic-cfb8945f51-20240702 \ No newline at end of file diff --git a/compiled/facebook-www/VERSION_MODERN b/compiled/facebook-www/VERSION_MODERN index b9caa980bc..93ffd20c11 100644 --- a/compiled/facebook-www/VERSION_MODERN +++ b/compiled/facebook-www/VERSION_MODERN @@ -1 +1 @@ -19.0.0-www-modern-e60063d9e7-20240702 \ No newline at end of file +19.0.0-www-modern-cfb8945f51-20240702 \ No newline at end of file