Skip to content

Commit

Permalink
[react-native] Fix misleading crash when view config is not found (#3…
Browse files Browse the repository at this point in the history
…0970)

## Summary

When a view config can not be found, it currently errors with
`TypeError: Cannot read property 'bubblingEventTypes' of null`. Instead
invariant at the correct location and prevent further processing of the
null viewConfig to improve the error logged.

## How did you test this change?

Build and run RN playground app referencing an invalid native view
through `requireNativeComponent`.

DiffTrain build for [26855e4](26855e4)
  • Loading branch information
javache committed Sep 16, 2024
1 parent a8693be commit 6ba137b
Show file tree
Hide file tree
Showing 34 changed files with 183 additions and 185 deletions.
2 changes: 1 addition & 1 deletion compiled/facebook-www/REVISION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9f4e4611ead28d34f7f598c9bd12424cf68f5781
26855e4680dedb21f2c73a069ed691822a242db1
2 changes: 1 addition & 1 deletion compiled/facebook-www/REVISION_TRANSFORMS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9f4e4611ead28d34f7f598c9bd12424cf68f5781
26855e4680dedb21f2c73a069ed691822a242db1
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -2001,7 +2001,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -1981,7 +1981,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -665,4 +665,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -665,4 +665,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-profiling.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -669,7 +669,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-profiling.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -669,7 +669,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactART-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -17136,11 +17136,11 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.0.0-www-classic-9f4e4611-20240916",
version: "19.0.0-www-classic-26855e46-20240916",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: getInstanceFromNode,
reconcilerVersion: "19.0.0-www-classic-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-classic-26855e46-20240916"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
Expand Down Expand Up @@ -17174,7 +17174,7 @@ __DEV__ &&
exports.Shape = Shape;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactART-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -16582,11 +16582,11 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.0.0-www-modern-9f4e4611-20240916",
version: "19.0.0-www-modern-26855e46-20240916",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: getInstanceFromNode,
reconcilerVersion: "19.0.0-www-modern-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-modern-26855e46-20240916"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
Expand Down Expand Up @@ -16620,7 +16620,7 @@ __DEV__ &&
exports.Shape = Shape;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactART-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -10891,13 +10891,13 @@ var slice = Array.prototype.slice,
})(React.Component);
var internals$jscomp$inline_1424 = {
bundleType: 0,
version: "19.0.0-www-classic-9f4e4611-20240916",
version: "19.0.0-www-classic-26855e46-20240916",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: function () {
return null;
},
reconcilerVersion: "19.0.0-www-classic-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-classic-26855e46-20240916"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1425 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand All @@ -10923,4 +10923,4 @@ exports.RadialGradient = RadialGradient;
exports.Shape = TYPES.SHAPE;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactART-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -10405,13 +10405,13 @@ var slice = Array.prototype.slice,
})(React.Component);
var internals$jscomp$inline_1416 = {
bundleType: 0,
version: "19.0.0-www-modern-9f4e4611-20240916",
version: "19.0.0-www-modern-26855e46-20240916",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: function () {
return null;
},
reconcilerVersion: "19.0.0-www-modern-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-modern-26855e46-20240916"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1417 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand All @@ -10437,4 +10437,4 @@ exports.RadialGradient = RadialGradient;
exports.Shape = TYPES.SHAPE;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
30 changes: 16 additions & 14 deletions compiled/facebook-www/ReactDOM-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -18691,41 +18691,43 @@ __DEV__ &&
: !1;
}
function getActiveElementDeep(containerInfo) {
var $jscomp$optchain$tmpm416247262$1, $jscomp$nullish$tmp0;
var $jscomp$optchain$tmpm1592247572$1, $jscomp$nullish$tmp0;
containerInfo =
null !=
($jscomp$nullish$tmp0 =
null == containerInfo
? void 0
: null ==
($jscomp$optchain$tmpm416247262$1 = containerInfo.ownerDocument)
($jscomp$optchain$tmpm1592247572$1 =
containerInfo.ownerDocument)
? void 0
: $jscomp$optchain$tmpm416247262$1.defaultView)
: $jscomp$optchain$tmpm1592247572$1.defaultView)
? $jscomp$nullish$tmp0
: window;
for (
$jscomp$optchain$tmpm416247262$1 = getActiveElement(
$jscomp$optchain$tmpm1592247572$1 = getActiveElement(
containerInfo.document
);
$jscomp$optchain$tmpm416247262$1 instanceof
$jscomp$optchain$tmpm1592247572$1 instanceof
containerInfo.HTMLIFrameElement;

) {
try {
var JSCompiler_inline_result =
"string" ===
typeof $jscomp$optchain$tmpm416247262$1.contentWindow.location.href;
typeof $jscomp$optchain$tmpm1592247572$1.contentWindow.location
.href;
} catch (err) {
JSCompiler_inline_result = !1;
}
if (JSCompiler_inline_result)
containerInfo = $jscomp$optchain$tmpm416247262$1.contentWindow;
containerInfo = $jscomp$optchain$tmpm1592247572$1.contentWindow;
else break;
$jscomp$optchain$tmpm416247262$1 = getActiveElement(
$jscomp$optchain$tmpm1592247572$1 = getActiveElement(
containerInfo.document
);
}
return $jscomp$optchain$tmpm416247262$1;
return $jscomp$optchain$tmpm1592247572$1;
}
function hasSelectionCapabilities(elem) {
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
Expand Down Expand Up @@ -27890,11 +27892,11 @@ __DEV__ &&
: flushSyncErrorInBuildsThatSupportLegacyMode;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.0.0-www-classic-9f4e4611-20240916" !== isomorphicReactPackageVersion)
if ("19.0.0-www-classic-26855e46-20240916" !== 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.0.0-www-classic-9f4e4611-20240916\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.0.0-www-classic-26855e46-20240916\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
Expand Down Expand Up @@ -27938,11 +27940,11 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.0.0-www-classic-9f4e4611-20240916",
version: "19.0.0-www-classic-26855e46-20240916",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: getClosestInstanceFromNode,
reconcilerVersion: "19.0.0-www-classic-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-classic-26855e46-20240916"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
Expand Down Expand Up @@ -28595,7 +28597,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-9f4e4611-20240916";
exports.version = "19.0.0-www-classic-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
30 changes: 14 additions & 16 deletions compiled/facebook-www/ReactDOM-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -18025,43 +18025,41 @@ __DEV__ &&
: !1;
}
function getActiveElementDeep(containerInfo) {
var $jscomp$optchain$tmpm1919935402$1, $jscomp$nullish$tmp0;
var $jscomp$optchain$tmp855222481$1, $jscomp$nullish$tmp0;
containerInfo =
null !=
($jscomp$nullish$tmp0 =
null == containerInfo
? void 0
: null ==
($jscomp$optchain$tmpm1919935402$1 =
containerInfo.ownerDocument)
($jscomp$optchain$tmp855222481$1 = containerInfo.ownerDocument)
? void 0
: $jscomp$optchain$tmpm1919935402$1.defaultView)
: $jscomp$optchain$tmp855222481$1.defaultView)
? $jscomp$nullish$tmp0
: window;
for (
$jscomp$optchain$tmpm1919935402$1 = getActiveElement(
$jscomp$optchain$tmp855222481$1 = getActiveElement(
containerInfo.document
);
$jscomp$optchain$tmpm1919935402$1 instanceof
$jscomp$optchain$tmp855222481$1 instanceof
containerInfo.HTMLIFrameElement;

) {
try {
var JSCompiler_inline_result =
"string" ===
typeof $jscomp$optchain$tmpm1919935402$1.contentWindow.location
.href;
typeof $jscomp$optchain$tmp855222481$1.contentWindow.location.href;
} catch (err) {
JSCompiler_inline_result = !1;
}
if (JSCompiler_inline_result)
containerInfo = $jscomp$optchain$tmpm1919935402$1.contentWindow;
containerInfo = $jscomp$optchain$tmp855222481$1.contentWindow;
else break;
$jscomp$optchain$tmpm1919935402$1 = getActiveElement(
$jscomp$optchain$tmp855222481$1 = getActiveElement(
containerInfo.document
);
}
return $jscomp$optchain$tmpm1919935402$1;
return $jscomp$optchain$tmp855222481$1;
}
function hasSelectionCapabilities(elem) {
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
Expand Down Expand Up @@ -27009,11 +27007,11 @@ __DEV__ &&
return_targetInst = null;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.0.0-www-modern-9f4e4611-20240916" !== isomorphicReactPackageVersion)
if ("19.0.0-www-modern-26855e46-20240916" !== 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.0.0-www-modern-9f4e4611-20240916\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.0.0-www-modern-26855e46-20240916\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
Expand Down Expand Up @@ -27056,11 +27054,11 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.0.0-www-modern-9f4e4611-20240916",
version: "19.0.0-www-modern-26855e46-20240916",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
findFiberByHostInstance: getClosestInstanceFromNode,
reconcilerVersion: "19.0.0-www-modern-9f4e4611-20240916"
reconcilerVersion: "19.0.0-www-modern-26855e46-20240916"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
Expand Down Expand Up @@ -27665,7 +27663,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-9f4e4611-20240916";
exports.version = "19.0.0-www-modern-26855e46-20240916";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Expand Down
Loading

0 comments on commit 6ba137b

Please sign in to comment.