[Bugfix] Infinite uDV loop in popstate event (#32821)

Found a bug that occurs during a specific combination of very subtle
implementation details.

It occurs sometimes (not always) when 1) a transition is scheduled
during a popstate event, and 2) as a result, a new value is passed to an
already-mounted useDeferredValue hook.

The fix is relatively straightforward, and I found it almost
immediately; it took a bit longer to figure out exactly how the scenario
occurred in production and create a test case to simulate it.

Rather than couple the test to the implementation details, I've chosen
to keep it as high-level as possible so that it doesn't break if the
details change. In the future, it might not be trigger the exact set of
internal circumstances anymore, but it could be useful for catching
similar bugs because it represents a realistic real world situation —
namely, switching tabs repeatedly in an app that uses useDeferredValue.

DiffTrain build for [6a7650c75c](https://github.com/facebook/react/commit/6a7650c75c1bc110517bd9b3eefdc66eadbb9cbf)
This commit is contained in:
acdlite
2025-04-04 21:55:17 -07:00
parent 28c3ec94a9
commit dc32e7cb2c
23 changed files with 101 additions and 101 deletions
+1 -1
View File
@@ -1 +1 @@
19.2.0-native-fb-efb22d88-20250404
19.2.0-native-fb-6a7650c7-20250405
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<6cfd47f2b21b97b867be835cd77d7d5a>>
* @generated SignedSource<<ea8e5d8de6f333cf51feb72e49979c05>>
*/
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<9609c3c47ee272adad57ce5c02b7bc80>>
* @generated SignedSource<<3837e61bda649f4f83575a3fa138f9bc>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<9609c3c47ee272adad57ce5c02b7bc80>>
* @generated SignedSource<<3837e61bda649f4f83575a3fa138f9bc>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<be3c156a3439b7c200b4036256b4f46e>>
* @generated SignedSource<<6b3efa4806855987b64a7317b4a298cd>>
*/
/*
@@ -7977,7 +7977,7 @@ __DEV__ &&
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -25769,11 +25769,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-efb22d88-20250404" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-6a7650c7-20250405" !== 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.2.0-native-fb-efb22d88-20250404\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-6a7650c7-20250405\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -25810,10 +25810,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -25957,5 +25957,5 @@ __DEV__ &&
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<6ccc9b31afcf0591c941acd8147f5042>>
* @generated SignedSource<<18d0107213b347f0b8d51a335717da4f>>
*/
/*
@@ -5310,7 +5310,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -16004,14 +16004,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_1789 = React.version;
if (
"19.2.0-native-fb-efb22d88-20250404" !==
"19.2.0-native-fb-6a7650c7-20250405" !==
isomorphicReactPackageVersion$jscomp$inline_1789
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1789,
"19.2.0-native-fb-efb22d88-20250404"
"19.2.0-native-fb-6a7650c7-20250405"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16033,10 +16033,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2239 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2240 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16140,4 +16140,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<b8d634fd9ab90a80e42879d650b44b53>>
* @generated SignedSource<<0a733889ae72898021a337cf766e9ca5>>
*/
/*
@@ -5469,7 +5469,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -16697,14 +16697,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_1886 = React.version;
if (
"19.2.0-native-fb-efb22d88-20250404" !==
"19.2.0-native-fb-6a7650c7-20250405" !==
isomorphicReactPackageVersion$jscomp$inline_1886
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1886,
"19.2.0-native-fb-efb22d88-20250404"
"19.2.0-native-fb-6a7650c7-20250405"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16726,10 +16726,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_1893 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404",
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$294 = 0;
@@ -16848,4 +16848,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<a4117b8695e0bb8c6e3f4a92b08a43e4>>
* @generated SignedSource<<3c46d1d9ec7a5dc3375998a8ed253bf1>>
*/
/*
@@ -7985,7 +7985,7 @@ __DEV__ &&
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -25830,11 +25830,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-efb22d88-20250404" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-6a7650c7-20250405" !== 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.2.0-native-fb-efb22d88-20250404\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-6a7650c7-20250405\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -25871,10 +25871,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26334,7 +26334,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<3d71bd2aa496d54cc82b8e1eaba30156>>
* @generated SignedSource<<d73473e1ae2573ba802eafcafab105e9>>
*/
/*
@@ -5310,7 +5310,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -16015,14 +16015,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_1790 = React.version;
if (
"19.2.0-native-fb-efb22d88-20250404" !==
"19.2.0-native-fb-6a7650c7-20250405" !==
isomorphicReactPackageVersion$jscomp$inline_1790
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1790,
"19.2.0-native-fb-efb22d88-20250404"
"19.2.0-native-fb-6a7650c7-20250405"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16044,10 +16044,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2242 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2243 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16305,4 +16305,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<cfc6357d7ba2d65960ac4500c11de855>>
* @generated SignedSource<<c1c7f1f6152a02405a57ad3e92157e95>>
*/
/*
@@ -5473,7 +5473,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -16712,14 +16712,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_1887 = React.version;
if (
"19.2.0-native-fb-efb22d88-20250404" !==
"19.2.0-native-fb-6a7650c7-20250405" !==
isomorphicReactPackageVersion$jscomp$inline_1887
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1887,
"19.2.0-native-fb-efb22d88-20250404"
"19.2.0-native-fb-6a7650c7-20250405"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16741,10 +16741,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_1894 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404",
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$294 = 0;
@@ -17017,7 +17017,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<956bdcc3adadc63113e627052243deef>>
* @generated SignedSource<<51071ab6093199c78b59aa6bb5faacb8>>
*/
"use strict";
@@ -5257,7 +5257,7 @@ __DEV__ &&
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -15402,10 +15402,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -15550,5 +15550,5 @@ __DEV__ &&
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<cc40e85aaec47c2b80b4cff583e54a2f>>
* @generated SignedSource<<bbecf262855e0dc1a85a186078c973cb>>
*/
"use strict";
@@ -3491,7 +3491,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -9704,10 +9704,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1415 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1416 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -9843,4 +9843,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<9f802030b4c9e1a1cf670497f5328e92>>
* @generated SignedSource<<1b18a1d8e5ae14c85fa3bc58c8e8312c>>
*/
"use strict";
@@ -3607,7 +3607,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -10317,10 +10317,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1228 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404",
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$148 = 0;
@@ -10471,4 +10471,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<3b07e6ab8378673f4ac31ab1d9481b82>>
* @generated SignedSource<<e34bf86ae98e13de41778cfe69526788>>
*/
"use strict";
@@ -1412,7 +1412,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<197d834055409e5d34693dbc4a7ab68b>>
* @generated SignedSource<<1b55958a29c8727e5ca64ff543913e3b>>
*/
"use strict";
@@ -587,4 +587,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<be51bd70b4dde8ed45a799a8186ff67e>>
* @generated SignedSource<<e88dda23ae2604affda18bd56153f6ff>>
*/
"use strict";
@@ -591,7 +591,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-efb22d88-20250404";
exports.version = "19.2.0-native-fb-6a7650c7-20250405";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -1 +1 @@
efb22d8850382c3b53c1b2b8d22036d7e6cc9488
6a7650c75c1bc110517bd9b3eefdc66eadbb9cbf
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<83c93d26c28953a6ce3be771bb57c68d>>
* @generated SignedSource<<70e29b4fa2d455b6e390f1a3cf671099>>
*/
"use strict";
@@ -6152,7 +6152,7 @@ __DEV__ &&
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -17134,10 +17134,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<48b980b93d76d19321726d20ef5bb9ea>>
* @generated SignedSource<<1fddbcfc2db02f03a74cf130afab7ca0>>
*/
"use strict";
@@ -4732,7 +4732,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -10919,10 +10919,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1222 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1222.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<04ee9d95a8de2b50d94456f65eb308a3>>
* @generated SignedSource<<ea09023b35a9ae88aad9e96c8b6ce035>>
*/
"use strict";
@@ -4882,7 +4882,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -11616,10 +11616,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1317 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1317.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<5ac2bc2ca80acc818a4103559c400fbb>>
* @generated SignedSource<<1fa1bf0cd97720e7e13b8011b591a555>>
*/
"use strict";
@@ -6276,7 +6276,7 @@ __DEV__ &&
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -17312,11 +17312,11 @@ __DEV__ &&
shouldSuspendImpl = newShouldSuspendImpl;
};
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-efb22d88-20250404" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-6a7650c7-20250405" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-efb22d88-20250404\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-6a7650c7-20250405\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -17342,10 +17342,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<1a1b78ead4b7a94ca5c9db133b18c81d>>
* @generated SignedSource<<e317a56a76fd6dfd82447509e2043e16>>
*/
"use strict";
@@ -4896,7 +4896,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -11016,11 +11016,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-efb22d88-20250404" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-6a7650c7-20250405" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-efb22d88-20250404\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-6a7650c7-20250405\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -11069,10 +11069,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1285 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1285.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<4c1626e25eaee115230cd25944d7cf54>>
* @generated SignedSource<<d154f4f68e0b2a6935c1c05fb22cb71b>>
*/
"use strict";
@@ -5046,7 +5046,7 @@ function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
objectIs(hook, prevValue) || (didReceiveUpdate = !0),
hook
);
if (0 === (renderLanes & 42))
if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824))
return (didReceiveUpdate = !0), (hook.memoizedState = value);
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
@@ -11711,11 +11711,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-efb22d88-20250404" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-6a7650c7-20250405" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-efb22d88-20250404\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-6a7650c7-20250405\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -11764,10 +11764,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1380 = {
bundleType: 0,
version: "19.2.0-native-fb-efb22d88-20250404",
version: "19.2.0-native-fb-6a7650c7-20250405",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-efb22d88-20250404"
reconcilerVersion: "19.2.0-native-fb-6a7650c7-20250405"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1380.rendererConfig = extraDevToolsConfig);