Skip to content

Commit 97272c8

Browse files
committed
Hot reloading: Avoid stack overflow on wide trees (facebook#34145)
Every sibling added to the stack here. Not sure this needs to be recursive at all but certainly for siblings this can just be a loop. DiffTrain build for [cf6e502](facebook@cf6e502)
1 parent 2a60c44 commit 97272c8

24 files changed

+317
-322
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.2.0-native-fb-3958d5d8-20250807
1+
19.2.0-native-fb-cf6e502e-20250809

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<9748494ef58ca9678ebc1ab0fd69f45e>>
10+
* @generated SignedSource<<814143b0a72a3c767ca837584edfcc09>>
1111
*/
1212

1313
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
404404
exports.useFormStatus = function () {
405405
return resolveDispatcher().useHostTransitionStatus();
406406
};
407-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
407+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";
408408
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<2566bac0a6ef055d3a46297f32830593>>
10+
* @generated SignedSource<<f7ed17f78801161dd551499fe28170e2>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
206+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<2566bac0a6ef055d3a46297f32830593>>
10+
* @generated SignedSource<<f7ed17f78801161dd551499fe28170e2>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
206+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<7b2190b1f4535f393a8ef5000c9d31cf>>
10+
* @generated SignedSource<<2ddc1898fd20d1885eb3f7c86cf1642e>>
1111
*/
1212

1313
/*
@@ -4916,53 +4916,52 @@ __DEV__ &&
49164916
updatedFamilies,
49174917
staleFamilies
49184918
) {
4919-
var alternate = fiber.alternate,
4920-
child = fiber.child,
4921-
sibling = fiber.sibling,
4922-
tag = fiber.tag,
4923-
type = fiber.type,
4924-
candidateType = null;
4925-
switch (tag) {
4926-
case 0:
4927-
case 15:
4928-
case 1:
4929-
candidateType = type;
4930-
break;
4931-
case 11:
4932-
candidateType = type.render;
4933-
}
4934-
if (null === resolveFamily)
4935-
throw Error("Expected resolveFamily to be set during hot reload.");
4936-
var needsRender = !1;
4937-
type = !1;
4938-
null !== candidateType &&
4939-
((candidateType = resolveFamily(candidateType)),
4940-
void 0 !== candidateType &&
4941-
(staleFamilies.has(candidateType)
4942-
? (type = !0)
4943-
: updatedFamilies.has(candidateType) &&
4944-
(1 === tag ? (type = !0) : (needsRender = !0))));
4945-
null !== failedBoundaries &&
4946-
(failedBoundaries.has(fiber) ||
4947-
(null !== alternate && failedBoundaries.has(alternate))) &&
4948-
(type = !0);
4949-
type && (fiber._debugNeedsRemount = !0);
4950-
if (type || needsRender)
4951-
(alternate = enqueueConcurrentRenderForLane(fiber, 2)),
4952-
null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
4953-
null === child ||
4954-
type ||
4955-
scheduleFibersWithFamiliesRecursively(
4956-
child,
4957-
updatedFamilies,
4958-
staleFamilies
4959-
);
4960-
null !== sibling &&
4961-
scheduleFibersWithFamiliesRecursively(
4962-
sibling,
4963-
updatedFamilies,
4964-
staleFamilies
4965-
);
4919+
do {
4920+
var _fiber = fiber,
4921+
alternate = _fiber.alternate,
4922+
child = _fiber.child,
4923+
sibling = _fiber.sibling,
4924+
tag = _fiber.tag;
4925+
_fiber = _fiber.type;
4926+
var candidateType = null;
4927+
switch (tag) {
4928+
case 0:
4929+
case 15:
4930+
case 1:
4931+
candidateType = _fiber;
4932+
break;
4933+
case 11:
4934+
candidateType = _fiber.render;
4935+
}
4936+
if (null === resolveFamily)
4937+
throw Error("Expected resolveFamily to be set during hot reload.");
4938+
var needsRender = !1;
4939+
_fiber = !1;
4940+
null !== candidateType &&
4941+
((candidateType = resolveFamily(candidateType)),
4942+
void 0 !== candidateType &&
4943+
(staleFamilies.has(candidateType)
4944+
? (_fiber = !0)
4945+
: updatedFamilies.has(candidateType) &&
4946+
(1 === tag ? (_fiber = !0) : (needsRender = !0))));
4947+
null !== failedBoundaries &&
4948+
(failedBoundaries.has(fiber) ||
4949+
(null !== alternate && failedBoundaries.has(alternate))) &&
4950+
(_fiber = !0);
4951+
_fiber && (fiber._debugNeedsRemount = !0);
4952+
if (_fiber || needsRender)
4953+
(alternate = enqueueConcurrentRenderForLane(fiber, 2)),
4954+
null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
4955+
null === child ||
4956+
_fiber ||
4957+
scheduleFibersWithFamiliesRecursively(
4958+
child,
4959+
updatedFamilies,
4960+
staleFamilies
4961+
);
4962+
if (null === sibling) break;
4963+
fiber = sibling;
4964+
} while (1);
49664965
}
49674966
function FiberNode(tag, pendingProps, key, mode) {
49684967
this.tag = tag;
@@ -29323,11 +29322,11 @@ __DEV__ &&
2932329322
};
2932429323
(function () {
2932529324
var isomorphicReactPackageVersion = React.version;
29326-
if ("19.2.0-native-fb-3958d5d8-20250807" !== isomorphicReactPackageVersion)
29325+
if ("19.2.0-native-fb-cf6e502e-20250809" !== isomorphicReactPackageVersion)
2932729326
throw Error(
2932829327
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2932929328
(isomorphicReactPackageVersion +
29330-
"\n - react-dom: 19.2.0-native-fb-3958d5d8-20250807\nLearn more: https://react.dev/warnings/version-mismatch")
29329+
"\n - react-dom: 19.2.0-native-fb-cf6e502e-20250809\nLearn more: https://react.dev/warnings/version-mismatch")
2933129330
);
2933229331
})();
2933329332
("function" === typeof Map &&
@@ -29364,10 +29363,10 @@ __DEV__ &&
2936429363
!(function () {
2936529364
var internals = {
2936629365
bundleType: 1,
29367-
version: "19.2.0-native-fb-3958d5d8-20250807",
29366+
version: "19.2.0-native-fb-cf6e502e-20250809",
2936829367
rendererPackageName: "react-dom",
2936929368
currentDispatcherRef: ReactSharedInternals,
29370-
reconcilerVersion: "19.2.0-native-fb-3958d5d8-20250807"
29369+
reconcilerVersion: "19.2.0-native-fb-cf6e502e-20250809"
2937129370
};
2937229371
internals.overrideHookState = overrideHookState;
2937329372
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -29506,5 +29505,5 @@ __DEV__ &&
2950629505
listenToAllSupportedEvents(container);
2950729506
return new ReactDOMHydrationRoot(initialChildren);
2950829507
};
29509-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
29508+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";
2951029509
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<da33ad4a2b113206a140aaf58ca534d7>>
10+
* @generated SignedSource<<8ee6709b2a208ab3d97dd6398a309798>>
1111
*/
1212

1313
/*
@@ -17128,14 +17128,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1712817128
};
1712917129
var isomorphicReactPackageVersion$jscomp$inline_2002 = React.version;
1713017130
if (
17131-
"19.2.0-native-fb-3958d5d8-20250807" !==
17131+
"19.2.0-native-fb-cf6e502e-20250809" !==
1713217132
isomorphicReactPackageVersion$jscomp$inline_2002
1713317133
)
1713417134
throw Error(
1713517135
formatProdErrorMessage(
1713617136
527,
1713717137
isomorphicReactPackageVersion$jscomp$inline_2002,
17138-
"19.2.0-native-fb-3958d5d8-20250807"
17138+
"19.2.0-native-fb-cf6e502e-20250809"
1713917139
)
1714017140
);
1714117141
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17157,10 +17157,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1715717157
};
1715817158
var internals$jscomp$inline_2521 = {
1715917159
bundleType: 0,
17160-
version: "19.2.0-native-fb-3958d5d8-20250807",
17160+
version: "19.2.0-native-fb-cf6e502e-20250809",
1716117161
rendererPackageName: "react-dom",
1716217162
currentDispatcherRef: ReactSharedInternals,
17163-
reconcilerVersion: "19.2.0-native-fb-3958d5d8-20250807"
17163+
reconcilerVersion: "19.2.0-native-fb-cf6e502e-20250809"
1716417164
};
1716517165
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1716617166
var hook$jscomp$inline_2522 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17258,4 +17258,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1725817258
listenToAllSupportedEvents(container);
1725917259
return new ReactDOMHydrationRoot(initialChildren);
1726017260
};
17261-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
17261+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<bd3b250ced791d1344fc726fc32fb974>>
10+
* @generated SignedSource<<3fba4ba9ccc9c0e010588d789b6a7b5c>>
1111
*/
1212

1313
/*
@@ -19140,14 +19140,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1914019140
};
1914119141
var isomorphicReactPackageVersion$jscomp$inline_2253 = React.version;
1914219142
if (
19143-
"19.2.0-native-fb-3958d5d8-20250807" !==
19143+
"19.2.0-native-fb-cf6e502e-20250809" !==
1914419144
isomorphicReactPackageVersion$jscomp$inline_2253
1914519145
)
1914619146
throw Error(
1914719147
formatProdErrorMessage(
1914819148
527,
1914919149
isomorphicReactPackageVersion$jscomp$inline_2253,
19150-
"19.2.0-native-fb-3958d5d8-20250807"
19150+
"19.2.0-native-fb-cf6e502e-20250809"
1915119151
)
1915219152
);
1915319153
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19169,10 +19169,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1916919169
};
1917019170
var internals$jscomp$inline_2260 = {
1917119171
bundleType: 0,
19172-
version: "19.2.0-native-fb-3958d5d8-20250807",
19172+
version: "19.2.0-native-fb-cf6e502e-20250809",
1917319173
rendererPackageName: "react-dom",
1917419174
currentDispatcherRef: ReactSharedInternals,
19175-
reconcilerVersion: "19.2.0-native-fb-3958d5d8-20250807",
19175+
reconcilerVersion: "19.2.0-native-fb-cf6e502e-20250809",
1917619176
getLaneLabelMap: function () {
1917719177
for (
1917819178
var map = new Map(), lane = 1, index$321 = 0;
@@ -19286,4 +19286,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1928619286
listenToAllSupportedEvents(container);
1928719287
return new ReactDOMHydrationRoot(initialChildren);
1928819288
};
19289-
exports.version = "19.2.0-native-fb-3958d5d8-20250807";
19289+
exports.version = "19.2.0-native-fb-cf6e502e-20250809";

0 commit comments

Comments
 (0)