react-native 0.84.0-nightly-20251106-de5141a3d → 0.84.0-nightly-20251108-7486a2bc5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  2. package/Libraries/Blob/RCTBlobManager.mm +1 -4
  3. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  4. package/Libraries/Blob/RCTFileReaderModule.mm +1 -4
  5. package/Libraries/Components/Button.js +0 -3
  6. package/Libraries/Core/ReactNativeVersion.js +1 -1
  7. package/Libraries/Image/RCTBundleAssetImageLoader.mm +1 -4
  8. package/Libraries/Image/RCTGIFImageDecoder.mm +1 -4
  9. package/Libraries/Image/RCTImageEditingManager.mm +1 -4
  10. package/Libraries/Image/RCTImageLoader.mm +1 -4
  11. package/Libraries/Image/RCTImagePlugins.h +1 -0
  12. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  13. package/Libraries/Image/RCTImageStoreManager.mm +1 -4
  14. package/Libraries/Image/RCTImageViewManager.mm +1 -4
  15. package/Libraries/Image/RCTLocalAssetImageLoader.mm +1 -4
  16. package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -4
  17. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  18. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  19. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  20. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +1 -4
  21. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +1 -4
  22. package/Libraries/Network/RCTDataRequestHandler.mm +1 -4
  23. package/Libraries/Network/RCTFileRequestHandler.mm +1 -4
  24. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -4
  25. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  26. package/Libraries/Network/RCTNetworking.mm +1 -4
  27. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +1 -4
  28. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  29. package/Libraries/Settings/RCTSettingsManager.mm +1 -4
  30. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  31. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  32. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  33. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  34. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -4
  35. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +1 -4
  36. package/Libraries/Text/Text/RCTTextViewManager.mm +1 -4
  37. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +1 -4
  38. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -4
  39. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +1 -4
  40. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +1 -4
  41. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +1 -4
  42. package/Libraries/Vibration/RCTVibration.mm +1 -4
  43. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  44. package/React/Base/RCTVersion.m +1 -1
  45. package/React/CoreModules/CoreModulesPlugins.mm +98 -35
  46. package/React/CoreModules/RCTAccessibilityManager.mm +1 -4
  47. package/React/CoreModules/RCTActionSheetManager.mm +1 -4
  48. package/React/CoreModules/RCTAlertManager.mm +1 -4
  49. package/React/CoreModules/RCTAppState.mm +1 -4
  50. package/React/CoreModules/RCTAppearance.mm +1 -4
  51. package/React/CoreModules/RCTClipboard.mm +1 -4
  52. package/React/CoreModules/RCTDevLoadingView.mm +1 -4
  53. package/React/CoreModules/RCTDevMenu.mm +1 -4
  54. package/React/CoreModules/RCTDevSettings.mm +1 -4
  55. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +1 -5
  56. package/React/CoreModules/RCTDeviceInfo.mm +1 -4
  57. package/React/CoreModules/RCTEventDispatcher.mm +1 -4
  58. package/React/CoreModules/RCTExceptionsManager.mm +1 -4
  59. package/React/CoreModules/RCTI18nManager.mm +1 -4
  60. package/React/CoreModules/RCTKeyboardObserver.mm +1 -4
  61. package/React/CoreModules/RCTLogBox.mm +1 -4
  62. package/React/CoreModules/RCTPerfMonitor.mm +1 -4
  63. package/React/CoreModules/RCTPlatform.mm +1 -4
  64. package/React/CoreModules/RCTRedBox.mm +1 -4
  65. package/React/CoreModules/RCTSourceCode.mm +1 -4
  66. package/React/CoreModules/RCTStatusBarManager.mm +1 -4
  67. package/React/CoreModules/RCTTiming.mm +1 -4
  68. package/React/CoreModules/RCTWebSocketModule.mm +1 -4
  69. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
  70. package/React/Modules/RCTUIManager.mm +1 -4
  71. package/React/Views/RCTActivityIndicatorViewManager.m +1 -4
  72. package/React/Views/RCTDebuggingOverlayManager.m +1 -4
  73. package/React/Views/RCTModalHostViewManager.m +1 -4
  74. package/React/Views/RCTModalManager.m +1 -4
  75. package/React/Views/RCTSwitchManager.m +1 -4
  76. package/React/Views/RCTViewManager.m +1 -4
  77. package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -4
  78. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +1 -4
  79. package/React/Views/ScrollView/RCTScrollContentViewManager.m +1 -4
  80. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -4
  81. package/ReactAndroid/api/ReactAndroid.api +0 -13
  82. package/ReactAndroid/gradle.properties +1 -1
  83. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +2 -3
  84. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -6
  85. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  86. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -16
  87. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
  88. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  89. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  90. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  91. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  92. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  93. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  94. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -35
  95. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  96. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +4 -5
  97. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  98. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -0
  99. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  100. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  101. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +3 -13
  102. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +1 -4
  103. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  104. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  105. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  106. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  107. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -2
  108. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +8 -1
  109. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  110. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -35
  111. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  112. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +29 -4
  113. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  114. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  115. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  116. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -0
  117. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +0 -40
  118. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -6
  119. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  120. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  121. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  122. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  123. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  124. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  125. package/ReactCommon/jsinspector-modern/HostTarget.h +8 -2
  126. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +6 -2
  127. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +15 -5
  128. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +9 -5
  129. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  130. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  131. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  132. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  133. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  134. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +19 -2
  135. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  136. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  137. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +59 -0
  138. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +20 -7
  139. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +32 -20
  140. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +6 -2
  141. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  142. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  143. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  144. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +3 -0
  145. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +126 -0
  146. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  147. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h +20 -0
  148. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  149. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  150. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +113 -77
  151. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  152. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  153. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  154. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  155. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +0 -1
  156. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  157. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  158. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +1 -4
  159. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  160. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +9 -1
  161. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  162. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -19
  163. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +11 -6
  164. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +67 -32
  165. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +14 -2
  166. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  167. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  168. package/ReactCommon/react/runtime/ReactInstance.cpp +8 -6
  169. package/ReactCommon/react/runtime/ReactInstance.h +0 -1
  170. package/ReactCommon/react/runtime/TimerManager.cpp +0 -54
  171. package/ReactCommon/react/runtime/TimerManager.h +0 -12
  172. package/flow/bom.js.flow +7 -0
  173. package/package.json +8 -8
  174. package/scripts/ios-configure-glog.sh +6 -1
  175. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  176. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  177. package/types_generated/Libraries/Components/Button.d.ts +1 -4
  178. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +3 -3
  179. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  180. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  181. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
