Reuse preprocessed exception message in redbox after symbolication

Summary: Reuse preprocessed exception message when sending the symbolicated update to the redbox, in case `preprocessException` has actually modified it.

Reviewed By: cpojer

Differential Revision: D17318008

fbshipit-source-id: 8b4c606c662140fb44c5305e2f3c7faa0b60f0ee
This commit is contained in:
Moti Zilberman
2019-09-12 03:55:41 -07:00
committed by Facebook Github Bot
parent e54ecf907e
commit 5789e67760
+18 -18
View File
@@ -81,23 +81,23 @@ function reportException(e: ExtendedError, isFatal: boolean) {
message =
e.jsEngine == null ? message : `${message}, js engine: ${e.jsEngine}`;
NativeExceptionsManager.reportException(
preprocessException({
message,
originalMessage: message === originalMessage ? null : originalMessage,
name: e.name == null || e.name === '' ? null : e.name,
componentStack:
typeof e.componentStack === 'string' ? e.componentStack : null,
stack,
id: currentExceptionID,
isFatal,
extraData: {
jsEngine: e.jsEngine,
rawStack: e.stack,
framesPopped: e.framesToPop,
},
}),
);
const data = preprocessException({
message,
originalMessage: message === originalMessage ? null : originalMessage,
name: e.name == null || e.name === '' ? null : e.name,
componentStack:
typeof e.componentStack === 'string' ? e.componentStack : null,
stack,
id: currentExceptionID,
isFatal,
extraData: {
jsEngine: e.jsEngine,
rawStack: e.stack,
framesPopped: e.framesToPop,
},
});
NativeExceptionsManager.reportException(data);
if (__DEV__) {
if (e.preventSymbolication === true) {
@@ -111,7 +111,7 @@ function reportException(e: ExtendedError, isFatal: boolean) {
frame => !frame.collapse,
);
NativeExceptionsManager.updateExceptionMessage(
message,
data.message,
stackWithoutCollapsedFrames,
currentExceptionID,
);