diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js index 133e954e7937e..578ac1ec958fe 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js @@ -5886,6 +5886,13 @@ function getShellBoundary() { function pushPrimaryTreeSuspenseHandler(handler) { // TODO: Pass as argument var current = handler.alternate; + // propagated a single level. For example, when ForceSuspenseFallback is set, + // it should only force the nearest Suspense boundary into fallback mode. + + pushSuspenseListContext( + handler, + setDefaultShallowSuspenseListContext(suspenseStackCursor.current) + ); // Experimental feature: Some Suspense boundaries are marked as having an // to push a nested Suspense handler, because it will get replaced by the // outer fallback, anyway. Consider this as a future optimization. @@ -5913,6 +5920,11 @@ function pushFallbackTreeSuspenseHandler(fiber) { } function pushOffscreenSuspenseHandler(fiber) { if (fiber.tag === OffscreenComponent) { + // A SuspenseList context is only pushed here to avoid a push/pop mismatch. + // Reuse the current value on the stack. + // TODO: We can avoid needing to push here by by forking popSuspenseHandler + // into separate functions for Suspense and Offscreen. + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, fiber, fiber); if (shellBoundary !== null); @@ -5935,6 +5947,7 @@ function pushOffscreenSuspenseHandler(fiber) { } } function reuseSuspenseHandlerOnStack(fiber) { + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, getSuspenseHandler(), fiber); } function getSuspenseHandler() { @@ -5947,6 +5960,8 @@ function popSuspenseHandler(fiber) { // Popping back into the shell. shellBoundary = null; } + + popSuspenseListContext(fiber); } // SuspenseList context // TODO: Move to a separate module? We may change the SuspenseList // implementation to hide/show in the commit phase, anyway. @@ -12176,6 +12191,8 @@ function shouldRemainOnFallback(current, workInProgress, renderLanes) { // If we're already showing a fallback, there are cases where we need to // remain on that fallback regardless of whether the content has resolved. // For example, SuspenseList coordinates when nested content appears. + // TODO: For compatibility with offscreen prerendering, this should also check + // whether the current fiber (if it exists) was visible in the previous tree. if (current !== null) { var suspenseState = current.memoizedState; @@ -23632,7 +23649,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-next-afb3d51dc-20230322"; +var ReactVersion = "18.3.0-next-51a7c45f8-20230322"; // Might add PROFILE later. diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js index 5c138f9265783..3499e3f4153d7 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js @@ -1950,6 +1950,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -1958,20 +1959,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -3220,11 +3227,11 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { null !== prevState ? (pushTransition(workInProgress, prevState.cachePool), pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) : (null !== current && pushTransition(workInProgress, null), reuseHiddenContextOnStack(), - reuseSuspenseHandlerOnStack()); + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -3579,7 +3586,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { current = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (nextProps = workInProgress.mode), (showFallback = workInProgress.child), (didSuspend = { mode: "hidden", children: didSuspend }), @@ -3625,7 +3632,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -3751,12 +3758,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -8558,19 +8565,19 @@ function wrapFiber(fiber) { fiberToWrapper.set(fiber, wrapper)); return wrapper; } -var devToolsConfig$jscomp$inline_1018 = { +var devToolsConfig$jscomp$inline_1029 = { findFiberByHostInstance: function () { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-test-renderer" }; -var internals$jscomp$inline_1206 = { - bundleType: devToolsConfig$jscomp$inline_1018.bundleType, - version: devToolsConfig$jscomp$inline_1018.version, - rendererPackageName: devToolsConfig$jscomp$inline_1018.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1018.rendererConfig, +var internals$jscomp$inline_1217 = { + bundleType: devToolsConfig$jscomp$inline_1029.bundleType, + version: devToolsConfig$jscomp$inline_1029.version, + rendererPackageName: devToolsConfig$jscomp$inline_1029.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1029.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -8587,26 +8594,26 @@ var internals$jscomp$inline_1206 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1018.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1029.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_1207 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_1218 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_1207.isDisabled && - hook$jscomp$inline_1207.supportsFiber + !hook$jscomp$inline_1218.isDisabled && + hook$jscomp$inline_1218.supportsFiber ) try { - (rendererID = hook$jscomp$inline_1207.inject( - internals$jscomp$inline_1206 + (rendererID = hook$jscomp$inline_1218.inject( + internals$jscomp$inline_1217 )), - (injectedHook = hook$jscomp$inline_1207); + (injectedHook = hook$jscomp$inline_1218); } catch (err) {} } exports._Scheduler = Scheduler; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js index 21fb88b32c3d1..9220aced9a83a 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js @@ -1968,6 +1968,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -1976,20 +1977,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -3300,11 +3307,11 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { null !== prevState ? (pushTransition(workInProgress, prevState.cachePool), pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) : (null !== current && pushTransition(workInProgress, null), reuseHiddenContextOnStack(), - reuseSuspenseHandlerOnStack()); + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -3663,7 +3670,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { current = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (nextProps = workInProgress.mode), (showFallback = workInProgress.child), (didSuspend = { mode: "hidden", children: didSuspend }), @@ -3714,7 +3721,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -3845,12 +3852,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -8983,19 +8990,19 @@ function wrapFiber(fiber) { fiberToWrapper.set(fiber, wrapper)); return wrapper; } -var devToolsConfig$jscomp$inline_1061 = { +var devToolsConfig$jscomp$inline_1072 = { findFiberByHostInstance: function () { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-test-renderer" }; -var internals$jscomp$inline_1247 = { - bundleType: devToolsConfig$jscomp$inline_1061.bundleType, - version: devToolsConfig$jscomp$inline_1061.version, - rendererPackageName: devToolsConfig$jscomp$inline_1061.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1061.rendererConfig, +var internals$jscomp$inline_1258 = { + bundleType: devToolsConfig$jscomp$inline_1072.bundleType, + version: devToolsConfig$jscomp$inline_1072.version, + rendererPackageName: devToolsConfig$jscomp$inline_1072.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1072.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -9012,26 +9019,26 @@ var internals$jscomp$inline_1247 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1061.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1072.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_1248 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_1259 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_1248.isDisabled && - hook$jscomp$inline_1248.supportsFiber + !hook$jscomp$inline_1259.isDisabled && + hook$jscomp$inline_1259.supportsFiber ) try { - (rendererID = hook$jscomp$inline_1248.inject( - internals$jscomp$inline_1247 + (rendererID = hook$jscomp$inline_1259.inject( + internals$jscomp$inline_1258 )), - (injectedHook = hook$jscomp$inline_1248); + (injectedHook = hook$jscomp$inline_1259); } catch (err) {} } exports._Scheduler = Scheduler; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js index b2940acc40ae2..1379efce3752d 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js @@ -27,7 +27,7 @@ if ( } "use strict"; -var ReactVersion = "18.3.0-next-afb3d51dc-20230322"; +var ReactVersion = "18.3.0-next-51a7c45f8-20230322"; // ATTENTION // When adding new symbols to this file, diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js index 5b939acf32e1d..dcdd7ad920993 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js @@ -639,4 +639,4 @@ exports.useSyncExternalStore = function ( ); }; exports.useTransition = useTransition; -exports.version = "18.3.0-next-afb3d51dc-20230322"; +exports.version = "18.3.0-next-51a7c45f8-20230322"; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js index bd0fa7fc602e0..e276f56db612e 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js @@ -642,7 +642,7 @@ exports.useSyncExternalStore = function ( ); }; exports.useTransition = useTransition; -exports.version = "18.3.0-next-afb3d51dc-20230322"; +exports.version = "18.3.0-next-51a7c45f8-20230322"; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION index dd906bc893ced..a404c80f5997b 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION @@ -1 +1 @@ -afb3d51dc6310f0dbeffdd303eb3c6895e6f7db0 +51a7c45f8799cab903693fcfdd305ce84ba15273 diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js index b966a462a7763..a3340b0817d4b 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js @@ -9083,6 +9083,13 @@ function getShellBoundary() { function pushPrimaryTreeSuspenseHandler(handler) { // TODO: Pass as argument var current = handler.alternate; + // propagated a single level. For example, when ForceSuspenseFallback is set, + // it should only force the nearest Suspense boundary into fallback mode. + + pushSuspenseListContext( + handler, + setDefaultShallowSuspenseListContext(suspenseStackCursor.current) + ); // Experimental feature: Some Suspense boundaries are marked as having an // to push a nested Suspense handler, because it will get replaced by the // outer fallback, anyway. Consider this as a future optimization. @@ -9110,6 +9117,11 @@ function pushFallbackTreeSuspenseHandler(fiber) { } function pushOffscreenSuspenseHandler(fiber) { if (fiber.tag === OffscreenComponent) { + // A SuspenseList context is only pushed here to avoid a push/pop mismatch. + // Reuse the current value on the stack. + // TODO: We can avoid needing to push here by by forking popSuspenseHandler + // into separate functions for Suspense and Offscreen. + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, fiber, fiber); if (shellBoundary !== null); @@ -9132,6 +9144,7 @@ function pushOffscreenSuspenseHandler(fiber) { } } function reuseSuspenseHandlerOnStack(fiber) { + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, getSuspenseHandler(), fiber); } function getSuspenseHandler() { @@ -9144,6 +9157,8 @@ function popSuspenseHandler(fiber) { // Popping back into the shell. shellBoundary = null; } + + popSuspenseListContext(fiber); } // SuspenseList context // TODO: Move to a separate module? We may change the SuspenseList // implementation to hide/show in the commit phase, anyway. @@ -15721,6 +15736,8 @@ function shouldRemainOnFallback(current, workInProgress, renderLanes) { // If we're already showing a fallback, there are cases where we need to // remain on that fallback regardless of whether the content has resolved. // For example, SuspenseList coordinates when nested content appears. + // TODO: For compatibility with offscreen prerendering, this should also check + // whether the current fiber (if it exists) was visible in the previous tree. if (current !== null) { var suspenseState = current.memoizedState; @@ -26386,7 +26403,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-next-afb3d51dc-20230322"; +var ReactVersion = "18.3.0-next-51a7c45f8-20230322"; function createPortal$1( children, diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-prod.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-prod.fb.js index 689f80e9fce01..6b7d09b3dc829 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-prod.fb.js @@ -3140,6 +3140,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -3148,20 +3149,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -4533,9 +4540,10 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { } else null !== prevState ? (pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) - : (reuseHiddenContextOnStack(), reuseSuspenseHandlerOnStack()); + : (reuseHiddenContextOnStack(), + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -4881,7 +4889,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { didSuspend = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -4895,7 +4903,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); if ("number" === typeof nextProps.unstable_expectedLoadTime) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -4926,7 +4934,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -5072,12 +5080,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -9495,10 +9503,10 @@ batchedUpdatesImpl = function (fn, a) { } }; var roots = new Map(), - devToolsConfig$jscomp$inline_1038 = { + devToolsConfig$jscomp$inline_1049 = { findFiberByHostInstance: getInstanceFromNode, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-native-renderer", rendererConfig: { getInspectorDataForViewTag: function () { @@ -9513,11 +9521,11 @@ var roots = new Map(), }.bind(null, findNodeHandle) } }; -var internals$jscomp$inline_1281 = { - bundleType: devToolsConfig$jscomp$inline_1038.bundleType, - version: devToolsConfig$jscomp$inline_1038.version, - rendererPackageName: devToolsConfig$jscomp$inline_1038.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1038.rendererConfig, +var internals$jscomp$inline_1292 = { + bundleType: devToolsConfig$jscomp$inline_1049.bundleType, + version: devToolsConfig$jscomp$inline_1049.version, + rendererPackageName: devToolsConfig$jscomp$inline_1049.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1049.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -9533,26 +9541,26 @@ var internals$jscomp$inline_1281 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1038.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1049.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_1282 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_1293 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_1282.isDisabled && - hook$jscomp$inline_1282.supportsFiber + !hook$jscomp$inline_1293.isDisabled && + hook$jscomp$inline_1293.supportsFiber ) try { - (rendererID = hook$jscomp$inline_1282.inject( - internals$jscomp$inline_1281 + (rendererID = hook$jscomp$inline_1293.inject( + internals$jscomp$inline_1292 )), - (injectedHook = hook$jscomp$inline_1282); + (injectedHook = hook$jscomp$inline_1293); } catch (err) {} } exports.createPortal = function (children, containerTag) { diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js index 801a5d712f93c..625c60a689f93 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js @@ -3268,6 +3268,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -3276,20 +3277,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -4732,9 +4739,10 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { } else null !== prevState ? (pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) - : (reuseHiddenContextOnStack(), reuseSuspenseHandlerOnStack()); + : (reuseHiddenContextOnStack(), + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -5091,7 +5099,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { didSuspend = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5105,7 +5113,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); if ("number" === typeof nextProps.unstable_expectedLoadTime) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5136,7 +5144,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -5292,12 +5300,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -10203,10 +10211,10 @@ batchedUpdatesImpl = function (fn, a) { } }; var roots = new Map(), - devToolsConfig$jscomp$inline_1117 = { + devToolsConfig$jscomp$inline_1128 = { findFiberByHostInstance: getInstanceFromNode, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-native-renderer", rendererConfig: { getInspectorDataForViewTag: function () { @@ -10235,10 +10243,10 @@ var roots = new Map(), } catch (err) {} return hook.checkDCE ? !0 : !1; })({ - bundleType: devToolsConfig$jscomp$inline_1117.bundleType, - version: devToolsConfig$jscomp$inline_1117.version, - rendererPackageName: devToolsConfig$jscomp$inline_1117.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1117.rendererConfig, + bundleType: devToolsConfig$jscomp$inline_1128.bundleType, + version: devToolsConfig$jscomp$inline_1128.version, + rendererPackageName: devToolsConfig$jscomp$inline_1128.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1128.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -10254,14 +10262,14 @@ var roots = new Map(), return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1117.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1128.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }); exports.createPortal = function (children, containerTag) { return createPortal$1( diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js index f0eb4b276ca06..ff4b5b47da2ac 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js @@ -9940,6 +9940,13 @@ function getShellBoundary() { function pushPrimaryTreeSuspenseHandler(handler) { // TODO: Pass as argument var current = handler.alternate; + // propagated a single level. For example, when ForceSuspenseFallback is set, + // it should only force the nearest Suspense boundary into fallback mode. + + pushSuspenseListContext( + handler, + setDefaultShallowSuspenseListContext(suspenseStackCursor.current) + ); // Experimental feature: Some Suspense boundaries are marked as having an // to push a nested Suspense handler, because it will get replaced by the // outer fallback, anyway. Consider this as a future optimization. @@ -9967,6 +9974,11 @@ function pushFallbackTreeSuspenseHandler(fiber) { } function pushOffscreenSuspenseHandler(fiber) { if (fiber.tag === OffscreenComponent) { + // A SuspenseList context is only pushed here to avoid a push/pop mismatch. + // Reuse the current value on the stack. + // TODO: We can avoid needing to push here by by forking popSuspenseHandler + // into separate functions for Suspense and Offscreen. + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, fiber, fiber); if (shellBoundary !== null); @@ -9989,6 +10001,7 @@ function pushOffscreenSuspenseHandler(fiber) { } } function reuseSuspenseHandlerOnStack(fiber) { + pushSuspenseListContext(fiber, suspenseStackCursor.current); push(suspenseHandlerStackCursor, getSuspenseHandler(), fiber); } function getSuspenseHandler() { @@ -10001,6 +10014,8 @@ function popSuspenseHandler(fiber) { // Popping back into the shell. shellBoundary = null; } + + popSuspenseListContext(fiber); } // SuspenseList context // TODO: Move to a separate module? We may change the SuspenseList // implementation to hide/show in the commit phase, anyway. @@ -16578,6 +16593,8 @@ function shouldRemainOnFallback(current, workInProgress, renderLanes) { // If we're already showing a fallback, there are cases where we need to // remain on that fallback regardless of whether the content has resolved. // For example, SuspenseList coordinates when nested content appears. + // TODO: For compatibility with offscreen prerendering, this should also check + // whether the current fiber (if it exists) was visible in the previous tree. if (current !== null) { var suspenseState = current.memoizedState; @@ -27437,7 +27454,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-next-afb3d51dc-20230322"; +var ReactVersion = "18.3.0-next-51a7c45f8-20230322"; function createPortal$1( children, diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js index bbbb49caaeb37..874ca320c4573 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js @@ -3405,6 +3405,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -3413,20 +3414,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -4788,9 +4795,10 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { } else null !== prevState ? (pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) - : (reuseHiddenContextOnStack(), reuseSuspenseHandlerOnStack()); + : (reuseHiddenContextOnStack(), + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -5136,7 +5144,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { didSuspend = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5150,7 +5158,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); if ("number" === typeof nextProps.unstable_expectedLoadTime) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5181,7 +5189,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -5327,12 +5335,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -9684,10 +9692,10 @@ batchedUpdatesImpl = function (fn, a) { } }; var roots = new Map(), - devToolsConfig$jscomp$inline_1100 = { + devToolsConfig$jscomp$inline_1111 = { findFiberByHostInstance: getInstanceFromTag, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-native-renderer", rendererConfig: { getInspectorDataForViewTag: function () { @@ -9702,11 +9710,11 @@ var roots = new Map(), }.bind(null, findNodeHandle) } }; -var internals$jscomp$inline_1350 = { - bundleType: devToolsConfig$jscomp$inline_1100.bundleType, - version: devToolsConfig$jscomp$inline_1100.version, - rendererPackageName: devToolsConfig$jscomp$inline_1100.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1100.rendererConfig, +var internals$jscomp$inline_1361 = { + bundleType: devToolsConfig$jscomp$inline_1111.bundleType, + version: devToolsConfig$jscomp$inline_1111.version, + rendererPackageName: devToolsConfig$jscomp$inline_1111.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1111.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -9722,26 +9730,26 @@ var internals$jscomp$inline_1350 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1100.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1111.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_1351 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_1362 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_1351.isDisabled && - hook$jscomp$inline_1351.supportsFiber + !hook$jscomp$inline_1362.isDisabled && + hook$jscomp$inline_1362.supportsFiber ) try { - (rendererID = hook$jscomp$inline_1351.inject( - internals$jscomp$inline_1350 + (rendererID = hook$jscomp$inline_1362.inject( + internals$jscomp$inline_1361 )), - (injectedHook = hook$jscomp$inline_1351); + (injectedHook = hook$jscomp$inline_1362); } catch (err) {} } exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = { diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js index c77183a7af478..5906f5dc92385 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js @@ -3533,6 +3533,7 @@ var suspenseHandlerStackCursor = createCursor(null), shellBoundary = null; function pushPrimaryTreeSuspenseHandler(handler) { var current = handler.alternate; + push(suspenseStackCursor, suspenseStackCursor.current & 1); push(suspenseHandlerStackCursor, handler); null === shellBoundary && (null === current || null !== currentTreeHiddenStackCursor.current @@ -3541,20 +3542,26 @@ function pushPrimaryTreeSuspenseHandler(handler) { } function pushOffscreenSuspenseHandler(fiber) { if (22 === fiber.tag) { - if ((push(suspenseHandlerStackCursor, fiber), null === shellBoundary)) { + if ( + (push(suspenseStackCursor, suspenseStackCursor.current), + push(suspenseHandlerStackCursor, fiber), + null === shellBoundary) + ) { var current = fiber.alternate; null !== current && null !== current.memoizedState && (shellBoundary = fiber); } - } else reuseSuspenseHandlerOnStack(); + } else reuseSuspenseHandlerOnStack(fiber); } function reuseSuspenseHandlerOnStack() { + push(suspenseStackCursor, suspenseStackCursor.current); push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current); } function popSuspenseHandler(fiber) { pop(suspenseHandlerStackCursor); shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor); } var suspenseStackCursor = createCursor(0); function findFirstSuspended(row) { @@ -4987,9 +4994,10 @@ function updateOffscreenComponent(current, workInProgress, renderLanes) { } else null !== prevState ? (pushHiddenContext(workInProgress, prevState), - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.memoizedState = null)) - : (reuseHiddenContextOnStack(), reuseSuspenseHandlerOnStack()); + : (reuseHiddenContextOnStack(), + reuseSuspenseHandlerOnStack(workInProgress)); reconcileChildren(current, workInProgress, nextChildren, renderLanes); return workInProgress.child; } @@ -5346,7 +5354,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { didSuspend = nextProps.fallback; if (showFallback) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5360,7 +5368,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); if ("number" === typeof nextProps.unstable_expectedLoadTime) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (current = mountSuspenseFallbackChildren( workInProgress, current, @@ -5391,7 +5399,7 @@ function updateSuspenseComponent(current, workInProgress, renderLanes) { ); } if (showFallback) { - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); showFallback = nextProps.fallback; didSuspend = workInProgress.mode; JSCompiler_temp = current.child; @@ -5547,12 +5555,12 @@ function updateDehydratedSuspenseComponent( ); if (null !== workInProgress.memoizedState) return ( - reuseSuspenseHandlerOnStack(), + reuseSuspenseHandlerOnStack(workInProgress), (workInProgress.child = current.child), (workInProgress.flags |= 128), null ); - reuseSuspenseHandlerOnStack(); + reuseSuspenseHandlerOnStack(workInProgress); suspenseState = nextProps.fallback; didSuspend = workInProgress.mode; nextProps = createFiberFromOffscreen( @@ -10392,10 +10400,10 @@ batchedUpdatesImpl = function (fn, a) { } }; var roots = new Map(), - devToolsConfig$jscomp$inline_1179 = { + devToolsConfig$jscomp$inline_1190 = { findFiberByHostInstance: getInstanceFromTag, bundleType: 0, - version: "18.3.0-next-afb3d51dc-20230322", + version: "18.3.0-next-51a7c45f8-20230322", rendererPackageName: "react-native-renderer", rendererConfig: { getInspectorDataForViewTag: function () { @@ -10424,10 +10432,10 @@ var roots = new Map(), } catch (err) {} return hook.checkDCE ? !0 : !1; })({ - bundleType: devToolsConfig$jscomp$inline_1179.bundleType, - version: devToolsConfig$jscomp$inline_1179.version, - rendererPackageName: devToolsConfig$jscomp$inline_1179.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1179.rendererConfig, + bundleType: devToolsConfig$jscomp$inline_1190.bundleType, + version: devToolsConfig$jscomp$inline_1190.version, + rendererPackageName: devToolsConfig$jscomp$inline_1190.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1190.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -10443,14 +10451,14 @@ var roots = new Map(), return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1179.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1190.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-next-afb3d51dc-20230322" + reconcilerVersion: "18.3.0-next-51a7c45f8-20230322" }); exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = { computeComponentStackForErrorReporting: function (reactTag) {