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
@@ -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<<06c6740fe7d613f235ae791da750bd52>>
7
+ * @generated SignedSource<<8e68f8be2e5f35422ae866390c76f670>>
8
8
  */
9
9
 
10
10
  /**
@@ -28,14 +28,16 @@ class ReactNativeFeatureFlagsProvider {
28
28
  virtual bool commonTestFlag() = 0;
29
29
  virtual bool cdpInteractionMetricsEnabled() = 0;
30
30
  virtual bool cxxNativeAnimatedEnabled() = 0;
31
- virtual bool cxxNativeAnimatedRemoveJsSync() = 0;
32
31
  virtual bool disableEarlyViewCommandExecution() = 0;
33
- virtual bool disableFabricCommitInCXXAnimated() = 0;
32
+ virtual bool disableImageViewPreallocationAndroid() = 0;
34
33
  virtual bool disableMountItemReorderingAndroid() = 0;
35
34
  virtual bool disableOldAndroidAttachmentMetricsWorkarounds() = 0;
35
+ virtual bool disableSubviewClippingAndroid() = 0;
36
36
  virtual bool disableTextLayoutManagerCacheAndroid() = 0;
37
+ virtual bool disableViewPreallocationAndroid() = 0;
37
38
  virtual bool enableAccessibilityOrder() = 0;
38
39
  virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0;
40
+ virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0;
39
41
  virtual bool enableAndroidLinearText() = 0;
40
42
  virtual bool enableAndroidTextMeasurementOptimizations() = 0;
41
43
  virtual bool enableBridgelessArchitecture() = 0;
@@ -45,12 +47,14 @@ class ReactNativeFeatureFlagsProvider {
45
47
  virtual bool enableDoubleMeasurementFixAndroid() = 0;
46
48
  virtual bool enableEagerMainQueueModulesOnIOS() = 0;
47
49
  virtual bool enableEagerRootViewAttachment() = 0;
50
+ virtual bool enableExclusivePropsUpdateAndroid() = 0;
48
51
  virtual bool enableFabricLogs() = 0;
49
52
  virtual bool enableFabricRenderer() = 0;
50
53
  virtual bool enableFontScaleChangesUpdatingLayout() = 0;
51
54
  virtual bool enableIOSTextBaselineOffsetPerLine() = 0;
52
55
  virtual bool enableIOSViewClipToPaddingBox() = 0;
53
56
  virtual bool enableImagePrefetchingAndroid() = 0;
57
+ virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0;
54
58
  virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0;
55
59
  virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0;
56
60
  virtual bool enableImperativeFocus() = 0;
@@ -65,7 +69,6 @@ class ReactNativeFeatureFlagsProvider {
65
69
  virtual bool enableNetworkEventReporting() = 0;
66
70
  virtual bool enablePreparedTextLayout() = 0;
67
71
  virtual bool enablePropsUpdateReconciliationAndroid() = 0;
68
- virtual bool enableResourceTimingAPI() = 0;
69
72
  virtual bool enableSwiftUIBasedFilters() = 0;
70
73
  virtual bool enableViewCulling() = 0;
71
74
  virtual bool enableViewRecycling() = 0;
@@ -73,13 +76,13 @@ class ReactNativeFeatureFlagsProvider {
73
76
  virtual bool enableViewRecyclingForScrollView() = 0;
74
77
  virtual bool enableViewRecyclingForText() = 0;
75
78
  virtual bool enableViewRecyclingForView() = 0;
76
- virtual bool enableVirtualViewClippingWithoutScrollViewClipping() = 0;
77
79
  virtual bool enableVirtualViewContainerStateExperimental() = 0;
78
80
  virtual bool enableVirtualViewDebugFeatures() = 0;
79
81
  virtual bool enableVirtualViewRenderState() = 0;
80
82
  virtual bool enableVirtualViewWindowFocusDetection() = 0;
81
83
  virtual bool enableWebPerformanceAPIsByDefault() = 0;
82
84
  virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
85
+ virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0;
83
86
  virtual bool fuseboxAssertSingleHostState() = 0;
84
87
  virtual bool fuseboxEnabledRelease() = 0;
85
88
  virtual bool fuseboxNetworkInspectionEnabled() = 0;
@@ -90,17 +93,17 @@ class ReactNativeFeatureFlagsProvider {
90
93
  virtual double preparedTextCacheSize() = 0;
91
94
  virtual bool preventShadowTreeCommitExhaustion() = 0;
92
95
  virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
96
+ virtual bool shouldResetClickableWhenRecyclingView() = 0;
97
+ virtual bool shouldResetOnClickListenerWhenRecyclingView() = 0;
98
+ virtual bool shouldSetEnabledBasedOnAccessibilityState() = 0;
99
+ virtual bool shouldSetIsClickableByDefault() = 0;
93
100
  virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
94
101
  virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
95
- virtual bool sweepActiveTouchOnChildNativeGesturesAndroid() = 0;
96
102
  virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0;
97
103
  virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0;
98
104
  virtual bool useAlwaysAvailableJSErrorHandling() = 0;
99
105
  virtual bool useFabricInterop() = 0;
100
- virtual bool useNativeEqualsInNativeReadableArrayAndroid() = 0;
101
- virtual bool useNativeTransformHelperAndroid() = 0;
102
106
  virtual bool useNativeViewConfigsInBridgelessMode() = 0;
103
- virtual bool useOptimizedEventBatchingOnAndroid() = 0;
104
107
  virtual bool useRawPropsJsiValue() = 0;
105
108
  virtual bool useShadowNodeStateOnClone() = 0;
106
109
  virtual bool useSharedAnimatedBackend() = 0;
@@ -38,7 +38,6 @@ enum TurboModuleMethodValueKind {
38
38
  */
