From 53d180dcdf6ead755823b6d60ff497cc3ea7857b Mon Sep 17 00:00:00 2001 From: Dark Knight Date: Wed, 19 Feb 2025 10:25:30 -0800 Subject: [PATCH 1/2] Revert D69836482: Multisect successfully blamed "D69836482: [react-native][PR] Make `RCTLog` & `ExceptionDataHelper` internal" for one build failure Summary: This diff reverts D69836482 D69836482: [react-native][PR] Make `RCTLog` & `ExceptionDataHelper` internal by cortinico causes the following build failure: Tests affected: - [automation_twilight_x86_debug](https://www.internalfb.com/intern/test/562950071241129/) Here's the Multisect link: https://www.internalfb.com/multisect/21397772 Here are the tasks that are relevant to this breakage: T215694436: Some CI signals failing for oculus_twilight The backout may land if someone accepts it. If this diff has been generated in error, you can Commandeer and Abandon it. bypass-github-export-checks Reviewed By: cortinico Differential Revision: D69860031 --- .../react-native/ReactAndroid/api/ReactAndroid.api | 10 ++++++++++ .../com/facebook/react/util/ExceptionDataHelper.kt | 6 +++--- .../src/main/java/com/facebook/react/util/RCTLog.kt | 4 ++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index b1ed8da6e9a0..09fb9149474a 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -5750,6 +5750,12 @@ public abstract interface class com/facebook/react/uimanager/util/ReactFindViewU public abstract fun onViewFound (Landroid/view/View;)V } +public final class com/facebook/react/util/ExceptionDataHelper { + public static final field EXTRA_DATA_FIELD Ljava/lang/String; + public static final field INSTANCE Lcom/facebook/react/util/ExceptionDataHelper; + public static final fun getExtraDataAsJson (Lcom/facebook/react/bridge/ReadableMap;)Ljava/lang/String; +} + public final class com/facebook/react/util/JSStackTrace { public static final field COLUMN_KEY Ljava/lang/String; public static final field FILE_KEY Ljava/lang/String; @@ -5759,6 +5765,10 @@ public final class com/facebook/react/util/JSStackTrace { public static final fun format (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String; } +public abstract interface class com/facebook/react/util/RCTLog : com/facebook/react/bridge/JavaScriptModule { + public abstract fun logIfNoNativeHook (Ljava/lang/String;Ljava/lang/String;)V +} + public final class com/facebook/react/util/RNLog { public static final field ADVICE I public static final field ERROR I diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt index 0b7ff8d972b8..5c806a7c5b77 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt @@ -14,12 +14,12 @@ import com.facebook.react.bridge.ReadableType import java.io.IOException import java.io.StringWriter -internal object ExceptionDataHelper { +public object ExceptionDataHelper { - const val EXTRA_DATA_FIELD: String = "extraData" + public const val EXTRA_DATA_FIELD: String = "extraData" @JvmStatic - fun getExtraDataAsJson(metadata: ReadableMap?): String? { + public fun getExtraDataAsJson(metadata: ReadableMap?): String? { if (metadata == null || metadata.getType(EXTRA_DATA_FIELD) == ReadableType.Null) { return null } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt index 5b3067c0d4c0..e34838bc4842 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt @@ -14,12 +14,12 @@ import com.facebook.react.bridge.JavaScriptModule * * The RCTLog module allows for showing native logs in JavaScript. */ -internal interface RCTLog : JavaScriptModule { +public interface RCTLog : JavaScriptModule { /** * Send a log to JavaScript. * * @param level The level of the log. * @param message The message to log. */ - fun logIfNoNativeHook(level: String?, message: String?) + public fun logIfNoNativeHook(level: String?, message: String?) } From d9a9988a3c7565cf5df337808b5dd6c10e8ab15f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Guzm=C3=A1n?= Date: Wed, 19 Feb 2025 10:25:30 -0800 Subject: [PATCH 2/2] Reland of: Make `RCTLog` & `ExceptionDataHelper` internal (#49502) Summary: This is a re-land of a previous diff D69836482 which was reverted due to a build failure. As part of the initiative to reduce the public API surface, this classes can be internalized. I've checked there are no relevant OSS usages: - [RCTLog](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+com.facebook.react.util.RCTLog) - [ExceptionDataHelper](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+com.facebook.react.util.ExceptionDataHelper) ## Changelog: [INTERNAL] - Make RCTLog & ExceptionDataHelper internal Test Plan: ```bash yarn test-android yarn android ``` Differential Revision: D69863875 Pulled By: cortinico --- .../react-native/ReactAndroid/api/ReactAndroid.api | 10 ---------- .../com/facebook/react/util/ExceptionDataHelper.kt | 6 +++--- .../src/main/java/com/facebook/react/util/RCTLog.kt | 4 ++-- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 09fb9149474a..b1ed8da6e9a0 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -5750,12 +5750,6 @@ public abstract interface class com/facebook/react/uimanager/util/ReactFindViewU public abstract fun onViewFound (Landroid/view/View;)V } -public final class com/facebook/react/util/ExceptionDataHelper { - public static final field EXTRA_DATA_FIELD Ljava/lang/String; - public static final field INSTANCE Lcom/facebook/react/util/ExceptionDataHelper; - public static final fun getExtraDataAsJson (Lcom/facebook/react/bridge/ReadableMap;)Ljava/lang/String; -} - public final class com/facebook/react/util/JSStackTrace { public static final field COLUMN_KEY Ljava/lang/String; public static final field FILE_KEY Ljava/lang/String; @@ -5765,10 +5759,6 @@ public final class com/facebook/react/util/JSStackTrace { public static final fun format (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String; } -public abstract interface class com/facebook/react/util/RCTLog : com/facebook/react/bridge/JavaScriptModule { - public abstract fun logIfNoNativeHook (Ljava/lang/String;Ljava/lang/String;)V -} - public final class com/facebook/react/util/RNLog { public static final field ADVICE I public static final field ERROR I diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt index 5c806a7c5b77..0b7ff8d972b8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt @@ -14,12 +14,12 @@ import com.facebook.react.bridge.ReadableType import java.io.IOException import java.io.StringWriter -public object ExceptionDataHelper { +internal object ExceptionDataHelper { - public const val EXTRA_DATA_FIELD: String = "extraData" + const val EXTRA_DATA_FIELD: String = "extraData" @JvmStatic - public fun getExtraDataAsJson(metadata: ReadableMap?): String? { + fun getExtraDataAsJson(metadata: ReadableMap?): String? { if (metadata == null || metadata.getType(EXTRA_DATA_FIELD) == ReadableType.Null) { return null } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt index e34838bc4842..5b3067c0d4c0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt @@ -14,12 +14,12 @@ import com.facebook.react.bridge.JavaScriptModule * * The RCTLog module allows for showing native logs in JavaScript. */ -public interface RCTLog : JavaScriptModule { +internal interface RCTLog : JavaScriptModule { /** * Send a log to JavaScript. * * @param level The level of the log. * @param message The message to log. */ - public fun logIfNoNativeHook(level: String?, message: String?) + fun logIfNoNativeHook(level: String?, message: String?) }