@@ -17,10 +17,7 @@
17
17
 
18
18
  @implementation RCTDebuggingOverlayManager
19
19
 
20
- + (NSString *)moduleName
21
- {
22
- return @"DebuggingOverlay";
23
- }
20
+ RCT_EXPORT_MODULE(DebuggingOverlay)
24
21
 
25
22
  - (UIView *)view
26
23
  {
@@ -40,10 +40,7 @@
40
40
  NSPointerArray *_hostViews;
41
41
  }
42
42
 
43
- + (NSString *)moduleName
44
- {
45
- return @"ModalHostViewManager ";
46
- }
43
+ RCT_EXPORT_MODULE()
47
44
 
48
45
  - (UIView *)view
49
46
  {
@@ -17,10 +17,7 @@
17
17
 
18
18
  @implementation RCTModalManager
19
19
 
20
- + (NSString *)moduleName
21
- {
22
- return @"ModalManager";
23
- }
20
+ RCT_EXPORT_MODULE();
24
21
 
25
22
  - (NSArray<NSString *> *)supportedEvents
26
23
  {
@@ -16,10 +16,7 @@
16
16
 
17
17
  @implementation RCTSwitchManager
18
18
 
19
- + (NSString *)moduleName
20
- {
21
- return @"SwitchManager";
22
- }
19
+ RCT_EXPORT_MODULE()
23
20
 
24
21
  - (UIView *)view
25
22
  {
@@ -128,10 +128,7 @@ RCT_MULTI_ENUM_CONVERTER(
128
128
 
129
129
  @synthesize bridge = _bridge;
130
130
 
131
- + (NSString *)moduleName
132
- {
133
- return @"RCTViewManager";
134
- }
131
+ RCT_EXPORT_MODULE()
135
132
 
136
133
  - (dispatch_queue_t)methodQueue
137
134
  {
@@ -15,10 +15,7 @@
15
15
 
16
16
  @implementation RCTRefreshControlManager
17
17
 
18
- + (NSString *)moduleName
19
- {
20
- return @"RefreshControlManager";
21
- }
18
+ RCT_EXPORT_MODULE()
22
19
 
23
20
  - (UIView *)view
24
21
  {
@@ -15,10 +15,7 @@
15
15
 
16
16
  @implementation RCTSafeAreaViewManager
17
17
 
18
- + (NSString *)moduleName
19
- {
20
- return @"SafeAreaViewManager";
21
- }
18
+ RCT_EXPORT_MODULE()
22
19
 
23
20
  - (UIView *)view
24
21
  {
@@ -14,10 +14,7 @@
14
14
 
15
15
  @implementation RCTScrollContentViewManager
16
16
 
17
- + (NSString *)moduleName
18
- {
19
- return @"ScrollContentViewManager";
20
- }
17
+ RCT_EXPORT_MODULE()
21
18
 
22
19
  - (RCTScrollContentView *)view
23
20
  {
@@ -53,10 +53,7 @@ RCT_ENUM_CONVERTER(
53
53
 
54
54
  @implementation RCTScrollViewManager
55
55
 
56
- + (NSString *)moduleName
57
- {
58
- return @"ScrollViewManager";
59
- }
56
+ RCT_EXPORT_MODULE()
60
57
 
61
58
  - (UIView *)view
62
59
  {
@@ -680,19 +680,6 @@ public final class com/facebook/react/bridge/CxxCallbackImpl : com/facebook/jni/
680
680
  public fun invoke ([Ljava/lang/Object;)V
681
681
  }
682
682
 
683
- public class com/facebook/react/bridge/CxxModuleWrapper : com/facebook/react/bridge/CxxModuleWrapperBase {
684
- protected fun <init> (Lcom/facebook/jni/HybridData;)V
685
- }
686
-
687
- public class com/facebook/react/bridge/CxxModuleWrapperBase : com/facebook/react/bridge/NativeModule {
688
- protected fun <init> (Lcom/facebook/jni/HybridData;)V
689
- public fun canOverrideExistingModule ()Z
690
- public fun getName ()Ljava/lang/String;
691
- public fun initialize ()V
692
- public fun invalidate ()V
693
- protected final fun resetModule (Lcom/facebook/jni/HybridData;)V
694
- }
695
-
696
683
  public final class com/facebook/react/bridge/DefaultJSExceptionHandler : com/facebook/react/bridge/JSExceptionHandler {
697
684
  public fun <init> ()V
698
685
  public fun handleException (Ljava/lang/Exception;)V
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.84.0-nightly-20251106-de5141a3d
1
+ VERSION_NAME=0.84.0-nightly-20251108-7486a2bc5
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -8,7 +8,6 @@
8
8
  package com.facebook.react
9
9
 
10
10
  import com.facebook.jni.HybridData
11
- import com.facebook.react.bridge.CxxModuleWrapper
12
11
  import com.facebook.react.bridge.ModuleSpec
13
12
  import com.facebook.react.bridge.NativeModule
14
13
  import com.facebook.react.bridge.ReactApplicationContext
@@ -103,7 +102,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate : TurboModuleManage
103
102
  moduleClass.name,
104
103
  reactModule.canOverrideExistingModule,
105
104
  true,
106
- reactModule.isCxxModule,
105
+ false,
107
106
  ReactModuleInfo.classIsTurboModule(moduleClass),
108
107
  )
109
108
  else
@@ -112,7 +111,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate : TurboModuleManage
112
111
  moduleClass.name,
113
112
  module.canOverrideExistingModule(),
114
113
  true,
115
- CxxModuleWrapper::class.java.isAssignableFrom(moduleClass),
114
+ false,
116
115
  ReactModuleInfo.classIsTurboModule(moduleClass),
117
116
  )
118
117
 
@@ -157,7 +157,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
157
157
  mReactQueueConfiguration.getJSQueueThread(),
158
158
  mNativeModulesQueueThread,
159
159
  mNativeModuleRegistry.getJavaModules(this),
160
- mNativeModuleRegistry.getCxxModules(),
161
160
  mInspectorTarget);
162
161
  FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge after initializeBridge");
163
162
  Systrace.endSection(TRACE_TAG_REACT);
@@ -212,13 +211,11 @@ public class CatalystInstanceImpl implements CatalystInstance {
212
211
  // Extend the Java-visible registry of modules
213
212
  mNativeModuleRegistry.registerModules(modules);
214
213
  Collection<JavaModuleWrapper> javaModules = modules.getJavaModules(this);
215
- Collection<ModuleHolder> cxxModules = modules.getCxxModules();
216
214
  // Extend the Cxx-visible registry of modules wrapped in appropriate interfaces
217
- jniExtendNativeModules(javaModules, cxxModules);
215
+ jniExtendNativeModules(javaModules);
218
216
  }
219
217
 
220
- private native void jniExtendNativeModules(
221
- Collection<JavaModuleWrapper> javaModules, Collection<ModuleHolder> cxxModules);
218
+ private native void jniExtendNativeModules(Collection<JavaModuleWrapper> javaModules);
222
219
 
223
220
  private native void initializeBridge(
224
221
  InstanceCallback callback,
@@ -226,7 +223,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
226
223
  MessageQueueThread jsQueue,
227
224
  MessageQueueThread moduleQueue,
228
225
  Collection<JavaModuleWrapper> javaModules,
229
- Collection<ModuleHolder> cxxModules,
230
226
  @Nullable ReactInstanceManagerInspectorTarget inspectorTarget);
231
227
 
232
228
  @Override
@@ -60,7 +60,7 @@ public class ModuleHolder {
60
60
  nativeModule.javaClass.simpleName,
61
61
  nativeModule.canOverrideExistingModule(),
62
62
  true,
63
- CxxModuleWrapper::class.java.isAssignableFrom(nativeModule.javaClass),
63
+ false,
64
64
  ReactModuleInfo.classIsTurboModule(nativeModule.javaClass),
65
65
  )
66
66
 
@@ -108,7 +108,7 @@ public class ModuleHolder {
108
108
  get() = reactModuleInfo.isTurboModule
109
109
 
110
110
  public val isCxxModule: Boolean
111
- get() = reactModuleInfo.isCxxModule
111
+ get() = false
112
112
 
113
113
  public val className: String
114
114
  get() = reactModuleInfo.className
@@ -36,25 +36,10 @@ public class NativeModuleRegistry(
36
36
  @JvmName("getJavaModules") // This is needed because this method is accessed by JNI
37
37
  internal fun getJavaModules(jsInstance: JSInstance): List<JavaModuleWrapper> = buildList {
38
38
  for ((_, value) in modules) {
39
- if (!value.isCxxModule) {
40
- add(JavaModuleWrapper(jsInstance, value))
41
- }
39
+ add(JavaModuleWrapper(jsInstance, value))
42
40
  }
43
41
  }
44
42
 
45
- @get:JvmName(
46
- "getCxxModules"
47
- ) // This is needed till there are Java Consumer of this API inside React
48
- // Native
49
- internal val cxxModules: List<ModuleHolder>
50
- get() = buildList {
51
- for ((_, value) in modules) {
52
- if (value.isCxxModule) {
53
- add(value)
54
- }
55
- }
56
- }
57
-
58
43
  /** Adds any new modules to the current module registry */
59
44
  @JvmName(
60
45
  "registerModules"
@@ -1485,7 +1485,7 @@ public class FabricUIManager
1485
1485
  mBinding.driveCxxAnimations();
1486
1486
  }
1487
1487
 
1488
- if (mBinding != null) {
1488
+ if (!ReactNativeFeatureFlags.disableViewPreallocationAndroid() && mBinding != null) {
1489
1489
  mBinding.drainPreallocateViewsQueue();
1490
1490
  }
1491
1491
 
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<9646ebeba75ec903be5ade7e2333f0c8>>
7
+ * @generated SignedSource<<01feab16132bc07b79b359178e322327>>
8
8
  */
9
9
 
10
10
  /**
@@ -66,6 +66,12 @@ public object ReactNativeFeatureFlags {
66
66
  @JvmStatic
67
67
  public fun disableFabricCommitInCXXAnimated(): Boolean = accessor.disableFabricCommitInCXXAnimated()
68
68
 
69
+ /**
70
+ * Force disable view preallocation for images triggered from createNode off the main thread on Android
71
+ */
72
+ @JvmStatic
73
+ public fun disableImageViewPreallocationAndroid(): Boolean = accessor.disableImageViewPreallocationAndroid()
74
+
69
75
  /**
70
76
  * Prevent FabricMountingManager from reordering mountItems, which may lead to invalid state on the UI thread
71
77
  */
@@ -90,6 +96,12 @@ public object ReactNativeFeatureFlags {
90
96
  @JvmStatic
91
97
  public fun disableTextLayoutManagerCacheAndroid(): Boolean = accessor.disableTextLayoutManagerCacheAndroid()
92
98
 
99
+ /**
100
+ * Force disable view preallocation triggered from createNode off the main thread on Android
101
+ */
102
+ @JvmStatic
103
+ public fun disableViewPreallocationAndroid(): Boolean = accessor.disableViewPreallocationAndroid()
104
+
93
105
  /**
94
106
  * When enabled, the accessibilityOrder prop will propagate to native platforms and define the accessibility order.
95
107
  */
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<9d6ccbe6d02608901fc18ad88baab176>>
7
+ * @generated SignedSource<<405bf283e4631e166cd57f5dfe30d5f9>>
8
8
  */
9
9
 
10
10
  /**
@@ -26,10 +26,12 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
26
26
  private var cxxNativeAnimatedRemoveJsSyncCache: Boolean? = null
27
27
  private var disableEarlyViewCommandExecutionCache: Boolean? = null
28
28
  private var disableFabricCommitInCXXAnimatedCache: Boolean? = null
29
+ private var disableImageViewPreallocationAndroidCache: Boolean? = null
29
30
  private var disableMountItemReorderingAndroidCache: Boolean? = null
30
31
  private var disableOldAndroidAttachmentMetricsWorkaroundsCache: Boolean? = null
31
32
  private var disableSubviewClippingAndroidCache: Boolean? = null
32
33
  private var disableTextLayoutManagerCacheAndroidCache: Boolean? = null
34
+ private var disableViewPreallocationAndroidCache: Boolean? = null
33
35
  private var enableAccessibilityOrderCache: Boolean? = null
34
36
  private var enableAccumulatedUpdatesInRawPropsAndroidCache: Boolean? = null
35
37
  private var enableAndroidLinearTextCache: Boolean? = null
@@ -157,6 +159,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
157
159
  return cached
158
160
  }
159
161
 
162
+ override fun disableImageViewPreallocationAndroid(): Boolean {
163
+ var cached = disableImageViewPreallocationAndroidCache
164
+ if (cached == null) {
165
+ cached = ReactNativeFeatureFlagsCxxInterop.disableImageViewPreallocationAndroid()
166
+ disableImageViewPreallocationAndroidCache = cached
167
+ }
168
+ return cached
169
+ }
170
+
160
171
  override fun disableMountItemReorderingAndroid(): Boolean {
161
172
  var cached = disableMountItemReorderingAndroidCache
162
173
  if (cached == null) {
@@ -193,6 +204,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
193
204
  return cached
194
205
  }
195
206
 
207
+ override fun disableViewPreallocationAndroid(): Boolean {
208
+ var cached = disableViewPreallocationAndroidCache
209
+ if (cached == null) {
210
+ cached = ReactNativeFeatureFlagsCxxInterop.disableViewPreallocationAndroid()
211
+ disableViewPreallocationAndroidCache = cached
212
+ }
213
+ return cached
214
+ }
215
+
196
216
  override fun enableAccessibilityOrder(): Boolean {
197
217
  var cached = enableAccessibilityOrderCache
198
218
  if (cached == null) {
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<fbc551ca005a7d8abcd2cf2e5d29a3a6>>
7
+ * @generated SignedSource<<bffd645aa55b941acff92ca4efe6192a>>
8
8
  */
9
9
 
10
10
  /**
@@ -40,6 +40,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
40
40
 
41
41
  @DoNotStrip @JvmStatic public external fun disableFabricCommitInCXXAnimated(): Boolean
42
42
 
43
+ @DoNotStrip @JvmStatic public external fun disableImageViewPreallocationAndroid(): Boolean
44
+
43
45
  @DoNotStrip @JvmStatic public external fun disableMountItemReorderingAndroid(): Boolean
44
46
 
45
47
  @DoNotStrip @JvmStatic public external fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean
@@ -48,6 +50,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
48
50
 
49
51
  @DoNotStrip @JvmStatic public external fun disableTextLayoutManagerCacheAndroid(): Boolean
50
52
 
53
+ @DoNotStrip @JvmStatic public external fun disableViewPreallocationAndroid(): Boolean
54
+
51
55
  @DoNotStrip @JvmStatic public external fun enableAccessibilityOrder(): Boolean
52
56
 
53
57
  @DoNotStrip @JvmStatic public external fun enableAccumulatedUpdatesInRawPropsAndroid(): Boolean
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<7b8a5ad9a3353ea32a39bd139e9174f7>>
7
+ * @generated SignedSource<<a25d191472f7777804175ef9f56521d6>>
8
8
  */
9
9
 
10
10
  /**
@@ -35,6 +35,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
35
35
 
36
36
  override fun disableFabricCommitInCXXAnimated(): Boolean = false
37
37
 
38
+ override fun disableImageViewPreallocationAndroid(): Boolean = false
39
+
38
40
  override fun disableMountItemReorderingAndroid(): Boolean = false
39
41
 
40
42
  override fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean = true
@@ -43,6 +45,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
43
45
 
44
46
  override fun disableTextLayoutManagerCacheAndroid(): Boolean = false
45
47
 
48
+ override fun disableViewPreallocationAndroid(): Boolean = false
49
+
46
50
  override fun enableAccessibilityOrder(): Boolean = false
47
51
 
48
52
  override fun enableAccumulatedUpdatesInRawPropsAndroid(): Boolean = false
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<9bb9a7cf89c92f5a397b2328fa983dc6>>
7
+ * @generated SignedSource<<e8531e8c374d0ea1e604a2f3d5000078>>
8
8
  */
9
9
 
10
10
  /**
@@ -30,10 +30,12 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
30
30
  private var cxxNativeAnimatedRemoveJsSyncCache: Boolean? = null
31
31
  private var disableEarlyViewCommandExecutionCache: Boolean? = null
32
32
  private var disableFabricCommitInCXXAnimatedCache: Boolean? = null
33
+ private var disableImageViewPreallocationAndroidCache: Boolean? = null
33
34
  private var disableMountItemReorderingAndroidCache: Boolean? = null
34
35
  private var disableOldAndroidAttachmentMetricsWorkaroundsCache: Boolean? = null
35
36
  private var disableSubviewClippingAndroidCache: Boolean? = null
36
37
  private var disableTextLayoutManagerCacheAndroidCache: Boolean? = null
38
+ private var disableViewPreallocationAndroidCache: Boolean? = null
37
39
  private var enableAccessibilityOrderCache: Boolean? = null
38
40
  private var enableAccumulatedUpdatesInRawPropsAndroidCache: Boolean? = null
39
41
  private var enableAndroidLinearTextCache: Boolean? = null
@@ -167,6 +169,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
167
169
  return cached
168
170
  }
169
171
 
172
+ override fun disableImageViewPreallocationAndroid(): Boolean {
173
+ var cached = disableImageViewPreallocationAndroidCache
174
+ if (cached == null) {
175
+ cached = currentProvider.disableImageViewPreallocationAndroid()
176
+ accessedFeatureFlags.add("disableImageViewPreallocationAndroid")
177
+ disableImageViewPreallocationAndroidCache = cached
178
+ }
179
+ return cached
180
+ }
181
+
170
182
  override fun disableMountItemReorderingAndroid(): Boolean {
171
183
  var cached = disableMountItemReorderingAndroidCache
172
184
  if (cached == null) {
@@ -207,6 +219,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
207
219
  return cached
208
220
  }
209
221
 
222
+ override fun disableViewPreallocationAndroid(): Boolean {
223
+ var cached = disableViewPreallocationAndroidCache
224
+ if (cached == null) {
225
+ cached = currentProvider.disableViewPreallocationAndroid()
226
+ accessedFeatureFlags.add("disableViewPreallocationAndroid")
227
+ disableViewPreallocationAndroidCache = cached
228
+ }
229
+ return cached
230
+ }
231
+
210
232
  override fun enableAccessibilityOrder(): Boolean {
211
233
  var cached = enableAccessibilityOrderCache
212
234
  if (cached == null) {
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<eeb5d70e45eecdef0d9307cbe8ff17c2>>
7
+ * @generated SignedSource<<2325f5410537941e25998ca8c59bf51d>>
8
8
  */
9
9
 
10
10
  /**
@@ -35,6 +35,8 @@ public interface ReactNativeFeatureFlagsProvider {
35
35
 
36
36
  @DoNotStrip public fun disableFabricCommitInCXXAnimated(): Boolean
37
37
 
38
+ @DoNotStrip public fun disableImageViewPreallocationAndroid(): Boolean
39
+
38
40
  @DoNotStrip public fun disableMountItemReorderingAndroid(): Boolean
39
41
 
40
42
  @DoNotStrip public fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean
@@ -43,6 +45,8 @@ public interface ReactNativeFeatureFlagsProvider {
43
45
 
44
46
  @DoNotStrip public fun disableTextLayoutManagerCacheAndroid(): Boolean
45
47
 
48
+ @DoNotStrip public fun disableViewPreallocationAndroid(): Boolean
49
+
46
50
  @DoNotStrip public fun enableAccessibilityOrder(): Boolean
47
51
 
48
52
  @DoNotStrip public fun enableAccumulatedUpdatesInRawPropsAndroid(): Boolean
@@ -11,7 +11,6 @@ import androidx.annotation.GuardedBy
11
11
  import com.facebook.common.logging.FLog
12
12
  import com.facebook.jni.HybridData
13
13
  import com.facebook.proguard.annotations.DoNotStrip
14
- import com.facebook.react.bridge.CxxModuleWrapper
15
14
  import com.facebook.react.bridge.NativeModule
16
15
  import com.facebook.react.bridge.RuntimeExecutor
17
16
  import com.facebook.react.common.annotations.FrameworkAPI
@@ -110,39 +109,7 @@ public class TurboModuleManager(
110
109
  }
111
110
 
112
111
  val module = getModule(moduleName)
113
- return if (module !is CxxModuleWrapper && module !is TurboModule) module else null
114
- }
115
-
116
- // used from TurboModuleManager.cpp
117
- @Suppress("unused")
118
- @DoNotStrip
119
- private fun getLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
120
- /*
121
- * This API is invoked from global.nativeModuleProxy.
122
- * Only call getModule if the native module is a legacy module.
123
- */
124
- if (!isLegacyModule(moduleName)) {
125
- return null
126
- }
127
-
128
- val module = getModule(moduleName)
129
- return if (module is CxxModuleWrapper && module !is TurboModule) module else null
130
- }
131
-
132
- // used from TurboModuleManager.cpp
133
- @Suppress("unused")
134
- @DoNotStrip
135
- private fun getTurboLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
136
- /*
137
- * This API is invoked from global.__turboModuleProxy.
138
- * Only call getModule if the native module is a turbo module.
139
- */
140
- if (!isTurboModule(moduleName)) {
141
- return null
142
- }
143
-
144
- val module = getModule(moduleName)
145
- return if (module is CxxModuleWrapper && module is TurboModule) module else null
112
+ return if (module !is TurboModule) module else null
146
113
  }
147
114
 
148
115
  // used from TurboModuleManager.cpp
@@ -158,7 +125,7 @@ public class TurboModuleManager(
158
125
  }
159
126
 
160
127
  val module = getModule(moduleName)
161
- return if (module !is CxxModuleWrapper && module is TurboModule) module else null
128
+ return if (module is TurboModule) module else null
162
129
  }
163
130
 
164
131
  /**
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 84,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20251106-de5141a3d"
18
+ "prerelease" to "nightly-20251108-7486a2bc5"
19
19
  )
20
20
  }
@@ -474,14 +474,13 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
474
474
  public void setImportantForAccessibility(
475
475
  @NonNull T view, @Nullable String importantForAccessibility) {
476
476
  if (importantForAccessibility == null || importantForAccessibility.equals("auto")) {
477
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
477
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
478
478
  } else if (importantForAccessibility.equals("yes")) {
479
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
479
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
480
480
  } else if (importantForAccessibility.equals("no")) {
481
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);
481
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
482
482
  } else if (importantForAccessibility.equals("no-hide-descendants")) {
483
- ViewCompat.setImportantForAccessibility(
484
- view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
483
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
485
484
  }
486
485
  }
487
486
 
@@ -49,6 +49,13 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
49
49
  }
50
50
  }
51
51
 
52
+ override fun remove(virtualView: VirtualView) {
53
+ super.remove(virtualView)
54
+ HPV.remove(virtualView.virtualViewID)
55
+ P.remove(virtualView.virtualViewID)
56
+ V.remove(virtualView.virtualViewID)
57
+ }
58
+
52
59
  /**
53
60
  * Perform mode update check on a single VirtualView. Does not check other VirtualViews in the
54
61
  * collection. Use carefully
@@ -29,6 +29,7 @@
29
29
  #include <react/renderer/scheduler/SchedulerToolbox.h>
30
30
  #include <react/renderer/uimanager/primitives.h>
31
31
  #include <react/utils/ContextContainer.h>
32
+ #include <string_view>
32
33
 
33
34
  namespace facebook::react {
34
35
 
@@ -672,6 +673,17 @@ void FabricUIManagerBinding::schedulerShouldRenderTransactions(
672
673
 
673
674
  void FabricUIManagerBinding::schedulerDidRequestPreliminaryViewAllocation(
674
675
  const ShadowNode& shadowNode) {
676
+ using namespace std::literals::string_view_literals;
677
+
678
+ if (ReactNativeFeatureFlags::disableViewPreallocationAndroid()) {
679
+ return;
680
+ }
681
+
682
+ if (ReactNativeFeatureFlags::disableImageViewPreallocationAndroid() &&
683
+ std::string_view(shadowNode.getComponentName()) == "Image"sv) {
684
+ return;
685
+ }
686
+
675
687
  auto mountingManager = getMountingManager("preallocateView");
676
688
  if (!mountingManager) {
677
689
  return;