39
39
  TurboModuleMethodValueKind getTurboModuleMethodValueKind(jsi::Runtime &rt, const jsi::Value *value);
40
40
 
41
- class TurboCxxModule;
42
41
  class TurboModuleBinding;
43
42
 
44
43
  /**
@@ -144,7 +143,13 @@ class JSI_EXPORT TurboModule : public jsi::HostObject {
144
143
  /**
145
144
  * An app/platform-specific provider function to get an instance of a module
146
145
  * given a name.
146
+ *
147
+ * @deprecated Use TurboModuleProviderFunctionTypeWithRuntime instead.
148
+ * Remove after React Native 0.84 is released.
147
149
  */
148
- using TurboModuleProviderFunctionType = std::function<std::shared_ptr<TurboModule>(const std::string &name)>;
150
+ using TurboModuleProviderFunctionType [[deprecated("Use TurboModuleProviderFunctionTypeWithRuntime instead")]] =
151
+ std::function<std::shared_ptr<TurboModule>(const std::string &name)>;
152
+ using TurboModuleProviderFunctionTypeWithRuntime =
153
+ std::function<std::shared_ptr<TurboModule>(jsi::Runtime &runtime, const std::string &name)>;
149
154
 
150
155
  } // namespace facebook::react
@@ -19,24 +19,25 @@ namespace facebook::react {
19
19
 
20
20
  class BridgelessNativeModuleProxy : public jsi::HostObject {
21
21
  TurboModuleBinding turboBinding_;
22
- std::unique_ptr<TurboModuleBinding> legacyBinding_;
22
+ std::optional<TurboModuleBinding> legacyBinding_;
23
23
 
24
24
  public:
25
25
  BridgelessNativeModuleProxy(
26
26
  jsi::Runtime& runtime,
27
- TurboModuleProviderFunctionType&& moduleProvider,
28
- TurboModuleProviderFunctionType&& legacyModuleProvider,
27
+ TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
28
+ TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider,
29
29
  std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection)
30
30
  : turboBinding_(
31
31
  runtime,
32
32
  std::move(moduleProvider),
33
33
  longLivedObjectCollection),
34
34
  legacyBinding_(
35
- legacyModuleProvider ? std::make_unique<TurboModuleBinding>(
36
- runtime,
37
- std::move(legacyModuleProvider),
38
- longLivedObjectCollection)
39
- : nullptr) {}
35
+ legacyModuleProvider
36
+ ? std::make_optional<TurboModuleBinding>(TurboModuleBinding(
37
+ runtime,
38
+ std::move(legacyModuleProvider),
39
+ longLivedObjectCollection))
40
+ : std::nullopt) {}
40
41
 
41
42
  jsi::Value get(jsi::Runtime& runtime, const jsi::PropNameID& name) override {
42
43
  /**
@@ -88,7 +89,7 @@ class BridgelessNativeModuleProxy : public jsi::HostObject {
88
89
 
89
90
  TurboModuleBinding::TurboModuleBinding(
90
91
  jsi::Runtime& runtime,
91
- TurboModuleProviderFunctionType&& moduleProvider,
92
+ TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
92
93
  std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection)
93
94
  : runtime_(runtime),
94
95
  moduleProvider_(std::move(moduleProvider)),
@@ -99,6 +100,25 @@ void TurboModuleBinding::install(
99
100
  TurboModuleProviderFunctionType&& moduleProvider,
100
101
  TurboModuleProviderFunctionType&& legacyModuleProvider,
101
102
  std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection) {
103
+ install(
104
+ runtime,
105
+ [moduleProvider = std::move(moduleProvider)](
106
+ jsi::Runtime& runtime, const std::string& name) {
107
+ return moduleProvider(name);
108
+ },
109
+ legacyModuleProvider == nullptr
110
+ ? (TurboModuleProviderFunctionTypeWithRuntime) nullptr
111
+ : [legacyModuleProvider = std::move(legacyModuleProvider)](
112
+ jsi::Runtime& runtime,
113
+ const std::string& name) { return legacyModuleProvider(name); },
114
+ longLivedObjectCollection);
115
+ }
116
+
117
+ void TurboModuleBinding::install(
118
+ jsi::Runtime& runtime,
119
+ TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
120
+ TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider,
121
+ std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection) {
102
122
  // TODO(T208105802): We can get this information from the native side!
103
123
  auto isBridgeless = runtime.global().hasProperty(runtime, "RN$Bridgeless");
104
124
 
@@ -153,7 +173,7 @@ jsi::Value TurboModuleBinding::getModule(
153
173
  std::shared_ptr<TurboModule> module;
154
174
  {
155
175
  TraceSection s("TurboModuleBinding::moduleProvider", "module", moduleName);
156
- module = moduleProvider_(moduleName);
176
+ module = moduleProvider_(runtime, moduleName);
157
177
  }
158
178
  if (module) {
159
179
  TurboModuleWithJSIBindings::installJSIBindings(module, runtime);
@@ -21,28 +21,39 @@ class BridgelessNativeModuleProxy;
21
21
  /**
22
22
  * Represents the JavaScript binding for the TurboModule system.
23
23
  */
24
- class TurboModuleBinding {
24
+ class TurboModuleBinding final {
25
25
  public:
26
26
  /*
27
27
  * Installs TurboModuleBinding into JavaScript runtime.
28
28
  * Thread synchronization must be enforced externally.
29
+ *
30
+ * @deprecated Use the overload that takes
31
+ * TurboModuleProviderFunctionTypeWithRuntime instead.
32
+ * Remove after React Native 0.84 is released.
29
33
  */
34
+ [[deprecated("Use the overload that takes TurboModuleProviderFunctionTypeWithRuntime instead")]]
30
35
  static void install(
31
36
  jsi::Runtime &runtime,
32
37
  TurboModuleProviderFunctionType &&moduleProvider,
33
38
  TurboModuleProviderFunctionType &&legacyModuleProvider = nullptr,
34
39
  std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection = nullptr);
35
40
 
36
- TurboModuleBinding(
41
+ static void install(
37
42
  jsi::Runtime &runtime,
38
- TurboModuleProviderFunctionType &&moduleProvider,
39
- std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection);
43
+ TurboModuleProviderFunctionTypeWithRuntime &&moduleProvider,
44
+ TurboModuleProviderFunctionTypeWithRuntime &&legacyModuleProvider = nullptr,
45
+ std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection = nullptr);
40
46
 
41
- virtual ~TurboModuleBinding();
47
+ ~TurboModuleBinding();
42
48
 
43
49
  private:
44
50
  friend BridgelessNativeModuleProxy;
45
51
 
52
+ TurboModuleBinding(
53
+ jsi::Runtime &runtime,
54
+ TurboModuleProviderFunctionTypeWithRuntime &&moduleProvider,
55
+ std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection);
56
+
46
57
  /**
47
58
  * A lookup function exposed to JS to get an instance of a TurboModule
48
59
  * for the given name.
@@ -50,7 +61,7 @@ class TurboModuleBinding {
50
61
  jsi::Value getModule(jsi::Runtime &runtime, const std::string &moduleName) const;
51
62
 
52
63
  jsi::Runtime &runtime_;
53
- TurboModuleProviderFunctionType moduleProvider_;
64
+ TurboModuleProviderFunctionTypeWithRuntime moduleProvider_;
54
65
  std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection_;
55
66
  };
56
67
 
@@ -58,7 +58,6 @@ class StubNativeMethodCallInvoker : public NativeMethodCallInvoker {
58
58
  .jsInvoker = nullptr,
59
59
  .nativeMethodCallInvoker = std::make_shared<StubNativeMethodCallInvoker>(),
60
60
  .isSyncModule = false,
61
- .shouldVoidMethodsExecuteSync = true,
62
61
  };
63
62
  module_ = std::make_unique<ObjCTurboModule>(params);
64
63
  }
@@ -600,10 +600,6 @@ jsi::Value ObjCInteropTurboModule::convertReturnIdToJSIValue(
600
600
  TurboModuleMethodValueKind returnType,
601
601
  id result)
602
602
  {
603
- std::string methodJsSignature = name_ + "." + methodNameCStr + "()";
604
- std::string errorPrefix =
605
- methodJsSignature + ": Error while converting return Objective C value to JavaScript type. ";
606
-
607
603
  if (returnType == VoidKind) {
608
604
  return jsi::Value::undefined();
609
605
  }
@@ -617,6 +613,7 @@ jsi::Value ObjCInteropTurboModule::convertReturnIdToJSIValue(
617
613
  return returnValue;
618
614
  }
619
615
 
616
+ std::string methodJsSignature = name_ + "." + methodNameCStr + "()";
620
617
  throw jsi::JSError(runtime, methodJsSignature + "Objective C type was unsupported.");
621
618
  }
622
619
 
@@ -58,7 +58,6 @@ class JSI_EXPORT ObjCTurboModule : public TurboModule {
58
58
  std::shared_ptr<CallInvoker> jsInvoker;
59
59
  std::shared_ptr<NativeMethodCallInvoker> nativeMethodCallInvoker;
60
60
  bool isSyncModule;
61
- bool shouldVoidMethodsExecuteSync;
62
61
  };
63
62
 
64
63
  ObjCTurboModule(const InitParams &params);
@@ -128,9 +127,6 @@ class JSI_EXPORT ObjCTurboModule : public TurboModule {
128
127
  // Does the NativeModule dispatch async methods to the JS thread?
129
128
  const bool isSyncModule_;
130
129
 
131
- // Should void methods execute synchronously?
132
- const bool shouldVoidMethodsExecuteSync_;
133
-
134
130
  /**
135
131
  * TODO(ramanpreet):
136
132
  * Investigate an optimization that'll let us get rid of this NSMutableDictionary.
@@ -199,7 +199,7 @@ id convertJSIValueToObjCObject(
199
199
  return convertJSIObjectToNSDictionary(runtime, o, jsInvoker, useNSNull);
200
200
  }
201
201
 
202
- throw std::runtime_error("Unsupported jsi::Value kind");
202
+ throw jsi::JSError(runtime, "Unsupported jsi::Value kind");
203
203
  }
204
204
 
205
205
  static jsi::Value createJSRuntimeError(jsi::Runtime &runtime, const std::string &message)
@@ -268,24 +268,17 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
268
268
  jsi::PropNameID::forAscii(runtime, "fn"),
269
269
  2,
270
270
  [invokeCopy, jsInvoker = jsInvoker_, moduleName = name_, methodName](
271
- jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) {
272
- // FIXME: do not allocate this upfront
273
- std::string moduleMethod = moduleName + "." + methodName + "()";
274
-
271
+ jsi::Runtime &rt, const jsi::Value &, const jsi::Value *args, size_t count) {
275
272
  if (count != 2) {
276
- throw std::invalid_argument(
277
- moduleMethod + ": Promise must pass constructor function two args. Passed " + std::to_string(count) +
278
- " args.");
279
- }
280
- if (!invokeCopy) {
281
- return jsi::Value::undefined();
273
+ throw jsi::JSError(
274
+ rt,
275
+ moduleName + "." + methodName + "(): Promise must pass constructor function two args. Passed " +
276
+ std::to_string(count) + " args.");
282
277
  }
283
278
 
284
279
  __block BOOL resolveWasCalled = NO;
285
- __block std::optional<AsyncCallback<>> resolve(
286
- {rt, args[0].getObject(rt).getFunction(rt), std::move(jsInvoker)});
287
- __block std::optional<AsyncCallback<>> reject(
288
- {rt, args[1].getObject(rt).getFunction(rt), std::move(jsInvoker)});
280
+ __block std::optional<AsyncCallback<>> resolve({rt, args[0].getObject(rt).getFunction(rt), jsInvoker});
281
+ __block std::optional<AsyncCallback<>> reject({rt, args[1].getObject(rt).getFunction(rt), jsInvoker});
289
282
  __block std::shared_ptr<std::mutex> mutex = std::make_shared<std::mutex>();
290
283
 
291
284
  RCTPromiseResolveBlock resolveBlock = ^(id result) {
@@ -306,12 +299,14 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
306
299
  }
307
300
 
308
301
  if (alreadyResolved) {
309
- RCTLogError(@"%s: Tried to resolve a promise more than once.", moduleMethod.c_str());
302
+ RCTLogError(
303
+ @"%s.%s(): Tried to resolve a promise more than once.", moduleName.c_str(), methodName.c_str());
310
304
  return;
311
- }
312
-
313
- if (alreadyRejected) {
314
- RCTLogError(@"%s: Tried to resolve a promise after it's already been rejected.", moduleMethod.c_str());
305
+ } else if (alreadyRejected) {
306
+ RCTLogError(
307
+ @"%s.%s(): Tried to resolve a promise after it's already been rejected.",
308
+ moduleName.c_str(),
309
+ methodName.c_str());
315
310
  return;
316
311
  }
317
312
 
@@ -339,16 +334,16 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
339
334
 
340
335
  if (alreadyResolved) {
341
336
  RCTLogError(
342
- @"%s: Tried to reject a promise after it's already been resolved. Message: %s",
343
- moduleMethod.c_str(),
337
+ @"%s.%s() Tried to reject a promise after it's already been resolved. Message: %s",
338
+ moduleName.c_str(),
339
+ methodName.c_str(),
344
340
  message.UTF8String);
345
341
  return;
346
- }
347
-
348
- if (alreadyRejected) {
342
+ } else if (alreadyRejected) {
349
343
  RCTLogError(
350
- @"%s: Tried to reject a promise more than once. Message: %s",
351
- moduleMethod.c_str(),
344
+ @"%s.%s() Tried to reject a promise more than once. Message: %s",
345
+ moduleName.c_str(),
346
+ methodName.c_str(),
352
347
  message.UTF8String);
353
348
  return;
354
349
  }
@@ -461,11 +456,7 @@ void ObjCTurboModule::performVoidMethodInvocation(
461
456
  return;
462
457
  }
463
458
 
464
- if (shouldVoidMethodsExecuteSync_) {
465
- TurboModulePerfLogger::syncMethodCallExecutionStart(moduleName, methodName);
466
- } else {
467
- TurboModulePerfLogger::asyncMethodCallExecutionStart(moduleName, methodName, asyncCallCounter);
468
- }
459
+ TurboModulePerfLogger::asyncMethodCallExecutionStart(moduleName, methodName, asyncCallCounter);
469
460
 
470
461
  @try {
471
462
  [inv invokeWithTarget:strongModule];
@@ -475,26 +466,18 @@ void ObjCTurboModule::performVoidMethodInvocation(
475
466
  [retainedObjectsForInvocation removeAllObjects];
476
467
  }
477
468
 
478
- if (shouldVoidMethodsExecuteSync_) {
479
- TurboModulePerfLogger::syncMethodCallExecutionEnd(moduleName, methodName);
480
- } else {
481
- TurboModulePerfLogger::asyncMethodCallExecutionEnd(moduleName, methodName, asyncCallCounter);
482
- }
469
+ TurboModulePerfLogger::asyncMethodCallExecutionEnd(moduleName, methodName, asyncCallCounter);
483
470
 
484
471
  return;
485
472
  };
486
473
 
487
- if (shouldVoidMethodsExecuteSync_) {
488
- nativeMethodCallInvoker_->invokeSync(methodNameStr, [&]() -> void { block(); });
489
- } else {
490
- asyncCallCounter = getUniqueId();
491
- TurboModulePerfLogger::asyncMethodCallDispatch(moduleName, methodName);
492
- nativeMethodCallInvoker_->invokeAsync(methodNameStr, [moduleName, methodNameStr, block]() -> void {
493
- TraceSection s(
494
- "RCTTurboModuleAsyncMethodInvocation", "module", moduleName, "method", methodNameStr, "returnType", "void");
495
- block();
496
- });
497
- }
474
+ asyncCallCounter = getUniqueId();
475
+ TurboModulePerfLogger::asyncMethodCallDispatch(moduleName, methodName);
476
+ nativeMethodCallInvoker_->invokeAsync(methodNameStr, [moduleName, methodNameStr, block]() -> void {
477
+ TraceSection s(
478
+ "RCTTurboModuleAsyncMethodInvocation", "module", moduleName, "method", methodNameStr, "returnType", "void");
479
+ block();
480
+ });
498
481
  }
499
482
 
500
483
  jsi::Value ObjCTurboModule::convertReturnIdToJSIValue(
@@ -539,9 +522,9 @@ jsi::Value ObjCTurboModule::convertReturnIdToJSIValue(
539
522
  break;
540
523
  }
541
524
  case FunctionKind:
542
- throw std::runtime_error("convertReturnIdToJSIValue: FunctionKind is not supported yet.");
525
+ throw jsi::JSError(runtime, "convertReturnIdToJSIValue: FunctionKind is not supported yet.");
543
526
  case PromiseKind:
544
- throw std::runtime_error("convertReturnIdToJSIValue: PromiseKind wasn't handled properly.");
527
+ throw jsi::JSError(runtime, "convertReturnIdToJSIValue: PromiseKind wasn't handled properly.");
545
528
  }
546
529
 
547
530
  return returnValue;
@@ -723,22 +706,27 @@ NSInvocation *ObjCTurboModule::createMethodInvocation(
723
706
  NSMutableArray *retainedObjectsForInvocation)
724
707
  {
725
708
  const char *moduleName = name_.c_str();
726
- const NSObject<RCTBridgeModule> *module = instance_;
727
-
728
709
  if (isSync) {
729
710
  TurboModulePerfLogger::syncMethodCallArgConversionStart(moduleName, methodName);
730
711
  } else {
731
712
  TurboModulePerfLogger::asyncMethodCallArgConversionStart(moduleName, methodName);
732
713
  }
733
714
 
715
+ const NSObject<RCTBridgeModule> *module = instance_;
734
716
  NSMethodSignature *methodSignature = [module methodSignatureForSelector:selector];
717
+ if (count > methodSignature.numberOfArguments - 2) {
718
+ throw jsi::JSError(
719
+ runtime,
720
+ name_ + "." + methodName + " called with too many arguments, expected up to " +
721
+ std::to_string(methodSignature.numberOfArguments - 2) + ", got " + std::to_string(count));
722
+ }
723
+
735
724
  NSInvocation *inv = [NSInvocation invocationWithMethodSignature:methodSignature];
736
725
  [inv setSelector:selector];
737
726
 
738
727
  for (size_t i = 0; i < count; i++) {
739
728
  const jsi::Value &arg = args[i];
740
729
  const std::string objCArgType = [methodSignature getArgumentTypeAtIndex:i + 2];
741
-
742
730
  setInvocationArg(runtime, methodName, objCArgType, arg, i, inv, retainedObjectsForInvocation);
743
731
  }
744
732
 
@@ -757,19 +745,14 @@ bool ObjCTurboModule::isMethodSync(TurboModuleMethodValueKind returnType)
757
745
  return true;
758
746
  }
759
747
 
760
- if (returnType == VoidKind && shouldVoidMethodsExecuteSync_) {
761
- return true;
762
- }
763
-
764
- return !(returnType == VoidKind || returnType == PromiseKind);
748
+ return returnType != VoidKind && returnType != PromiseKind;
765
749
  }
766
750
 
767
751
  ObjCTurboModule::ObjCTurboModule(const InitParams &params)
768
752
  : TurboModule(params.moduleName, params.jsInvoker),
769
753
  instance_(params.instance),
770
754
  nativeMethodCallInvoker_(params.nativeMethodCallInvoker),
771
- isSyncModule_(params.isSyncModule),
772
- shouldVoidMethodsExecuteSync_(params.shouldVoidMethodsExecuteSync)
755
+ isSyncModule_(params.isSyncModule)
773
756
  {
774
757
  }
775
758
 
@@ -21,7 +21,6 @@
21
21
  #import <React/RCTCallInvoker.h>
22
22
  #import <React/RCTCallInvokerModule.h>
23
23
  #import <React/RCTConstants.h>
24
- #import <React/RCTCxxModule.h>
25
24
  #import <React/RCTDevMenuConfigurationDecorator.h>
26
25
  #import <React/RCTInitializing.h>
27
26
  #import <React/RCTLog.h>
@@ -30,9 +29,7 @@
30
29
  #import <React/RCTUtils.h>
31
30
  #import <ReactCommon/CxxTurboModuleUtils.h>
32
31
  #import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
33
- #import <ReactCommon/TurboCxxModule.h>
34
32
  #import <ReactCommon/TurboModulePerfLogger.h>
35
- #import <react/featureflags/ReactNativeFeatureFlags.h>
36
33
 
37
34
  using namespace facebook;
38
35
  using namespace facebook::react;
@@ -387,24 +384,12 @@ typedef struct {
387
384
  }
388
385
 
389
386
  /**
390
- * Step 2d: If the moduleClass is a legacy CxxModule, return a TurboCxxModule instance that
391
- * wraps CxxModule.
392
- */
393
- Class moduleClass = [module class];
394
- if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
395
- // Use TurboCxxModule compat class to wrap the CxxModule instance.
396
- // This is only for migration convenience, despite less performant.
397
- auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
398
- _turboModuleCache.insert({moduleName, turboModule});
399
- return turboModule;
400
- }
401
-
402
- /**
403
- * Step 2e: Return an exact sub-class of ObjC TurboModule
387
+ * Step 3: Return an exact sub-class of ObjC TurboModule
404
388
  *
405
389
  * Use respondsToSelector: below to infer conformance to @protocol(RCTTurboModule). Using conformsToProtocol: is
406
390
  * expensive.
407
391
  */
392
+ Class moduleClass = [module class];
408
393
  if ([module respondsToSelector:@selector(getTurboModule:)]) {
409
394
  ObjCTurboModule::InitParams params = {
410
395
  .moduleName = moduleName,
@@ -412,7 +397,6 @@ typedef struct {
412
397
  .jsInvoker = _jsInvoker,
413
398
  .nativeMethodCallInvoker = nativeMethodCallInvoker,
414
399
  .isSyncModule = methodQueue == RCTJSThread,
415
- .shouldVoidMethodsExecuteSync = (bool)RCTTurboModuleSyncVoidMethodsEnabled(),
416
400
  };
417
401
 
418
402
  auto turboModule = [(id<RCTTurboModule>)module getTurboModule:params];
@@ -467,15 +451,6 @@ typedef struct {
467
451
  std::shared_ptr<NativeMethodCallInvoker> nativeMethodCallInvoker =
468
452
  std::make_shared<LegacyModuleNativeMethodCallInvoker>(methodQueue, [self _requiresMainQueueSetup:moduleClass]);
469
453
 
470
- // If module is a legacy cxx module, return TurboCxxModule
471
- if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
472
- // Use TurboCxxModule compat class to wrap the CxxModule instance.
473
- // This is only for migration convenience, despite less performant.
474
- auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
475
- _legacyModuleCache.insert({moduleName, turboModule});
476
- return turboModule;
477
- }
478
-
479
454
  // Create interop module
480
455
  ObjCTurboModule::InitParams params = {
481
456
  .moduleName = moduleName,
@@ -483,7 +458,6 @@ typedef struct {
483
458
  .jsInvoker = _jsInvoker,
484
459
  .nativeMethodCallInvoker = std::move(nativeMethodCallInvoker),
485
460
  .isSyncModule = methodQueue == RCTJSThread,
486
- .shouldVoidMethodsExecuteSync = (bool)RCTTurboModuleSyncVoidMethodsEnabled(),
487
461
  };
488
462
 
489
463
  auto turboModule = std::make_shared<ObjCInteropTurboModule>(params);
@@ -496,7 +470,7 @@ typedef struct {
496
470
  - (BOOL)_isTurboModule:(const char *)moduleName
497
471
  {
498
472
  Class moduleClass = [self _getModuleClassFromName:moduleName];
499
- return moduleClass != nil && (isTurboModuleClass(moduleClass) && ![moduleClass isSubclassOfClass:RCTCxxModule.class]);
473
+ return moduleClass != nil && isTurboModuleClass(moduleClass);
500
474
  }
501
475
 
502
476
  - (BOOL)_isLegacyModule:(const char *)moduleName
@@ -507,7 +481,7 @@ typedef struct {
507
481
 
508
482
  - (BOOL)_isLegacyModuleClass:(Class)moduleClass
509
483
  {
510
- return moduleClass != nil && (!isTurboModuleClass(moduleClass) || [moduleClass isSubclassOfClass:RCTCxxModule.class]);
484
+ return moduleClass != nil && !isTurboModuleClass(moduleClass);
511
485
  }
512
486
 
513
487
  - (id<RCTModuleProvider>)_moduleProviderForName:(const char *)moduleName
@@ -718,7 +692,7 @@ typedef struct {
718
692
  } else if (_bridgeProxy) {
719
693
  [(id)module setValue:_bridgeProxy forKey:@"bridge"];
720
694
  }
721
- } @catch (NSException *exception) {
695
+ } @catch (NSException *) {
722
696
  RCTLogError(
723
697
  @"%@ has no setter or ivar for its bridge, which is not "
724
698
  "permitted. You must either @synthesize the bridge property, "
@@ -766,7 +740,7 @@ typedef struct {
766
740
 
767
741
  @try {
768
742
  [(id)module setValue:methodQueue forKey:@"methodQueue"];
769
- } @catch (NSException *exception) {
743
+ } @catch (NSException *) {
770
744
  RCTLogError(
771
745
  @"%@ has no setter or ivar for its methodQueue, which is not "
772
746
  "permitted. You must either @synthesize the methodQueue property, "
@@ -942,8 +916,8 @@ typedef struct {
942
916
  * aren't any strong references to it in ObjC. Hence, we give
943
917
  * __turboModuleProxy a strong reference to TurboModuleManager.
944
918
  */
945
- auto turboModuleProvider = [self,
946
- runtime = &runtime](const std::string &name) -> std::shared_ptr<react::TurboModule> {
919
+ auto turboModuleProvider =
920
+ [self](jsi::Runtime &runtime, const std::string &name) -> std::shared_ptr<react::TurboModule> {
947
921
  auto moduleName = name.c_str();
948
922
 
949
923
  TurboModulePerfLogger::moduleJSRequireBeginningStart(moduleName);
@@ -957,7 +931,7 @@ typedef struct {
957
931
  * Additionally, if a TurboModule with the name `name` isn't found, then we
958
932
  * trigger an assertion failure.
959
933
  */
960
- auto turboModule = [self provideTurboModule:moduleName runtime:runtime];
934
+ auto turboModule = [self provideTurboModule:moduleName runtime:&runtime];
961
935
 
962
936
  if (moduleWasNotInitialized && [self moduleIsInitialized:moduleName]) {
963
937
  [self->_bridge.performanceLogger markStopForTag:RCTPLTurboModuleSetup];
@@ -972,7 +946,8 @@ typedef struct {
972
946
  };
973
947
 
974
948
  if (RCTTurboModuleInteropEnabled()) {
975
- auto legacyModuleProvider = [self](const std::string &name) -> std::shared_ptr<react::TurboModule> {
949
+ auto legacyModuleProvider =
950
+ [self](jsi::Runtime & /*runtime*/, const std::string &name) -> std::shared_ptr<react::TurboModule> {
976
951
  auto moduleName = name.c_str();
977
952
 
978
953
  TurboModulePerfLogger::moduleJSRequireBeginningStart(moduleName);