From 2c59f8a9cf858542a36c8b54e04f3db09da37362 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Fri, 25 Oct 2024 11:57:14 -0700 Subject: [PATCH] cleanup: ExceptionsManager: Delete updateExceptionMessage Summary: I couldn't find any usages of this method in javascript. Removing, so that the native code is easier to read. Changelog: [Internal] Reviewed By: javache Differential Revision: D64606928 --- .../Core/__mocks__/NativeExceptionsManager.js | 1 - .../Core/__tests__/ExceptionsManager-test.js | 2 -- .../React/CoreModules/RCTExceptionsManager.h | 7 ------- .../React/CoreModules/RCTExceptionsManager.mm | 15 -------------- .../ReactAndroid/api/ReactAndroid.api | 4 ---- .../devsupport/DevSupportManagerBase.java | 20 ------------------- .../devsupport/ReleaseDevSupportManager.kt | 6 ------ .../interfaces/DevSupportManager.kt | 2 -- .../modules/core/ExceptionsManagerModule.kt | 11 ---------- .../specs/modules/NativeExceptionsManager.js | 12 ----------- 10 files changed, 80 deletions(-) diff --git a/packages/react-native/Libraries/Core/__mocks__/NativeExceptionsManager.js b/packages/react-native/Libraries/Core/__mocks__/NativeExceptionsManager.js index a43017ce012eee..cfe7f55e61b119 100644 --- a/packages/react-native/Libraries/Core/__mocks__/NativeExceptionsManager.js +++ b/packages/react-native/Libraries/Core/__mocks__/NativeExceptionsManager.js @@ -14,7 +14,6 @@ import typeof NativeExceptionsManager from '../NativeExceptionsManager'; export default ({ reportFatalException: jest.fn(), reportSoftException: jest.fn(), - updateExceptionMessage: jest.fn(), dismissRedbox: jest.fn(), reportException: jest.fn(), }: NativeExceptionsManager); diff --git a/packages/react-native/Libraries/Core/__tests__/ExceptionsManager-test.js b/packages/react-native/Libraries/Core/__tests__/ExceptionsManager-test.js index 2dde1759c3df05..ee4bf4ebfb66ee 100644 --- a/packages/react-native/Libraries/Core/__tests__/ExceptionsManager-test.js +++ b/packages/react-native/Libraries/Core/__tests__/ExceptionsManager-test.js @@ -67,8 +67,6 @@ function runExceptionsManagerTests() { return { default: { reportException: jest.fn(), - // Used to show symbolicated messages, not part of this test. - updateExceptionMessage: () => {}, }, }; }); diff --git a/packages/react-native/React/CoreModules/RCTExceptionsManager.h b/packages/react-native/React/CoreModules/RCTExceptionsManager.h index f23bb2153b809e..d4b350961c5abd 100644 --- a/packages/react-native/React/CoreModules/RCTExceptionsManager.h +++ b/packages/react-native/React/CoreModules/RCTExceptionsManager.h @@ -11,7 +11,6 @@ NS_ASSUME_NONNULL_BEGIN @protocol RCTExceptionsManagerDelegate - - (void)handleSoftJSExceptionWithMessage:(nullable NSString *)message stack:(nullable NSArray *)stack exceptionId:(NSNumber *)exceptionId @@ -20,12 +19,6 @@ NS_ASSUME_NONNULL_BEGIN stack:(nullable NSArray *)stack exceptionId:(NSNumber *)exceptionId extraDataAsJSON:(nullable NSString *)extraDataAsJSON; - -@optional -- (void)updateJSExceptionWithMessage:(nullable NSString *)message - stack:(nullable NSArray *)stack - exceptionId:(NSNumber *)exceptionId; - @end @interface RCTExceptionsManager : NSObject diff --git a/packages/react-native/React/CoreModules/RCTExceptionsManager.mm b/packages/react-native/React/CoreModules/RCTExceptionsManager.mm index 1cdd02768dc395..d7f8f647604a90 100644 --- a/packages/react-native/React/CoreModules/RCTExceptionsManager.mm +++ b/packages/react-native/React/CoreModules/RCTExceptionsManager.mm @@ -99,21 +99,6 @@ - (void)reportFatal:(NSString *)message [self reportFatal:message stack:stack exceptionId:exceptionId extraDataAsJSON:nil]; } -RCT_EXPORT_METHOD(updateExceptionMessage - : (NSString *)message stack - : (NSArray *)stack exceptionId - : (double)exceptionId) -{ - if (RCTRedBoxGetEnabled()) { - RCTRedBox *redbox = [_moduleRegistry moduleForName:"RedBox"]; - [redbox updateErrorMessage:message withStack:stack errorCookie:(int)exceptionId]; - } - - if (_delegate && [_delegate respondsToSelector:@selector(updateJSExceptionWithMessage:stack:exceptionId:)]) { - [_delegate updateJSExceptionWithMessage:message stack:stack exceptionId:[NSNumber numberWithDouble:exceptionId]]; - } -} - RCT_EXPORT_METHOD(dismissRedbox) {} RCT_EXPORT_METHOD(reportException : (JS::NativeExceptionsManager::ExceptionData &)data) diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 5626ce74dd4dae..9dac0c2d58ade9 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -2212,7 +2212,6 @@ public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/ public fun startInspector ()V public fun stopInspector ()V public fun toggleElementInspector ()V - public fun updateJSError (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;I)V } public abstract interface class com/facebook/react/devsupport/DevSupportManagerBase$CallbackWithBundleLoader { @@ -2380,7 +2379,6 @@ public class com/facebook/react/devsupport/ReleaseDevSupportManager : com/facebo public fun startInspector ()V public fun stopInspector ()V public fun toggleElementInspector ()V - public fun updateJSError (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;I)V } public class com/facebook/react/devsupport/StackTraceHelper { @@ -2516,7 +2514,6 @@ public abstract interface class com/facebook/react/devsupport/interfaces/DevSupp public abstract fun startInspector ()V public abstract fun stopInspector ()V public abstract fun toggleElementInspector ()V - public abstract fun updateJSError (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;I)V } public abstract interface class com/facebook/react/devsupport/interfaces/DevSupportManager$PackagerLocationCustomizer { @@ -3138,7 +3135,6 @@ public class com/facebook/react/modules/core/ExceptionsManagerModule : com/faceb public fun reportException (Lcom/facebook/react/bridge/ReadableMap;)V public fun reportFatalException (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;D)V public fun reportSoftException (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;D)V - public fun updateExceptionMessage (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;D)V } public class com/facebook/react/modules/core/HeadlessJsTaskSupportModule : com/facebook/fbreact/specs/NativeHeadlessJsTaskSupportSpec { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java index 35dba5ee6e3e26..f91d9add84937c 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java @@ -279,26 +279,6 @@ public Pair processErrorCustomizers(Pair { - // Since we only show the first JS error in a succession of JS errors, make sure we only - // update the error message for that error message. This assumes that updateJSError - // belongs to the most recent showNewJSError - if ((mRedBoxSurfaceDelegate != null && !mRedBoxSurfaceDelegate.isShowing()) - || errorCookie != mLastErrorCookie) { - return; - } - - // The RedBox surface delegate will always show the latest error - updateLastErrorInfo( - message, StackTraceHelper.convertJsStackTrace(details), errorCookie, ErrorType.JS); - mRedBoxSurfaceDelegate.show(); - }); - } - @Override public void hideRedboxDialog() { if (mRedBoxSurfaceDelegate == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt index ba9e0aa03c5220..02398843112d28 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt @@ -53,12 +53,6 @@ public open class ReleaseDevSupportManager : DevSupportManager { override public fun destroyRootView(rootView: View?): Unit = Unit - override public fun updateJSError( - message: String?, - details: ReadableArray?, - errorCookie: Int - ): Unit = Unit - override public fun hideRedboxDialog(): Unit = Unit override public fun showDevOptionsDialog(): Unit = Unit diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt index 67bc3b0e21bf60..a778ac54577676 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt @@ -48,8 +48,6 @@ public interface DevSupportManager : JSExceptionHandler { public fun showNewJSError(message: String?, details: ReadableArray?, errorCookie: Int) - public fun updateJSError(message: String?, details: ReadableArray?, errorCookie: Int) - public fun hideRedboxDialog() public fun showDevOptionsDialog() diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt index 60c143a2eb3409..863c87b33eb0a1 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt @@ -60,17 +60,6 @@ public open class ExceptionsManagerModule(private val devSupportManager: DevSupp } } - override fun updateExceptionMessage( - title: String?, - details: ReadableArray?, - exceptionIdDouble: Double - ) { - val exceptionId = exceptionIdDouble.toInt() - if (devSupportManager.devSupportEnabled) { - devSupportManager.updateJSError(title, details, exceptionId) - } - } - override fun dismissRedbox() { if (devSupportManager.devSupportEnabled) { devSupportManager.hideRedboxDialog() diff --git a/packages/react-native/src/private/specs/modules/NativeExceptionsManager.js b/packages/react-native/src/private/specs/modules/NativeExceptionsManager.js index 1da0633dc17db1..0b684c681e7071 100644 --- a/packages/react-native/src/private/specs/modules/NativeExceptionsManager.js +++ b/packages/react-native/src/private/specs/modules/NativeExceptionsManager.js @@ -47,11 +47,6 @@ export interface Spec extends TurboModule { exceptionId: number, ) => void; +reportException?: (data: ExceptionData) => void; - +updateExceptionMessage: ( - message: string, - stack: Array, - exceptionId: number, - ) => void; // TODO(T53311281): This is a noop on iOS now. Implement it. +dismissRedbox?: () => void; } @@ -74,13 +69,6 @@ const ExceptionsManager = { ) { NativeModule.reportSoftException(message, stack, exceptionId); }, - updateExceptionMessage( - message: string, - stack: Array, - exceptionId: number, - ) { - NativeModule.updateExceptionMessage(message, stack, exceptionId); - }, dismissRedbox(): void { if (Platform.OS !== 'ios' && NativeModule.dismissRedbox) { // TODO(T53311281): This is a noop on iOS now. Implement it.