react-native-tvos 0.83.2-0 → 0.84.0-0

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 (576) hide show
  1. package/Libraries/Animated/AnimatedEvent.js +2 -2
  2. package/Libraries/Animated/animations/Animation.js +1 -3
  3. package/Libraries/Animated/createAnimatedComponent.js +8 -5
  4. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  5. package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
  6. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  7. package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
  8. package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
  9. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
  10. package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
  11. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  12. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  13. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -31
  14. package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
  15. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
  16. package/Libraries/BatchedBridge/MessageQueue.js +24 -22
  17. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  18. package/Libraries/Blob/URL.js +34 -3
  19. package/Libraries/Blob/URLSearchParams.js +1 -0
  20. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
  21. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
  22. package/Libraries/Components/Button.js +2 -5
  23. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  24. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
  25. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  26. package/Libraries/Components/Pressable/Pressable.js +8 -8
  27. package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
  28. package/Libraries/Components/TextInput/TextInput.js +33 -34
  29. package/Libraries/Components/Touchable/PooledClass.js +2 -2
  30. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  31. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  32. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  33. package/Libraries/Components/View/ViewPropTypes.js +16 -6
  34. package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
  35. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  36. package/Libraries/Core/ExceptionsManager.js +3 -3
  37. package/Libraries/Core/RawEventEmitter.js +1 -1
  38. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  39. package/Libraries/Core/ReactNativeVersion.js +2 -2
  40. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  41. package/Libraries/Core/setUpErrorHandling.js +1 -1
  42. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
  43. package/Libraries/Image/Image.android.js +2 -2
  44. package/Libraries/Image/Image.ios.js +2 -2
  45. package/Libraries/Image/ImageProps.js +1 -1
  46. package/Libraries/Image/ImageTypes.flow.js +2 -2
  47. package/Libraries/Image/RCTImagePlugins.h +1 -0
  48. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  49. package/Libraries/Interaction/InteractionManager.js +3 -3
  50. package/Libraries/Interaction/PanResponder.js +1 -1
  51. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  52. package/Libraries/Linking/Linking.js +1 -1
  53. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  54. package/Libraries/Lists/FlatList.js +2 -2
  55. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  56. package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
  57. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  58. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
  59. package/Libraries/LogBox/LogBox.js +7 -7
  60. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  61. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
  62. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  63. package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
  64. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  65. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  66. package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
  67. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  68. package/Libraries/Network/RCTNetworking.android.js +3 -3
  69. package/Libraries/Network/RCTNetworking.ios.js +2 -2
  70. package/Libraries/Network/RCTNetworking.js.flow +2 -2
  71. package/Libraries/Pressability/Pressability.js +9 -9
  72. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  73. package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
  74. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  75. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  76. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  77. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  78. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  79. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  80. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  81. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  82. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  83. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  84. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  85. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  86. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
  87. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
  88. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
  89. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  90. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  91. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  92. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  93. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  94. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  95. package/Libraries/Settings/RCTSettingsManager.mm +1 -1
  96. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  97. package/Libraries/Settings/Settings.ios.js +1 -1
  98. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  99. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  100. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  101. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  102. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
  103. package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
  104. package/Libraries/StyleSheet/processFilter.js +1 -1
  105. package/Libraries/Text/Text.js +46 -6
  106. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -2
  107. package/Libraries/Text/TextNativeComponent.js +1 -1
  108. package/Libraries/Text/TextProps.js +7 -7
  109. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
  110. package/Libraries/Types/CodegenTypes.js +1 -1
  111. package/Libraries/Types/CoreEventTypes.js +31 -0
  112. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  113. package/Libraries/Utilities/Appearance.js +2 -2
  114. package/Libraries/Utilities/DevLoadingView.js +8 -1
  115. package/Libraries/Utilities/DevSettings.js +3 -3
  116. package/Libraries/Utilities/HMRClient.js +4 -3
  117. package/Libraries/Utilities/RCTLog.js +3 -3
  118. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  119. package/Libraries/Utilities/SceneTracker.js +1 -1
  120. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  121. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  122. package/Libraries/Utilities/logError.js +1 -1
  123. package/Libraries/Utilities/stringifySafe.js +7 -7
  124. package/Libraries/Utilities/useRefEffect.js +1 -1
  125. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  126. package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
  127. package/Libraries/promiseRejectionTrackingOptions.js +8 -8
  128. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  129. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  130. package/README.md +56 -18
  131. package/React/Base/RCTAssert.m +2 -2
  132. package/React/Base/RCTBridge.h +0 -4
  133. package/React/Base/RCTBridge.mm +1 -12
  134. package/React/Base/RCTBundleManager.h +59 -7
  135. package/React/Base/RCTBundleManager.m +112 -1
  136. package/React/Base/RCTBundleURLProvider.h +24 -0
  137. package/React/Base/RCTBundleURLProvider.mm +49 -4
  138. package/React/Base/RCTConvert.mm +2 -0
  139. package/React/Base/RCTModuleData.mm +2 -2
  140. package/React/Base/RCTUtils.h +4 -0
  141. package/React/Base/RCTUtils.mm +60 -3
  142. package/React/Base/RCTVersion.m +2 -2
  143. package/React/CoreModules/CoreModulesPlugins.mm +97 -35
  144. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
  145. package/React/CoreModules/RCTAccessibilityManager.mm +18 -1
  146. package/React/CoreModules/RCTAppState.mm +1 -1
  147. package/React/CoreModules/RCTDevLoadingView.mm +116 -36
  148. package/React/CoreModules/RCTDevSettings.h +36 -1
  149. package/React/CoreModules/RCTDevSettings.mm +44 -8
  150. package/React/CoreModules/RCTExceptionsManager.mm +5 -2
  151. package/React/CoreModules/RCTPlatform.mm +3 -2
  152. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  153. package/React/CxxBridge/RCTCxxBridge.mm +1 -2
  154. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  155. package/React/CxxModule/RCTCxxUtils.mm +2 -12
  156. package/React/DevSupport/RCTDevLoadingViewProtocol.h +4 -1
  157. package/React/DevSupport/RCTPackagerConnection.h +4 -2
  158. package/React/DevSupport/RCTPackagerConnection.mm +30 -33
  159. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +9 -2
  160. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +62 -17
  161. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +529 -494
  162. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +1 -0
  163. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +14 -0
  164. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +11 -0
  165. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -0
  166. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
  167. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +39 -2
  168. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +5 -7
  169. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +5 -7
  170. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  171. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  172. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +6 -2
  173. package/React/Modules/RCTEventEmitter.m +1 -0
  174. package/React/Views/RCTModalHostView.h +2 -0
  175. package/React/Views/RCTTVView.m +2 -0
  176. package/ReactAndroid/api/ReactAndroid.api +14 -73
  177. package/ReactAndroid/build.gradle.kts +2 -0
  178. package/ReactAndroid/gradle.properties +1 -1
  179. package/ReactAndroid/hermes-engine/build.gradle.kts +97 -29
  180. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
  181. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
  182. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -13
  183. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -119
  184. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +0 -10
  185. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
  186. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
  187. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +43 -2
  188. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  189. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
  190. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +6 -96
  191. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +17 -2
  192. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -33
  194. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
  195. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
  196. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
  197. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
  198. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
  199. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  200. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +58 -13
  201. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
  202. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
  203. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +1 -4
  204. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +17 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +144 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +6 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +7 -6
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
  217. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +63 -45
  220. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -76
  221. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +22 -16
  222. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +23 -17
  223. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +117 -84
  224. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
  225. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  226. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +22 -16
  227. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
  228. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
  229. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +36 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
  231. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
  232. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +1 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +15 -8
  236. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
  237. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
  238. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
  239. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
  240. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
  242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
  243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
  245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  246. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
  247. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
  248. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
  251. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
  252. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
  253. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
  262. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
  263. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
  266. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
  268. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
  269. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
  272. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  273. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
  274. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
  275. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
  276. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
  277. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
  278. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
  279. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
  280. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
  281. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  282. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  283. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  284. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  285. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  286. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  287. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
  288. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
  289. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
  290. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
  291. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
  292. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  293. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
  294. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
  295. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
  296. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  297. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  298. package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
  299. package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
  300. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
  301. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
  302. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
  303. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
  304. package/ReactCommon/cmake-utils/react-native-flags.cmake +3 -0
  305. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  306. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  307. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  308. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  309. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
  310. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  311. package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
  312. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -0
  313. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
  314. package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
  315. package/ReactCommon/jsi/jsi/jsi.h +73 -0
  316. package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
  317. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  318. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
  319. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
  320. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
  321. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  322. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  323. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  324. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  325. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  326. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  327. package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
  328. package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
  329. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
  330. package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
  331. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
  332. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  333. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  334. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  335. package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
  336. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  337. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  338. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  339. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  340. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  341. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  342. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  343. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
  344. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
  345. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  346. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  347. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
  348. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
  349. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  350. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
  351. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  352. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
  353. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
  354. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
  355. package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
  356. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
  357. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
  358. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  359. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  361. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
  362. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
  363. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  364. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
  365. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
  366. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  367. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
  368. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  369. package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
  371. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
  372. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
  373. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
  374. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
  375. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
  376. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  377. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
  378. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
  379. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
  380. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
  381. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
  382. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
  383. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
  384. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
  385. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
  386. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
  387. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
  388. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
  389. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  390. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
  391. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
  392. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
  393. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
  394. package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
  395. package/ReactCommon/react/networking/React-networking.podspec +0 -1
  396. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  397. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  398. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
  399. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  400. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
  401. package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
  402. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
  403. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
  404. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
  405. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
  406. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
  407. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
  408. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
  409. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
  410. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
  411. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
  412. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
  413. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
  414. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
  415. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
  416. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
  417. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +715 -0
  418. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
  419. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
  420. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
  421. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +298 -0
  422. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
  423. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +90 -94
  424. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
  425. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
  426. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
  427. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
  428. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
  429. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
  430. package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
  431. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
  432. package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
  433. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
  434. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
  435. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
  436. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
  437. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
  438. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
  439. package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
  440. package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
  441. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  442. package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
  443. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  444. package/ReactCommon/react/renderer/core/Props.cpp +23 -8
  445. package/ReactCommon/react/renderer/core/Props.h +6 -4
  446. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
  447. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
  448. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  449. package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
  450. package/ReactCommon/react/renderer/debug/flags.h +3 -2
  451. package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
  452. package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
  453. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
  454. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
  455. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
  456. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
  457. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
  458. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  460. package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
  461. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
  462. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  463. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  464. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  465. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  466. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
  467. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  468. package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
  469. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
  470. package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
  471. package/ReactCommon/react/runtime/ReactInstance.h +5 -1
  472. package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
  473. package/ReactCommon/react/runtime/TimerManager.h +7 -12
  474. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
  475. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  476. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  477. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
  478. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
  479. package/ReactCommon/yoga/yoga/style/Style.h +8 -8
  480. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  481. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  482. package/flow/HermesInternalType.js +6 -6
  483. package/flow/bom.js.flow +35 -28
  484. package/flow/cssom.js.flow +3 -3
  485. package/flow/dom.js.flow +34 -33
  486. package/index.js +3 -0
  487. package/index.js.flow +8 -0
  488. package/jest/mock.js +2 -2
  489. package/jest/mockComponent.js +1 -1
  490. package/jest/setup.js +1 -1
  491. package/package.json +11 -11
  492. package/react-native.config.js +0 -17
  493. package/scripts/cocoapods/new_architecture.rb +7 -1
  494. package/scripts/cocoapods/spm.rb +28 -10
  495. package/scripts/cocoapods/utils.rb +4 -4
  496. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +5 -5
  497. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
  498. package/scripts/ios-configure-glog.sh +24 -1
  499. package/scripts/react_native_pods.rb +13 -0
  500. package/sdks/.hermesv1version +1 -1
  501. package/sdks/.hermesversion +1 -1
  502. package/sdks/hermes-engine/hermes-engine.podspec +53 -36
  503. package/sdks/hermes-engine/hermes-utils.rb +8 -15
  504. package/sdks/hermes-engine/version.properties +1 -1
  505. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  506. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  507. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  508. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  509. package/src/private/components/virtualview/VirtualView.js +16 -9
  510. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  511. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  512. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  513. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  514. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  515. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  516. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  517. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  518. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  519. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  520. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  521. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  522. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  523. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  524. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  525. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  526. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  527. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  528. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
  529. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  530. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
  531. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  532. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  533. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  534. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  535. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  536. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  537. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  538. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  539. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  540. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  541. package/src/private/webapis/performance/Performance.js +1 -1
  542. package/src/private/webapis/performance/UserTiming.js +1 -1
  543. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  544. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  545. package/src/types/globals.d.ts +30 -1
  546. package/third-party-podspecs/RCT-Folly.podspec +1 -0
  547. package/third-party-podspecs/glog.podspec +1 -0
  548. package/React/CxxModule/RCTCxxModule.h +0 -29
  549. package/React/CxxModule/RCTCxxModule.mm +0 -87
  550. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
  551. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
  552. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  553. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  554. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
  555. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
  556. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
  557. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  560. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
  565. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
  566. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
  567. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
  568. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
  569. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  570. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
  571. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
  572. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
  573. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  574. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
  575. package/tvosCommands.js +0 -51
  576. /package/ReactCommon/jsi/jsi/{hermes.h → hermes-interfaces.h} +0 -0
