diff --git a/compiled/facebook-www/JSXDEVRuntime-dev.classic.js b/compiled/facebook-www/JSXDEVRuntime-dev.classic.js index c0e3d098933f4..491836021645f 100644 --- a/compiled/facebook-www/JSXDEVRuntime-dev.classic.js +++ b/compiled/facebook-www/JSXDEVRuntime-dev.classic.js @@ -109,7 +109,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, false is used for a new modern build. var REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"); function isValidElementType(type) { diff --git a/compiled/facebook-www/JSXDEVRuntime-dev.modern.js b/compiled/facebook-www/JSXDEVRuntime-dev.modern.js index 503aac031a553..07616147ff588 100644 --- a/compiled/facebook-www/JSXDEVRuntime-dev.modern.js +++ b/compiled/facebook-www/JSXDEVRuntime-dev.modern.js @@ -109,7 +109,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. var REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"); function isValidElementType(type) { diff --git a/compiled/facebook-www/REVISION b/compiled/facebook-www/REVISION index 46448add900e4..7666a749e2944 100644 --- a/compiled/facebook-www/REVISION +++ b/compiled/facebook-www/REVISION @@ -1 +1 @@ -a9cc32511a12c261ee719e5383818182800d6af4 +ef72271c2d1234c9d1e1358f8083021089a50faa diff --git a/compiled/facebook-www/React-dev.classic.js b/compiled/facebook-www/React-dev.classic.js index e9acdabb31e1b..1973cea364b9c 100644 --- a/compiled/facebook-www/React-dev.classic.js +++ b/compiled/facebook-www/React-dev.classic.js @@ -24,7 +24,7 @@ if (__DEV__) { ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); } - var ReactVersion = "18.3.0-www-classic-77843590"; + var ReactVersion = "18.3.0-www-classic-435f93e8"; // ATTENTION // When adding new symbols to this file, @@ -475,7 +475,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, false is used for a new modern build. function getWrappedName(outerType, innerType, wrapperName) { var displayName = outerType.displayName; diff --git a/compiled/facebook-www/React-dev.modern.js b/compiled/facebook-www/React-dev.modern.js index bd1deb63debda..902f8cb2501c0 100644 --- a/compiled/facebook-www/React-dev.modern.js +++ b/compiled/facebook-www/React-dev.modern.js @@ -24,7 +24,7 @@ if (__DEV__) { ) { __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); } - var ReactVersion = "18.3.0-www-modern-0bb55f38"; + var ReactVersion = "18.3.0-www-modern-d64ea480"; // ATTENTION // When adding new symbols to this file, @@ -475,7 +475,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. function getWrappedName(outerType, innerType, wrapperName) { var displayName = outerType.displayName; diff --git a/compiled/facebook-www/React-prod.classic.js b/compiled/facebook-www/React-prod.classic.js index 507eac9565b79..1ad6d3c9ac720 100644 --- a/compiled/facebook-www/React-prod.classic.js +++ b/compiled/facebook-www/React-prod.classic.js @@ -618,4 +618,4 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactCurrentDispatcher.current.useTransition(); }; -exports.version = "18.3.0-www-classic-707cd731"; +exports.version = "18.3.0-www-classic-863536b2"; diff --git a/compiled/facebook-www/React-prod.modern.js b/compiled/facebook-www/React-prod.modern.js index f0c20a0e84960..81d75b6c69f87 100644 --- a/compiled/facebook-www/React-prod.modern.js +++ b/compiled/facebook-www/React-prod.modern.js @@ -610,4 +610,4 @@ exports.useSyncExternalStore = function ( exports.useTransition = function () { return ReactCurrentDispatcher.current.useTransition(); }; -exports.version = "18.3.0-www-modern-f4321f8c"; +exports.version = "18.3.0-www-modern-19268851"; diff --git a/compiled/facebook-www/ReactART-dev.classic.js b/compiled/facebook-www/ReactART-dev.classic.js index cfc6ae78ef64f..018f8e9d7a9c5 100644 --- a/compiled/facebook-www/ReactART-dev.classic.js +++ b/compiled/facebook-www/ReactART-dev.classic.js @@ -66,7 +66,7 @@ if (__DEV__) { return self; } - var ReactVersion = "18.3.0-www-classic-fc548c7d"; + var ReactVersion = "18.3.0-www-classic-162b9b5d"; var LegacyRoot = 0; var ConcurrentRoot = 1; @@ -187,7 +187,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, false is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -28106,9 +28107,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } diff --git a/compiled/facebook-www/ReactART-dev.modern.js b/compiled/facebook-www/ReactART-dev.modern.js index 1eb931734066f..777fbd9f29487 100644 --- a/compiled/facebook-www/ReactART-dev.modern.js +++ b/compiled/facebook-www/ReactART-dev.modern.js @@ -66,7 +66,7 @@ if (__DEV__) { return self; } - var ReactVersion = "18.3.0-www-modern-cdfb5e55"; + var ReactVersion = "18.3.0-www-modern-4bc0b3fd"; var LegacyRoot = 0; var ConcurrentRoot = 1; @@ -187,7 +187,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, true is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -27756,9 +27757,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } diff --git a/compiled/facebook-www/ReactDOM-dev.classic.js b/compiled/facebook-www/ReactDOM-dev.classic.js index ace995c85be2f..e30d52e0aa637 100644 --- a/compiled/facebook-www/ReactDOM-dev.classic.js +++ b/compiled/facebook-www/ReactDOM-dev.classic.js @@ -152,7 +152,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, false is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -33982,9 +33983,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } @@ -35723,7 +35836,7 @@ if (__DEV__) { return root; } - var ReactVersion = "18.3.0-www-classic-356e851e"; + var ReactVersion = "18.3.0-www-classic-4bb1faa4"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOM-dev.modern.js b/compiled/facebook-www/ReactDOM-dev.modern.js index f763ab49636ff..a7a70c994a6bc 100644 --- a/compiled/facebook-www/ReactDOM-dev.modern.js +++ b/compiled/facebook-www/ReactDOM-dev.modern.js @@ -138,7 +138,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, true is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -33818,9 +33819,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } @@ -35559,7 +35672,7 @@ if (__DEV__) { return root; } - var ReactVersion = "18.3.0-www-modern-89b71e92"; + var ReactVersion = "18.3.0-www-modern-5bb6a208"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOM-profiling.modern.js b/compiled/facebook-www/ReactDOM-profiling.modern.js index 82c73ea51bdea..8bcccde80118b 100644 --- a/compiled/facebook-www/ReactDOM-profiling.modern.js +++ b/compiled/facebook-www/ReactDOM-profiling.modern.js @@ -17458,7 +17458,7 @@ Internals.Events = [ var devToolsConfig$jscomp$inline_1863 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-modern-cdfb5e55", + version: "18.3.0-www-modern-4bc0b3fd", rendererPackageName: "react-dom" }; (function (internals) { @@ -17503,7 +17503,7 @@ var devToolsConfig$jscomp$inline_1863 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-modern-cdfb5e55" + reconcilerVersion: "18.3.0-www-modern-4bc0b3fd" }); exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; exports.createPortal = function (children, container) { @@ -17761,7 +17761,7 @@ exports.useFormState = function (action, initialState, permalink) { exports.useFormStatus = function () { return ReactCurrentDispatcher$2.current.useHostTransitionStatus(); }; -exports.version = "18.3.0-www-modern-cdfb5e55"; +exports.version = "18.3.0-www-modern-4bc0b3fd"; "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 76ed394fc35e2..e57bc635351cd 100644 --- a/compiled/facebook-www/ReactDOMServer-dev.classic.js +++ b/compiled/facebook-www/ReactDOMServer-dev.classic.js @@ -19,7 +19,7 @@ if (__DEV__) { var React = require("react"); var ReactDOM = require("react-dom"); - var ReactVersion = "18.3.0-www-classic-1211dccf"; + var ReactVersion = "18.3.0-www-classic-593936b0"; // This refers to a WWW module. var warningWWW = require("warning"); @@ -88,7 +88,8 @@ if (__DEV__) { var enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, enableUseDeferredValueInitialArg = dynamicFeatureFlags.enableUseDeferredValueInitialArg, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, false is used for a new modern build. var enableFloat = true; // ATTENTION diff --git a/compiled/facebook-www/ReactDOMServer-dev.modern.js b/compiled/facebook-www/ReactDOMServer-dev.modern.js index 0fef6195f9158..dfa29bd621148 100644 --- a/compiled/facebook-www/ReactDOMServer-dev.modern.js +++ b/compiled/facebook-www/ReactDOMServer-dev.modern.js @@ -19,7 +19,7 @@ if (__DEV__) { var React = require("react"); var ReactDOM = require("react-dom"); - var ReactVersion = "18.3.0-www-modern-ba9c385a"; + var ReactVersion = "18.3.0-www-modern-320b188c"; // This refers to a WWW module. var warningWWW = require("warning"); @@ -88,7 +88,8 @@ if (__DEV__) { var enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, enableUseDeferredValueInitialArg = dynamicFeatureFlags.enableUseDeferredValueInitialArg, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. var enableFloat = true; // ATTENTION diff --git a/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js b/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js index e10b4fbee4edd..2f6d98b6376f6 100644 --- a/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js +++ b/compiled/facebook-www/ReactDOMServerStreaming-dev.modern.js @@ -86,7 +86,8 @@ if (__DEV__) { var enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, enableUseDeferredValueInitialArg = dynamicFeatureFlags.enableUseDeferredValueInitialArg, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. var enableFloat = true; // ATTENTION diff --git a/compiled/facebook-www/ReactDOMTesting-dev.classic.js b/compiled/facebook-www/ReactDOMTesting-dev.classic.js index 84b62d399f354..3c0c8140c5b89 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.classic.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.classic.js @@ -144,7 +144,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, false is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -34606,9 +34607,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } @@ -36347,7 +36460,7 @@ if (__DEV__) { return root; } - var ReactVersion = "18.3.0-www-classic-707cd731"; + var ReactVersion = "18.3.0-www-classic-863536b2"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOMTesting-dev.modern.js b/compiled/facebook-www/ReactDOMTesting-dev.modern.js index 170aefad65daa..c2d3013e8d8a3 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.modern.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.modern.js @@ -130,7 +130,8 @@ if (__DEV__) { dynamicFeatureFlags.transitionLaneExpirationMs, enableInfiniteRenderLoopDetection = dynamicFeatureFlags.enableInfiniteRenderLoopDetection, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext, + useModernStrictMode = dynamicFeatureFlags.useModernStrictMode; // On WWW, true is used for a new modern build. var enableProfilerTimer = true; var enableProfilerCommitHooks = true; var enableProfilerNestedUpdatePhase = true; @@ -34442,9 +34443,121 @@ if (__DEV__) { } } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + parentFiber, + isInStrictMode + ) { + if ( + (parentFiber.subtreeFlags & (PlacementDEV | Visibility)) === + NoFlags$1 + ) { + // Parent's descendants have already had effects double invoked. + // Early exit to avoid unnecessary tree traversal. + return; + } + + var child = parentFiber.child; + + while (child !== null) { + doubleInvokeEffectsInDEVIfNecessary(root, child, isInStrictMode); + child = child.sibling; + } + } // Unconditionally disconnects and connects passive and layout effects. + + function doubleInvokeEffectsOnFiber(root, fiber) { + var shouldDoubleInvokePassiveEffects = + arguments.length > 2 && arguments[2] !== undefined + ? arguments[2] + : true; + disappearLayoutEffects(fiber); + + if (shouldDoubleInvokePassiveEffects) { + disconnectPassiveEffect(fiber); + } + + reappearLayoutEffects(root, fiber.alternate, fiber, false); + + if (shouldDoubleInvokePassiveEffects) { + reconnectPassiveEffects(root, fiber, NoLanes, null, false); + } + } + + function doubleInvokeEffectsInDEVIfNecessary( + root, + fiber, + parentIsInStrictMode + ) { + var isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + var isInStrictMode = parentIsInStrictMode || isStrictModeFiber; // First case: the fiber **is not** of type OffscreenComponent. No + // special rules apply to double invoking effects. + + if (fiber.tag !== OffscreenComponent) { + if (fiber.flags & PlacementDEV) { + setCurrentFiber(fiber); + + if (isInStrictMode) { + doubleInvokeEffectsOnFiber( + root, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ); + } + + resetCurrentFiber(); + } else { + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + return; + } // Second case: the fiber **is** of type OffscreenComponent. + // This branch contains cases specific to Offscreen. + + if (fiber.memoizedState === null) { + // Only consider Offscreen that is visible. + // TODO (Offscreen) Handle manual mode. + setCurrentFiber(fiber); + + if (isInStrictMode && fiber.flags & Visibility) { + // Double invoke effects on Offscreen's subtree only + // if it is visible and its visibility has changed. + doubleInvokeEffectsOnFiber(root, fiber); + } else if (fiber.subtreeFlags & PlacementDEV) { + // Something in the subtree could have been suspended. + // We need to continue traversal and find newly inserted fibers. + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + fiber, + isInStrictMode + ); + } + + resetCurrentFiber(); + } + } + function commitDoubleInvokeEffectsInDEV(root, hasPassiveEffects) { { - { + if (useModernStrictMode && root.tag !== LegacyRoot) { + var doubleInvokeEffects = true; + + if ( + root.tag === ConcurrentRoot && + !(root.current.mode & (StrictLegacyMode | StrictEffectsMode)) + ) { + doubleInvokeEffects = false; + } + + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root, + root.current, + doubleInvokeEffects + ); + } else { legacyCommitDoubleInvokeEffectsInDEV(root.current, hasPassiveEffects); } } @@ -36183,7 +36296,7 @@ if (__DEV__) { return root; } - var ReactVersion = "18.3.0-www-modern-b7104184"; + var ReactVersion = "18.3.0-www-modern-617357dc"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactIs-dev.classic.js b/compiled/facebook-www/ReactIs-dev.classic.js index 00be917313512..1bd8c3bc78090 100644 --- a/compiled/facebook-www/ReactIs-dev.classic.js +++ b/compiled/facebook-www/ReactIs-dev.classic.js @@ -46,7 +46,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, false is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, false is used for a new modern build. var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); function isValidElementType(type) { diff --git a/compiled/facebook-www/ReactIs-dev.modern.js b/compiled/facebook-www/ReactIs-dev.modern.js index c7eca24d881f1..f872c6bef144a 100644 --- a/compiled/facebook-www/ReactIs-dev.modern.js +++ b/compiled/facebook-www/ReactIs-dev.modern.js @@ -46,7 +46,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); function isValidElementType(type) { diff --git a/compiled/facebook-www/ReactServer-dev.modern.js b/compiled/facebook-www/ReactServer-dev.modern.js index 0d086b6981892..7de57b52392a4 100644 --- a/compiled/facebook-www/ReactServer-dev.modern.js +++ b/compiled/facebook-www/ReactServer-dev.modern.js @@ -84,7 +84,8 @@ if (__DEV__) { var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing, enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing, - enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; // On WWW, true is used for a new modern build. + enableRenderableContext = dynamicFeatureFlags.enableRenderableContext; + // On WWW, true is used for a new modern build. /** * Keeps track of the current Cache dispatcher. @@ -2662,7 +2663,7 @@ if (__DEV__) { console["error"](error); }; - var ReactVersion = "18.3.0-www-modern-508518a5"; + var ReactVersion = "18.3.0-www-modern-a192cdd2"; // Patch fetch var Children = {