Skip to content

Commit 0745473

Browse files
[DevTools] Fix null ref crash in ContextMenu when items list is empty (facebook#35929)
Co-authored-by: Sebastian Sebbie Silbermann <sebastian.silbermann@vercel.com> DiffTrain build for [4610359](facebook@4610359)
1 parent 53e06ce commit 0745473

21 files changed

Lines changed: 299 additions & 165 deletions

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.3.0-native-fb-e0cc7202-20260227
1+
19.3.0-native-fb-46103596-20260305

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<<29f282fd5626360cf98b0fb28ba812d8>>
10+
* @generated SignedSource<<7f42f2c1733cacf6fb8fa2f757f29652>>
1111
*/
1212

1313
"use strict";
@@ -410,5 +410,5 @@ __DEV__ &&
410410
exports.useFormStatus = function () {
411411
return resolveDispatcher().useHostTransitionStatus();
412412
};
413-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
413+
exports.version = "19.3.0-native-fb-46103596-20260305";
414414
})();

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<<aa4e257d61349133923790e34ed92918>>
10+
* @generated SignedSource<<3533758609354165c10174df49bb3a31>>
1111
*/
1212

1313
"use strict";
@@ -209,4 +209,4 @@ exports.useFormState = function (action, initialState, permalink) {
209209
exports.useFormStatus = function () {
210210
return ReactSharedInternals.H.useHostTransitionStatus();
211211
};
212-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
212+
exports.version = "19.3.0-native-fb-46103596-20260305";

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<<aa4e257d61349133923790e34ed92918>>
10+
* @generated SignedSource<<3533758609354165c10174df49bb3a31>>
1111
*/
1212

1313
"use strict";
@@ -209,4 +209,4 @@ exports.useFormState = function (action, initialState, permalink) {
209209
exports.useFormStatus = function () {
210210
return ReactSharedInternals.H.useHostTransitionStatus();
211211
};
212-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
212+
exports.version = "19.3.0-native-fb-46103596-20260305";

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

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<5e8b9e28aa551022b737796c5c6f1697>>
10+
* @generated SignedSource<<eda4d3a4e14d559f5f689baa1fe4a0b0>>
1111
*/
1212

1313
/*
@@ -8660,7 +8660,7 @@ __DEV__ &&
86608660
payload
86618661
) {
86628662
if (isRenderPhaseUpdate(fiber))
8663-
throw Error("Cannot update form state while rendering.");
8663+
throw Error("Cannot update action state while rendering.");
86648664
fiber = actionQueue.action;
86658665
if (null !== fiber) {
86668666
var actionNode = {
@@ -13271,6 +13271,7 @@ __DEV__ &&
1327113271
case "script":
1327213272
nextResource = nextResource.createElement("div");
1327313273
didWarnScriptTags ||
13274+
isScriptDataBlock(newProps) ||
1327413275
(console.error(
1327513276
"Encountered a script tag while rendering React component. Scripts inside React components are never executed when rendering on the client. Consider using template tag instead (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template)."
1327613277
),
@@ -14454,8 +14455,8 @@ __DEV__ &&
1445414455
);
1445514456
}
1445614457
enableFragmentRefsInstanceHandles &&
14457-
null != childInstance.unstable_reactFragments &&
14458-
childInstance.unstable_reactFragments.delete(fragmentInstance);
14458+
null != childInstance.reactFragments &&
14459+
childInstance.reactFragments.delete(fragmentInstance);
1445914460
}
1446014461
}
1446114462
if (isHostParent(parent)) break;
@@ -23689,6 +23690,37 @@ __DEV__ &&
2368923690
? HostContextNamespaceNone
2369023691
: parentNamespace;
2369123692
}
23693+
function isScriptDataBlock(props) {
23694+
props = props.type;
23695+
if ("string" !== typeof props || "" === props) return !1;
23696+
props = props.toLowerCase();
23697+
if (
23698+
"module" === props ||
23699+
"importmap" === props ||
23700+
"speculationrules" === props
23701+
)
23702+
return !1;
23703+
switch (props) {
23704+
case "application/ecmascript":
23705+
case "application/javascript":
23706+
case "application/x-ecmascript":
23707+
case "application/x-javascript":
23708+
case "text/ecmascript":
23709+
case "text/javascript":
23710+
case "text/javascript1.0":
23711+
case "text/javascript1.1":
23712+
case "text/javascript1.2":
23713+
case "text/javascript1.3":
23714+
case "text/javascript1.4":
23715+
case "text/javascript1.5":
23716+
case "text/jscript":
23717+
case "text/livescript":
23718+
case "text/x-ecmascript":
23719+
case "text/x-javascript":
23720+
return !1;
23721+
}
23722+
return !0;
23723+
}
2369223724
function shouldSetTextContent(type, props) {
2369323725
return (
2369423726
"textarea" === type ||
@@ -24166,9 +24198,9 @@ __DEV__ &&
2416624198
}
2416724199
function addFragmentHandleToInstance(instance, fragmentInstance) {
2416824200
enableFragmentRefsInstanceHandles &&
24169-
(null == instance.unstable_reactFragments &&
24170-
(instance.unstable_reactFragments = new Set()),
24171-
instance.unstable_reactFragments.add(fragmentInstance));
24201+
(null == instance.reactFragments &&
24202+
(instance.reactFragments = new Set()),
24203+
instance.reactFragments.add(fragmentInstance));
2417224204
}
2417324205
function commitNewChildToFragmentInstance(childInstance, fragmentInstance) {
2417424206
if (3 !== childInstance.nodeType) {
@@ -30236,11 +30268,11 @@ __DEV__ &&
3023630268
};
3023730269
(function () {
3023830270
var isomorphicReactPackageVersion = React.version;
30239-
if ("19.3.0-native-fb-e0cc7202-20260227" !== isomorphicReactPackageVersion)
30271+
if ("19.3.0-native-fb-46103596-20260305" !== isomorphicReactPackageVersion)
3024030272
throw Error(
3024130273
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
3024230274
(isomorphicReactPackageVersion +
30243-
"\n - react-dom: 19.3.0-native-fb-e0cc7202-20260227\nLearn more: https://react.dev/warnings/version-mismatch")
30275+
"\n - react-dom: 19.3.0-native-fb-46103596-20260305\nLearn more: https://react.dev/warnings/version-mismatch")
3024430276
);
3024530277
})();
3024630278
("function" === typeof Map &&
@@ -30277,10 +30309,10 @@ __DEV__ &&
3027730309
!(function () {
3027830310
var internals = {
3027930311
bundleType: 1,
30280-
version: "19.3.0-native-fb-e0cc7202-20260227",
30312+
version: "19.3.0-native-fb-46103596-20260305",
3028130313
rendererPackageName: "react-dom",
3028230314
currentDispatcherRef: ReactSharedInternals,
30283-
reconcilerVersion: "19.3.0-native-fb-e0cc7202-20260227"
30315+
reconcilerVersion: "19.3.0-native-fb-46103596-20260305"
3028430316
};
3028530317
internals.overrideHookState = overrideHookState;
3028630318
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -30430,5 +30462,5 @@ __DEV__ &&
3043030462
listenToAllSupportedEvents(container);
3043130463
return new ReactDOMHydrationRoot(initialChildren);
3043230464
};
30433-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
30465+
exports.version = "19.3.0-native-fb-46103596-20260305";
3043430466
})();

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

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

1313
/*
@@ -9459,8 +9459,8 @@ function commitFragmentInstanceDeletionEffects(fiber) {
94599459
);
94609460
}
94619461
enableFragmentRefsInstanceHandles &&
9462-
null != childInstance.unstable_reactFragments &&
9463-
childInstance.unstable_reactFragments.delete(fragmentInstance);
9462+
null != childInstance.reactFragments &&
9463+
childInstance.reactFragments.delete(fragmentInstance);
94649464
}
94659465
}
94669466
if (isHostParent(parent)) break;
@@ -15934,9 +15934,8 @@ function addFragmentHandleToFiber(child, fragmentInstance) {
1593415934
}
1593515935
function addFragmentHandleToInstance(instance, fragmentInstance) {
1593615936
enableFragmentRefsInstanceHandles &&
15937-
(null == instance.unstable_reactFragments &&
15938-
(instance.unstable_reactFragments = new Set()),
15939-
instance.unstable_reactFragments.add(fragmentInstance));
15937+
(null == instance.reactFragments && (instance.reactFragments = new Set()),
15938+
instance.reactFragments.add(fragmentInstance));
1594015939
}
1594115940
function commitNewChildToFragmentInstance(childInstance, fragmentInstance) {
1594215941
if (3 !== childInstance.nodeType) {
@@ -17792,14 +17791,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1779217791
};
1779317792
var isomorphicReactPackageVersion$jscomp$inline_2048 = React.version;
1779417793
if (
17795-
"19.3.0-native-fb-e0cc7202-20260227" !==
17794+
"19.3.0-native-fb-46103596-20260305" !==
1779617795
isomorphicReactPackageVersion$jscomp$inline_2048
1779717796
)
1779817797
throw Error(
1779917798
formatProdErrorMessage(
1780017799
527,
1780117800
isomorphicReactPackageVersion$jscomp$inline_2048,
17802-
"19.3.0-native-fb-e0cc7202-20260227"
17801+
"19.3.0-native-fb-46103596-20260305"
1780317802
)
1780417803
);
1780517804
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17821,10 +17820,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1782117820
};
1782217821
var internals$jscomp$inline_2610 = {
1782317822
bundleType: 0,
17824-
version: "19.3.0-native-fb-e0cc7202-20260227",
17823+
version: "19.3.0-native-fb-46103596-20260305",
1782517824
rendererPackageName: "react-dom",
1782617825
currentDispatcherRef: ReactSharedInternals,
17827-
reconcilerVersion: "19.3.0-native-fb-e0cc7202-20260227"
17826+
reconcilerVersion: "19.3.0-native-fb-46103596-20260305"
1782817827
};
1782917828
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1783017829
var hook$jscomp$inline_2611 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17931,4 +17930,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1793117930
listenToAllSupportedEvents(container);
1793217931
return new ReactDOMHydrationRoot(initialChildren);
1793317932
};
17934-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
17933+
exports.version = "19.3.0-native-fb-46103596-20260305";

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

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

1313
/*
@@ -10211,8 +10211,8 @@ function commitFragmentInstanceDeletionEffects(fiber) {
1021110211
);
1021210212
}
1021310213
enableFragmentRefsInstanceHandles &&
10214-
null != childInstance.unstable_reactFragments &&
10215-
childInstance.unstable_reactFragments.delete(fragmentInstance);
10214+
null != childInstance.reactFragments &&
10215+
childInstance.reactFragments.delete(fragmentInstance);
1021610216
}
1021710217
}
1021810218
if (isHostParent(parent)) break;
@@ -17914,9 +17914,8 @@ function addFragmentHandleToFiber(child, fragmentInstance) {
1791417914
}
1791517915
function addFragmentHandleToInstance(instance, fragmentInstance) {
1791617916
enableFragmentRefsInstanceHandles &&
17917-
(null == instance.unstable_reactFragments &&
17918-
(instance.unstable_reactFragments = new Set()),
17919-
instance.unstable_reactFragments.add(fragmentInstance));
17917+
(null == instance.reactFragments && (instance.reactFragments = new Set()),
17918+
instance.reactFragments.add(fragmentInstance));
1792017919
}
1792117920
function commitNewChildToFragmentInstance(childInstance, fragmentInstance) {
1792217921
if (3 !== childInstance.nodeType) {
@@ -19781,14 +19780,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1978119780
};
1978219781
var isomorphicReactPackageVersion$jscomp$inline_2396 = React.version;
1978319782
if (
19784-
"19.3.0-native-fb-e0cc7202-20260227" !==
19783+
"19.3.0-native-fb-46103596-20260305" !==
1978519784
isomorphicReactPackageVersion$jscomp$inline_2396
1978619785
)
1978719786
throw Error(
1978819787
formatProdErrorMessage(
1978919788
527,
1979019789
isomorphicReactPackageVersion$jscomp$inline_2396,
19791-
"19.3.0-native-fb-e0cc7202-20260227"
19790+
"19.3.0-native-fb-46103596-20260305"
1979219791
)
1979319792
);
1979419793
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19810,10 +19809,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1981019809
};
1981119810
var internals$jscomp$inline_2403 = {
1981219811
bundleType: 0,
19813-
version: "19.3.0-native-fb-e0cc7202-20260227",
19812+
version: "19.3.0-native-fb-46103596-20260305",
1981419813
rendererPackageName: "react-dom",
1981519814
currentDispatcherRef: ReactSharedInternals,
19816-
reconcilerVersion: "19.3.0-native-fb-e0cc7202-20260227",
19815+
reconcilerVersion: "19.3.0-native-fb-46103596-20260305",
1981719816
getLaneLabelMap: function () {
1981819817
for (
1981919818
var map = new Map(), lane = 1, index$338 = 0;
@@ -19936,4 +19935,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1993619935
listenToAllSupportedEvents(container);
1993719936
return new ReactDOMHydrationRoot(initialChildren);
1993819937
};
19939-
exports.version = "19.3.0-native-fb-e0cc7202-20260227";
19938+
exports.version = "19.3.0-native-fb-46103596-20260305";

0 commit comments

Comments
 (0)