@@ -57,6 +57,7 @@ import com.facebook.react.modules.appregistry.AppRegistry;
57
57
  import com.facebook.react.modules.deviceinfo.DeviceInfoModule;
58
58
  import com.facebook.react.uimanager.DisplayMetricsHolder;
59
59
  import com.facebook.react.uimanager.IllegalViewOperationException;
60
+ import com.facebook.react.uimanager.JSKeyDispatcher;
60
61
  import com.facebook.react.uimanager.JSPointerDispatcher;
61
62
  import com.facebook.react.uimanager.JSTouchDispatcher;
62
63
  import com.facebook.react.uimanager.PixelUtil;
@@ -106,6 +107,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
106
107
  private boolean mShouldLogContentAppeared;
107
108
  private @Nullable JSTouchDispatcher mJSTouchDispatcher;
108
109
  private @Nullable JSPointerDispatcher mJSPointerDispatcher;
110
+ private @Nullable JSKeyDispatcher mJSKeyDispatcher;
109
111
  private final ReactAndroidHWInputDeviceHelper mAndroidHWInputDeviceHelper =
110
112
  new ReactAndroidHWInputDeviceHelper();
111
113
  private boolean mWasMeasured = false;
@@ -334,10 +336,17 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
334
336
  FLog.w(TAG, "Unable to handle key event as the catalyst instance has not been attached");
