From 7dc23f3a915a60ec129ce4a8eb86044230a47329 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 15 May 2026 12:09:29 -0700 Subject: [PATCH 1/4] Remove enableFabricRenderer() call from DefaultNewArchitectureEntryPoint (#56854) Summary: The `enableFabricRenderer()` flag is being deleted; it always returns true on the canary release stage. In `loadWithFeatureFlags`, replace both `featureFlags.enableFabricRenderer()` reads with the literal `true` for `privateFabricEnabled` and `privateConcurrentReactEnabled`. Behavior is unchanged. Changelog: [Internal] Reviewed By: javache Differential Revision: D105229919 --- .../react/defaults/DefaultNewArchitectureEntryPoint.kt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt index c98b2952966a..72d44b944f61 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt @@ -114,9 +114,7 @@ public object DefaultNewArchitectureEntryPoint { internal fun loadWithFeatureFlags(featureFlags: ReactNativeFeatureFlagsProvider) { ReactNativeFeatureFlags.override(featureFlags) - privateFabricEnabled = featureFlags.enableFabricRenderer() privateTurboModulesEnabled = featureFlags.useTurboModules() - privateConcurrentReactEnabled = featureFlags.enableFabricRenderer() privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture() val (isValid, errorMessage) = @@ -134,9 +132,7 @@ public object DefaultNewArchitectureEntryPoint { private var privateFabricEnabled: Boolean = false - @JvmStatic - public val fabricEnabled: Boolean - get() = privateFabricEnabled + @JvmStatic public val fabricEnabled: Boolean = true private var privateTurboModulesEnabled: Boolean = false @@ -146,9 +142,7 @@ public object DefaultNewArchitectureEntryPoint { private var privateConcurrentReactEnabled: Boolean = false - @JvmStatic - public val concurrentReactEnabled: Boolean - get() = privateConcurrentReactEnabled + @JvmStatic public val concurrentReactEnabled: Boolean = true private var privateBridgelessEnabled: Boolean = false From 74f80d021657a9c959ae9a5ec2e88f350be159dd Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 15 May 2026 12:09:29 -0700 Subject: [PATCH 2/4] Remove enableFabricRenderer() call from ReactInstanceManager (#56855) Summary: The `ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer()` flag is being deleted; it always returns true on the canary release stage. In `createRootView`, inline `setIsFabric(true)` and remove the now-unused import. Behavior is unchanged. Changelog: [Internal] Reviewed By: javache Differential Revision: D105230246 --- .../src/main/java/com/facebook/react/ReactInstanceManager.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index bbd03e246bcf..8f97e9e39dac 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -75,7 +75,6 @@ import com.facebook.react.interfaces.TaskInterface; import com.facebook.react.internal.AndroidChoreographerProvider; import com.facebook.react.internal.ChoreographerProvider; -import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatureFlags; import com.facebook.react.modules.appearance.AppearanceModule; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.modules.core.DeviceEventManagerModule; @@ -320,8 +319,6 @@ public JavaScriptExecutorFactory getJavaScriptExecutorFactory() { Activity currentActivity = getCurrentActivity(); if (currentActivity != null) { ReactRootView rootView = new ReactRootView(currentActivity); - boolean isFabric = ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer(); - rootView.setIsFabric(isFabric); rootView.startReactApplication(ReactInstanceManager.this, appKey, new Bundle()); return rootView; } From 8ae238ff6bd27ba35a1aa8b8cf4bb585ccffc2a5 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 15 May 2026 12:09:29 -0700 Subject: [PATCH 3/4] Remove enableFabricRenderer() assertion from ReactHostImpl (#56856) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: The `ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer()` flag is being deleted; it always returns true on the canary release stage. The DEBUG-only `assertCondition(enableFabricRenderer(), ...)` check in `getOrCreateStartTask` becomes tautological — delete it. The other DEBUG assertions in the same block (`enableBridgelessArchitecture`, `useTurboModules`) are unaffected. Behavior is unchanged. Changelog: [Internal] Reviewed By: javache Differential Revision: D105230489 --- .../main/java/com/facebook/react/runtime/ReactHostImpl.kt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt index 42c78a912082..eece1d138d85 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt @@ -857,11 +857,6 @@ public class ReactHostImpl( "enableBridgelessArchitecture FeatureFlag must be set to start ReactNative.", ) - Assertions.assertCondition( - ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer(), - "enableFabricRenderer FeatureFlag must be set to start ReactNative.", - ) - Assertions.assertCondition( ReactNativeNewArchitectureFeatureFlags.useTurboModules(), "useTurboModules FeatureFlag must be set to start ReactNative.", From a474cf7d4a46b22c27d743e2cb82bff19fc26839 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 15 May 2026 12:09:29 -0700 Subject: [PATCH 4/4] Inline true in ReactActivityDelegate.isFabricEnabled() (#56857) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: The `ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer()` flag is being deleted; it always returns true on the canary release stage. The default body of `ReactActivityDelegate.isFabricEnabled()` reads the flag — change it to `return true` directly. The method itself is preserved because it is a polymorphic `protected` hook that subclasses (e.g., `DefaultReactActivityDelegate`) override to provide per-activity behavior. Behavior is unchanged. Changelog: [Internal] Reviewed By: javache Differential Revision: D105230961 --- .../src/main/java/com/facebook/react/ReactActivityDelegate.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java index 2e80bb26fe7a..16d44fe4c54a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java @@ -309,7 +309,7 @@ protected ReactActivity getReactActivity() { * @return true if Fabric is enabled for this Activity, false otherwise. */ protected boolean isFabricEnabled() { - return ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer(); + return true; } /**