From 663b5f9d19a905520bd0aef62cda890f76ef9b6e Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Wed, 13 Nov 2024 04:00:19 -0800 Subject: [PATCH] Change feature flag default for initEagerTurboModulesOnNativeModulesQueueAndroid (#47566) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47566 Changelog: [Android][Changed] TurboModules marked as requiring eager init will now be constructed on the mqt_native thread to increase concurrency in React Native init. Reviewed By: rshest Differential Revision: D65661887 fbshipit-source-id: c1863ea44771de5caedc2968a325abcc7022c792 --- .../internal/featureflags/ReactNativeFeatureFlagsDefaults.kt | 4 ++-- .../react/featureflags/ReactNativeFeatureFlagsDefaults.h | 4 ++-- .../scripts/featureflags/ReactNativeFeatureFlags.config.js | 5 ++--- .../src/private/featureflags/ReactNativeFeatureFlags.js | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt index fac7b1ecedc..7b32fd36554 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<43c2b02a67fea9ad6d36e7716cb81ccc>> + * @generated SignedSource<> */ /** @@ -87,7 +87,7 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi override fun fuseboxEnabledRelease(): Boolean = false - override fun initEagerTurboModulesOnNativeModulesQueueAndroid(): Boolean = false + override fun initEagerTurboModulesOnNativeModulesQueueAndroid(): Boolean = true override fun lazyAnimationCallbacks(): Boolean = false diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h index 7a07337b537..67e0ebbcd2d 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<50402601a833b4a74d39733dcbd9ef65>> */ /** @@ -156,7 +156,7 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider { } bool initEagerTurboModulesOnNativeModulesQueueAndroid() override { - return false; + return true; } bool lazyAnimationCallbacks() override { diff --git a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js index 9603014e4da..2bcad438fad 100644 --- a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js +++ b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js @@ -319,12 +319,11 @@ const definitions: FeatureFlagDefinitions = { }, }, initEagerTurboModulesOnNativeModulesQueueAndroid: { - defaultValue: false, + defaultValue: true, metadata: { - dateAdded: '2024-07-11', description: 'Construct modules that requires eager init on the dedicate native modules thread', - purpose: 'experimentation', + purpose: 'release', }, }, lazyAnimationCallbacks: { diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js index 7f43f7010fc..fcf084dc378 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<> * @flow strict */ @@ -319,7 +319,7 @@ export const fuseboxEnabledRelease: Getter = createNativeFlagGetter('fu /** * Construct modules that requires eager init on the dedicate native modules thread */ -export const initEagerTurboModulesOnNativeModulesQueueAndroid: Getter = createNativeFlagGetter('initEagerTurboModulesOnNativeModulesQueueAndroid', false); +export const initEagerTurboModulesOnNativeModulesQueueAndroid: Getter = createNativeFlagGetter('initEagerTurboModulesOnNativeModulesQueueAndroid', true); /** * Only enqueue Choreographer calls if there is an ongoing animation, instead of enqueueing every frame. */