335
337
  return super.dispatchKeyEvent(ev);
336
338
  }
339
+
337
340
  ReactContext context = getCurrentReactContext();
338
- if (context != null) {
339
- mAndroidHWInputDeviceHelper.handleKeyEvent(ev, context);
341
+ if (context == null) {
342
+ return super.dispatchKeyEvent(ev);
340
343
  }
344
+
345
+ mAndroidHWInputDeviceHelper.handleKeyEvent(ev, context);
346
+
347
+ // Dispatch during the capture phase before children handle the event as the focus could shift
348
+ dispatchJSKeyEvent(ev);
349
+
341
350
  return super.dispatchKeyEvent(ev);
342
351
  }
343
352
 
@@ -378,6 +387,31 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
378
387
  }
379
388
  }
380
389
 
390
+ protected void dispatchJSKeyEvent(KeyEvent ev) {
391
+ if (!ReactNativeFeatureFlags.enableKeyEvents()) {
392
+ // Silently return early if key events are disabled
393
+ return;
394
+ }
395
+ if (!hasActiveReactContext() || !isViewAttachedToReactInstance()) {
396
+ FLog.w(
397
+ TAG, "Unable to dispatch key event to JS as the catalyst instance has not been attached");
398
+ return;
399
+ }
400
+ if (mJSKeyDispatcher == null) {
401
+ FLog.w(TAG, "Unable to dispatch key event to JS before the dispatcher is available");
402
+ return;
403
+ }
404
+ ReactContext context = getCurrentReactContext();
405
+ if (context != null) {
406
+ EventDispatcher eventDispatcher =
407
+ UIManagerHelper.getEventDispatcher(context, getUIManagerType());
408
+ int surfaceId = UIManagerHelper.getSurfaceId(context);
409
+ if (eventDispatcher != null) {
410
+ mJSKeyDispatcher.handleKeyEvent(ev, eventDispatcher, surfaceId);
411
+ }
412
+ }
413
+ }
414
+
381
415
  @Override
382
416
  public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
383
417
  // Override in order to still receive events to onInterceptTouchEvent even when some other
@@ -634,6 +668,10 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
634
668
  mJSPointerDispatcher = new JSPointerDispatcher(this);
635
669
  }
636
670
 
671
+ if (ReactNativeFeatureFlags.enableKeyEvents()) {
672
+ mJSKeyDispatcher = new JSKeyDispatcher();
673
+ }
674
+
637
675
  if (mRootViewEventListener != null) {
638
676
  mRootViewEventListener.onAttachedToReactInstance(this);
639
677
  }
@@ -712,6 +750,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
712
750
  if (ReactFeatureFlags.dispatchPointerEvents) {
713
751
  mJSPointerDispatcher = new JSPointerDispatcher(this);
714
752
  }
753
+ if (ReactNativeFeatureFlags.enableKeyEvents()) {
754
+ mJSKeyDispatcher = new JSKeyDispatcher();
755
+ }
715
756
  }
716
757
 
717
758
  @VisibleForTesting
@@ -10,16 +10,65 @@ package com.facebook.react
10
10
  import com.facebook.react.bridge.ReactApplicationContext
11
11
  import com.facebook.react.uimanager.ViewManager
12
12
 
13
+ /**
14
+ * Interface for React Native packages that provide ViewManagers on-demand rather than eagerly.
15
+ *
16
+ * This interface enables lazy initialization of ViewManagers, improving startup performance by
17
+ * deferring the creation of ViewManager instances until they are actually needed by the JavaScript
18
+ * code. Instead of instantiating all ViewManagers during package initialization, implementing
19
+ * classes can defer creation until a specific ViewManager is requested by name.
20
+ *
21
+ * This pattern is particularly beneficial for applications with many ViewManagers, as it reduces
22
+ * memory footprint and initialization time by only creating the ViewManagers that are actively
23
+ * used.
24
+ *
25
+ * Implementing classes should maintain a registry or factory mechanism to create ViewManagers based
26
+ * on their names when requested.
27
+ *
28
+ * @see com.facebook.react.uimanager.ViewManager
29
+ * @see com.facebook.react.ReactPackage
30
+ */
13
31
  public interface ViewManagerOnDemandReactPackage {
14
32
  /**
15
- * Provides a list of names of ViewManagers with which these modules can be accessed from JS.
16
- * Typically, this is ViewManager.getName().
33
+ * Provides the names of all ViewManagers available in this package.
34
+ *
35
+ * This method returns a collection of ViewManager names that can be accessed from JavaScript. The
36
+ * names returned should match the values returned by [ViewManager.getName] for each ViewManager
37
+ * that this package can create. The React Native framework uses these names to determine which
38
+ * ViewManagers are available and to request their creation on-demand.
39
+ *
40
+ * This method is called during the initialization phase to register available ViewManagers
41
+ * without actually instantiating them, enabling lazy loading.
42
+ *
43
+ * @param reactContext The React application context, which provides access to the Android
44
+ * application context and React Native lifecycle information
45
+ * @return A collection of ViewManager names. Returns an empty collection if no ViewManagers are
46
+ * available. The returned names should be unique within this package
17
47
  */
18
48
  public fun getViewManagerNames(reactContext: ReactApplicationContext): Collection<String>
19
49
 
20
50
  /**
21
- * Creates and returns a ViewManager with a specific name {@param viewManagerName}. It's up to an
22
- * implementing package how to interpret the name.
51
+ * Creates and returns a ViewManager instance for the specified name.
52
+ *
53
+ * This method is called lazily when a ViewManager is actually needed by the JavaScript code,
54
+ * rather than during package initialization. The implementation should create and configure the
55
+ * appropriate ViewManager based on the provided name. The name parameter corresponds to one of
56
+ * the names returned by [getViewManagerNames].
57
+ *
58
+ * Implementations have flexibility in how they interpret the name and create ViewManagers. For
59
+ * example, they might use a factory pattern, reflection, or a simple name-to-class mapping.
60
+ *
61
+ * This method may be called on any thread, so implementations should ensure thread safety if
62
+ * necessary.
63
+ *
64
+ * @param reactContext The React application context, which provides access to the Android
65
+ * application context and React Native lifecycle information needed to initialize the
66
+ * ViewManager
67
+ * @param viewManagerName The name of the ViewManager to create, matching one of the names
68
+ * returned by [getViewManagerNames]
69
+ * @return A ViewManager instance for the specified name, or null if the name is not recognized or
70
+ * the ViewManager cannot be created. Returning null will result in a JavaScript error when the
71
+ * native component is used
23
72
  */
24
73
  public fun createViewManager(
25
74
  reactContext: ReactApplicationContext,
@@ -75,24 +75,6 @@ public interface CatalystInstance : MemoryPressureListener, JSInstance, JSBundle
75
75
  */
76
76
  public fun extendNativeModules(modules: NativeModuleRegistry)
77
77
 
78
- /**
79
- * Adds a idle listener for this Catalyst instance. The listener will receive notifications
80
- * whenever the bridge transitions from idle to busy and vice-versa, where the busy state is
81
- * defined as there being some non-zero number of calls to JS that haven't resolved via a
82
- * onBatchCompleted call. The listener should be purely passive and not affect application logic.
83
- */
84
- public fun addBridgeIdleDebugListener(
85
- @Suppress("DEPRECATION") listener: NotThreadSafeBridgeIdleDebugListener
86
- )
87
-
88
- /**
89
- * Removes a NotThreadSafeBridgeIdleDebugListener previously added with
90
- * [addBridgeIdleDebugListener]
91
- */
92
- public fun removeBridgeIdleDebugListener(
93
- @Suppress("DEPRECATION") listener: NotThreadSafeBridgeIdleDebugListener
94
- )
95
-
96
78
  /** This method registers the file path of an additional JS segment by its ID. */
97
79
  public fun registerSegment(segmentId: Int, path: String)
98
80
 
@@ -7,7 +7,6 @@
7
7
 
8
8
  package com.facebook.react.bridge;
9
9
 
10
- import static com.facebook.infer.annotation.Assertions.assertCondition;
11
10
  import static com.facebook.infer.annotation.ThreadConfined.UI;
12
11
  import static com.facebook.systrace.Systrace.TRACE_TAG_REACT;
13
12
 
@@ -39,7 +38,6 @@ import com.facebook.systrace.TraceListener;
39
38
  import java.lang.ref.WeakReference;
40
39
  import java.util.ArrayList;
41
40
  import java.util.Collection;
42
- import java.util.concurrent.CopyOnWriteArrayList;
43
41
  import java.util.concurrent.atomic.AtomicInteger;
44
42
 
45
43
  /**
@@ -88,7 +86,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
88
86
 
89
87
  // Access from any thread
90
88
  private final ReactQueueConfigurationImpl mReactQueueConfiguration;
91
- private final CopyOnWriteArrayList<NotThreadSafeBridgeIdleDebugListener> mBridgeIdleListeners;
92
89
  private final AtomicInteger mPendingJSCalls = new AtomicInteger(0);
93
90
  private final String mJsPendingCallsTitleForTrace =
94
91
  "pending_js_calls_instance" + sNextInstanceIdForTrace.getAndIncrement();
@@ -121,15 +118,12 @@ public class CatalystInstanceImpl implements CatalystInstance {
121
118
 
122
119
  public native NativeMethodCallInvokerHolderImpl getNativeMethodCallInvokerHolder();
123
120
 
124
- private @Nullable ReactInstanceManagerInspectorTarget mInspectorTarget;
125
-
126
121
  private CatalystInstanceImpl(
127
122
  final ReactQueueConfigurationSpec reactQueueConfigurationSpec,
128
123
  final JavaScriptExecutor jsExecutor,
129
124
  final NativeModuleRegistry nativeModuleRegistry,
130
125
  final JSBundleLoader jsBundleLoader,
131
- JSExceptionHandler jSExceptionHandler,
132
- @Nullable ReactInstanceManagerInspectorTarget inspectorTarget) {
126
+ JSExceptionHandler jSExceptionHandler) {
133
127
  FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge.");
134
128
  Systrace.beginSection(TRACE_TAG_REACT, "createCatalystInstanceImpl");
135
129
 
@@ -138,14 +132,12 @@ public class CatalystInstanceImpl implements CatalystInstance {
138
132
  mReactQueueConfiguration =
139
133
  ReactQueueConfigurationImpl.create(
140
134
  reactQueueConfigurationSpec, new NativeExceptionHandler());
141
- mBridgeIdleListeners = new CopyOnWriteArrayList<>();
142
135
  mNativeModuleRegistry = nativeModuleRegistry;
143
136
  mJSModuleRegistry = new JavaScriptModuleRegistry();
144
137
  mJSBundleLoader = jsBundleLoader;
145
138
  mJSExceptionHandler = jSExceptionHandler;
146
139
  mNativeModulesQueueThread = mReactQueueConfiguration.getNativeModulesQueueThread();
147
140
  mTraceListener = new JSProfilerTraceListener(this);
148
- mInspectorTarget = inspectorTarget;
149
141
  Systrace.endSection(TRACE_TAG_REACT);
150
142
 
151
143
  FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge before initializeBridge");
@@ -156,9 +148,7 @@ public class CatalystInstanceImpl implements CatalystInstance {
156
148
  jsExecutor,
157
149
  mReactQueueConfiguration.getJSQueueThread(),
158
150
  mNativeModulesQueueThread,
159
- mNativeModuleRegistry.getJavaModules(this),
160
- mNativeModuleRegistry.getCxxModules(),
161
- mInspectorTarget);
151
+ mNativeModuleRegistry.getJavaModules(this));
162
152
  FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge after initializeBridge");
163
153
  Systrace.endSection(TRACE_TAG_REACT);
164
154
 
@@ -176,16 +166,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
176
166
  mOuter = new WeakReference<>(outer);
177
167
  }
178
168
 
179
- public void onBatchComplete() {
180
- CatalystInstanceImpl impl = mOuter.get();
181
- if (impl != null) {
182
- impl.mNativeModulesQueueThread.runOnQueue(
183
- () -> {
184
- impl.mNativeModuleRegistry.onBatchComplete();
185
- });
186
- }
187
- }
188
-
189
169
  public void incrementPendingJSCalls() {
190
170
  CatalystInstanceImpl impl = mOuter.get();
191
171
  if (impl != null) {
@@ -212,22 +192,18 @@ public class CatalystInstanceImpl implements CatalystInstance {
212
192
  // Extend the Java-visible registry of modules
213
193
  mNativeModuleRegistry.registerModules(modules);
214
194
  Collection<JavaModuleWrapper> javaModules = modules.getJavaModules(this);
215
- Collection<ModuleHolder> cxxModules = modules.getCxxModules();
216
195
  // Extend the Cxx-visible registry of modules wrapped in appropriate interfaces
217
- jniExtendNativeModules(javaModules, cxxModules);
196
+ jniExtendNativeModules(javaModules);
218
197
  }
219
198
 
220
- private native void jniExtendNativeModules(
221
- Collection<JavaModuleWrapper> javaModules, Collection<ModuleHolder> cxxModules);
199
+ private native void jniExtendNativeModules(Collection<JavaModuleWrapper> javaModules);
222
200
 
223
201
  private native void initializeBridge(
224
202
  InstanceCallback callback,
225
203
  JavaScriptExecutor jsExecutor,
226
204
  MessageQueueThread jsQueue,
227
205
  MessageQueueThread moduleQueue,
228
- Collection<JavaModuleWrapper> javaModules,
229
- Collection<ModuleHolder> cxxModules,
230
- @Nullable ReactInstanceManagerInspectorTarget inspectorTarget);
206
+ Collection<JavaModuleWrapper> javaModules);
231
207
 
232
208
  @Override
233
209
  public void setSourceURLs(String deviceURL, String remoteURL) {
@@ -358,13 +334,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
358
334
  return;
359
335
  }
360
336
 
361
- if (mInspectorTarget != null) {
362
- assertCondition(
363
- mInspectorTarget.isValid(),
364
- "ReactInstanceManager inspector target destroyed before instance was unregistered");
365
- }
366
- unregisterFromInspector();
367
-
368
337
  // TODO: tell all APIs to shut down
369
338
  ReactMarker.logMarker(ReactMarkerConstants.DESTROY_CATALYST_INSTANCE_START);
370
339
  mDestroyed = true;
@@ -376,14 +345,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
376
345
  mFabricUIManager.invalidate();
377
346
  }
378
347
  boolean wasIdle = (mPendingJSCalls.getAndSet(0) == 0);
379
- if (!mBridgeIdleListeners.isEmpty()) {
380
- for (NotThreadSafeBridgeIdleDebugListener listener : mBridgeIdleListeners) {
381
- if (!wasIdle) {
382
- listener.onTransitionToBridgeIdle();
383
- }
384
- listener.onBridgeDestroyed();
385
- }
386
- }
387
348
 
388
349
  getReactQueueConfiguration()
389
350
  .getJSQueueThread()
@@ -525,30 +486,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
525
486
  jniHandleMemoryPressure(level);
526
487
  }
527
488
 
528
- /**
529
- * Adds a idle listener for this Catalyst instance. The listener will receive notifications
530
- * whenever the bridge transitions from idle to busy and vice-versa, where the busy state is
531
- * defined as there being some non-zero number of calls to JS that haven't resolved via a
532
- * onBatchComplete call. The listener should be purely passive and not affect application logic.
533
- *
534
- * @noinspection deprecation
535
- */
536
- @Override
537
- public void addBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener) {
538
- mBridgeIdleListeners.add(listener);
539
- }
540
-
541
- /**
542
- * Removes a NotThreadSafeBridgeIdleDebugListener previously added with {@link
543
- * #addBridgeIdleDebugListener}
544
- *
545
- * @noinspection deprecation
546
- */
547
- @Override
548
- public void removeBridgeIdleDebugListener(NotThreadSafeBridgeIdleDebugListener listener) {
549
- mBridgeIdleListeners.remove(listener);
550
- }
551
-
552
489
  @Override
553
490
  public native void setGlobalVariable(String propName, String jsonValue);
554
491
 
@@ -565,16 +502,7 @@ public class CatalystInstanceImpl implements CatalystInstance {
565
502
 
566
503
  private void incrementPendingJSCalls() {
567
504
  int oldPendingCalls = mPendingJSCalls.getAndIncrement();
568
- boolean wasIdle = oldPendingCalls == 0;
569
505
  Systrace.traceCounter(TRACE_TAG_REACT, mJsPendingCallsTitleForTrace, oldPendingCalls + 1);
570
- if (wasIdle && !mBridgeIdleListeners.isEmpty()) {
571
- mNativeModulesQueueThread.runOnQueue(
572
- () -> {
573
- for (NotThreadSafeBridgeIdleDebugListener listener : mBridgeIdleListeners) {
574
- listener.onTransitionToBridgeBusy();
575
- }
576
- });
577
- }
578
506
  }
579
507
 
580
508
  @Override
@@ -596,17 +524,7 @@ public class CatalystInstanceImpl implements CatalystInstance {
596
524
  int newPendingCalls = mPendingJSCalls.decrementAndGet();
597
525
  // TODO(9604406): handle case of web workers injecting messages to main thread
598
526
  // Assertions.assertCondition(newPendingCalls >= 0);
599
- boolean isNowIdle = newPendingCalls == 0;
600
527
  Systrace.traceCounter(TRACE_TAG_REACT, mJsPendingCallsTitleForTrace, newPendingCalls);
601
-
602
- if (isNowIdle && !mBridgeIdleListeners.isEmpty()) {
603
- mNativeModulesQueueThread.runOnQueue(
604
- () -> {
605
- for (NotThreadSafeBridgeIdleDebugListener listener : mBridgeIdleListeners) {
606
- listener.onTransitionToBridgeIdle();
607
- }
608
- });
609
- }
610
528
  }
611
529
 
612
530
  private void onNativeException(Exception e) {
@@ -663,7 +581,6 @@ public class CatalystInstanceImpl implements CatalystInstance {
663
581
  private @Nullable NativeModuleRegistry mRegistry;
664
582
  private @Nullable JavaScriptExecutor mJSExecutor;
665
583
  private @Nullable JSExceptionHandler mJSExceptionHandler;
666
- private @Nullable ReactInstanceManagerInspectorTarget mInspectorTarget;
667
584
 
668
585
  public Builder setReactQueueConfigurationSpec(
669
586
  ReactQueueConfigurationSpec ReactQueueConfigurationSpec) {
@@ -691,20 +608,13 @@ public class CatalystInstanceImpl implements CatalystInstance {
691
608
  return this;
692
609
  }
693
610
 
694
- public Builder setInspectorTarget(
695
- @Nullable ReactInstanceManagerInspectorTarget inspectorTarget) {
696
- mInspectorTarget = inspectorTarget;
697
- return this;
698
- }
699
-
700
611
  public CatalystInstanceImpl build() {
701
612
  return new CatalystInstanceImpl(
702
613
  Assertions.assertNotNull(mReactQueueConfigurationSpec),
703
614
  Assertions.assertNotNull(mJSExecutor),
704
615
  Assertions.assertNotNull(mRegistry),
705
616
  Assertions.assertNotNull(mJSBundleLoader),
706
- Assertions.assertNotNull(mJSExceptionHandler),
707
- mInspectorTarget);
617
+ Assertions.assertNotNull(mJSExceptionHandler));
708
618
  }
709
619
  }
710
620
  }
@@ -347,8 +347,23 @@ internal class JavaMethodWrapper(
347
347
  if (jsArguments.isNull(atIndex)) {
348
348
  null
349
349
  } else {
350
- val id = jsArguments.getDouble(atIndex).toInt()
351
- @Suppress("DEPRECATION") CallbackImpl(jsInstance, id)
350
+ object : Callback {
351
+ private var invoked = false
352
+
353
+ override fun invoke(vararg args: Any?) {
354
+ if (invoked) {
355
+ error(
356
+ "Illegal callback invocation from native module. This callback type only permits a single invocation from native code."
357
+ )
358
+ }
359
+ @Suppress("UNCHECKED_CAST")
360
+ jsInstance.invokeCallback(
361
+ callbackID = jsArguments.getDouble(atIndex).toInt(),
362
+ arguments = Arguments.fromJavaArgs(args as Array<Any?>),
363
+ )
364
+ invoked = true
365
+ }
366
+ }
352
367
  }
353
368
  }
354
369
 
@@ -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"
@@ -109,23 +94,6 @@ public class NativeModuleRegistry(
109
94
  }
110
95
  }
111
96
 
112
- public fun onBatchComplete() {
113
- // The only native module that uses the onBatchComplete is the UI Manager. Hence, instead of
114
- // iterating over all the modules for find this one instance, and then calling it, we
115
- // short-circuit
116
- // the search, and simply call OnBatchComplete on the UI Manager.
117
- // With Fabric, UIManager would no longer be a NativeModule, so this call would simply go away
118
- assertLegacyArchitecture(
119
- "NativeModuleRegistry.onBatchComplete()",
120
- LegacyArchitectureLogLevel.WARNING,
121
- )
122
- modules["UIManager"]?.let {
123
- if (it.hasInstance()) {
124
- (it.module as OnBatchCompleteListener).onBatchComplete()
125
- }
126
- }
127
- }
128
-
129
97
  public fun <T : NativeModule> hasModule(moduleInterface: Class<T>): Boolean {
130
98
  val annotation = moduleInterface.getAnnotation(ReactModule::class.java)
131
99
  requireNotNull(annotation) {
@@ -28,7 +28,7 @@ public interface Promise {
28
28
  * @param code String
29
29
  * @param message String
30
30
  */
31
- public fun reject(code: String, message: String?)
31
+ public fun reject(code: String?, message: String?)
32
32
 
33
33
  /**
34
34
  * Report an exception with a custom code.
@@ -36,7 +36,7 @@ public interface Promise {
36
36
  * @param code String
37
37
  * @param throwable Throwable
38
38
  */
39
- public fun reject(code: String, throwable: Throwable?)
39
+ public fun reject(code: String?, throwable: Throwable?)
40
40
 
41
41
  /**
42
42
  * Report an exception with a custom code and error message.
@@ -45,7 +45,7 @@ public interface Promise {
45
45
  * @param message String
46
46
  * @param throwable Throwable
47
47
  */
48
- public fun reject(code: String, message: String?, throwable: Throwable?)
48
+ public fun reject(code: String?, message: String?, throwable: Throwable?)
49
49
 
50
50
  /**
51
51
  * Report an exception, with default error code. Useful in catch-all scenarios where it's unclear
@@ -73,7 +73,7 @@ public interface Promise {
73
73
  * @param code String
74
74
  * @param userInfo WritableMap
75
75
  */
76
- public fun reject(code: String, userInfo: WritableMap)
76
+ public fun reject(code: String?, userInfo: WritableMap)
77
77
 
78
78
  /**
79
79
  * Report an exception with a custom code and userInfo.
@@ -82,7 +82,7 @@ public interface Promise {
82
82
  * @param throwable Throwable
83
83
  * @param userInfo WritableMap
84
84
  */
85
- public fun reject(code: String, throwable: Throwable?, userInfo: WritableMap)
85
+ public fun reject(code: String?, throwable: Throwable?, userInfo: WritableMap)
86
86
 
87
87
  /**
88
88
  * Report an error with a custom code, error message and userInfo, an error not caused by an
@@ -92,7 +92,7 @@ public interface Promise {
92
92
  * @param message String
93
93
  * @param userInfo WritableMap
94
94
  */
95
- public fun reject(code: String, message: String?, userInfo: WritableMap)
95
+ public fun reject(code: String?, message: String?, userInfo: WritableMap)
96
96
 
97
97
  /**
98
98
  * Report an exception with a custom code, error message and userInfo.
@@ -38,7 +38,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
38
38
  * @param code String
39
39
  * @param message String
40
40
  */
41
- override fun reject(code: String, message: String?) {
41
+ override fun reject(code: String?, message: String?) {
42
42
  reject(code, message, null, null)
43
43
  }
44
44
 
@@ -48,7 +48,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
48
48
  * @param code String
49
49
  * @param throwable Throwable
50
50
  */
51
- override fun reject(code: String, throwable: Throwable?) {
51
+ override fun reject(code: String?, throwable: Throwable?) {
52
52
  reject(code, null, throwable, null)
53
53
  }
54
54
 
@@ -59,7 +59,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
59
59
  * @param message String
60
60
  * @param throwable Throwable
61
61
  */
62
- override fun reject(code: String, message: String?, throwable: Throwable?) {
62
+ override fun reject(code: String?, message: String?, throwable: Throwable?) {
63
63
  reject(code, message, throwable, null)
64
64
  }
65
65
 
@@ -94,7 +94,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
94
94
  * @param code String
95
95
  * @param userInfo WritableMap
96
96
  */
97
- override fun reject(code: String, userInfo: WritableMap) {
97
+ override fun reject(code: String?, userInfo: WritableMap) {
98
98
  reject(code, null, null, userInfo)
99
99
  }
100
100
 
@@ -105,7 +105,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
105
105
  * @param throwable Throwable
106
106
  * @param userInfo WritableMap
107
107
  */
108
- override fun reject(code: String, throwable: Throwable?, userInfo: WritableMap) {
108
+ override fun reject(code: String?, throwable: Throwable?, userInfo: WritableMap) {
109
109
  reject(code, null, throwable, userInfo)
110
110
  }
111
111
 
@@ -117,7 +117,7 @@ constructor(private var resolve: Callback?, private var reject: Callback?) : Pro
117
117
  * @param message String
118
118
  * @param userInfo WritableMap
119
119
  */
120
- override fun reject(code: String, message: String?, userInfo: WritableMap) {
120
+ override fun reject(code: String?, message: String?, userInfo: WritableMap) {
121
121
  reject(code, message, null, userInfo)
122
122
  }
123
123
 
@@ -8,7 +8,6 @@
8
8
  package com.facebook.react.bridge
9
9
 
10
10
  import com.facebook.proguard.annotations.DoNotStrip
11
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
12
11
  import java.util.ArrayList
13
12
  import java.util.Arrays
14
13
  import kotlin.jvm.JvmStatic
@@ -90,17 +89,7 @@ public open class ReadableNativeArray protected constructor() : NativeArray(), R
90
89
 
91
90
  override fun hashCode(): Int = localArray.hashCode()
92
91
 
93
- override fun equals(other: Any?): Boolean {
94
- if (other !is ReadableNativeArray) {
95
- return false
96
- }
97
-
98
- return if (ReactNativeFeatureFlags.useNativeEqualsInNativeReadableArrayAndroid()) {
99
- nativeEquals(other)
100
- } else {
101
- localArray.contentDeepEquals(other.localArray)
102
- }
103
- }
92
+ override fun equals(other: Any?): Boolean = (other is ReadableNativeArray) && nativeEquals(other)
104
93
 
105
94
  private external fun nativeEquals(other: ReadableNativeArray): Boolean
106
95
 
@@ -10,12 +10,12 @@ package com.facebook.react.devsupport
10
10
  import android.content.Context
11
11
  import com.facebook.react.bridge.UiThreadUtil
12
12
  import com.facebook.react.common.SurfaceDelegateFactory
13
+ import com.facebook.react.devsupport.inspector.TracingState
13
14
  import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener
14
15
  import com.facebook.react.devsupport.interfaces.DevLoadingViewManager
15
16
  import com.facebook.react.devsupport.interfaces.DevSupportManager
16
17
  import com.facebook.react.devsupport.interfaces.PausedInDebuggerOverlayManager
17
18
  import com.facebook.react.devsupport.interfaces.RedBoxHandler
18
- import com.facebook.react.devsupport.interfaces.TracingState
19
19
  import com.facebook.react.packagerconnection.RequestHandler
20
20
 
21
21
  /**
@@ -23,9 +23,8 @@ import com.facebook.react.packagerconnection.RequestHandler
23
23
  * [DevSupportManagerBase] with some additional, more flexible APIs for asynchronously loading the
24
24
  * JS bundle.
25
25
  *
26
- * @constructor The primary constructor mirrors the same constructor we have for
27
- * [BridgeDevSupportManager] and
28
- * * is kept for backward compatibility.
26
+ * @constructor The primary constructor mirrors the same constructor we had for
27
+ * `BridgeDevSupportManager` and is kept for backward compatibility.
29
28
  */
30
29
  internal class BridgelessDevSupportManager(
31
30
  applicationContext: Context,
@@ -83,6 +82,6 @@ internal class BridgelessDevSupportManager(
83
82
  }
84
83
 
85
84
  fun tracingState(): TracingState {
86
- return TracingState.ENABLEDINCDPMODE
85
+ return TracingState.ENABLED_IN_CDP_MODE
87
86
  }
88
87
  }