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<<9853cf162b179249b2c6af120a662cf3>>
7
+ * @generated SignedSource<<67b23d4209c5fa6b721921953d76a829>>
8
8
  */
9
9
 
10
10
  /**
@@ -39,13 +39,10 @@ class JReactNativeFeatureFlagsCxxInterop
39
39
  static bool cxxNativeAnimatedEnabled(
40
40
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
41
41
 
42
- static bool cxxNativeAnimatedRemoveJsSync(
43
- facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
44
-
45
42
  static bool disableEarlyViewCommandExecution(
46
43
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
47
44
 
48
- static bool disableFabricCommitInCXXAnimated(
45
+ static bool disableImageViewPreallocationAndroid(
49
46
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
50
47
 
51
48
  static bool disableMountItemReorderingAndroid(
@@ -54,15 +51,24 @@ class JReactNativeFeatureFlagsCxxInterop
54
51
  static bool disableOldAndroidAttachmentMetricsWorkarounds(
55
52
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
56
53
 
54
+ static bool disableSubviewClippingAndroid(
55
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
56
+
57
57
  static bool disableTextLayoutManagerCacheAndroid(
58
58
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
59
59
 
60
+ static bool disableViewPreallocationAndroid(
61
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
62
+
60
63
  static bool enableAccessibilityOrder(
61
64
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
62
65
 
63
66
  static bool enableAccumulatedUpdatesInRawPropsAndroid(
64
67
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
65
68
 
69
+ static bool enableAndroidAntialiasedBorderRadiusClipping(
70
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
71
+
66
72
  static bool enableAndroidLinearText(
67
73
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
68
74
 
@@ -90,6 +96,9 @@ class JReactNativeFeatureFlagsCxxInterop
90
96
  static bool enableEagerRootViewAttachment(
91
97
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
92
98
 
99
+ static bool enableExclusivePropsUpdateAndroid(
100
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
101
+
93
102
  static bool enableFabricLogs(
94
103
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
95
104
 
@@ -108,6 +117,9 @@ class JReactNativeFeatureFlagsCxxInterop
108
117
  static bool enableImagePrefetchingAndroid(
109
118
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
110
119
 
120
+ static bool enableImagePrefetchingJNIBatchingAndroid(
121
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
122
+
111
123
  static bool enableImagePrefetchingOnUiThreadAndroid(
112
124
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
113
125
 
@@ -150,9 +162,6 @@ class JReactNativeFeatureFlagsCxxInterop
150
162
  static bool enablePropsUpdateReconciliationAndroid(
151
163
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
152
164
 
153
- static bool enableResourceTimingAPI(
154
- facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
155
-
156
165
  static bool enableSwiftUIBasedFilters(
157
166
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
158
167
 
@@ -174,9 +183,6 @@ class JReactNativeFeatureFlagsCxxInterop
174
183
  static bool enableViewRecyclingForView(
175
184
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
176
185
 
177
- static bool enableVirtualViewClippingWithoutScrollViewClipping(
178
- facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
179
-
180
186
  static bool enableVirtualViewContainerStateExperimental(
181
187
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
182
188
 
@@ -195,6 +201,9 @@ class JReactNativeFeatureFlagsCxxInterop
195
201
  static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(
196
202
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
197
203
 
204
+ static bool fixTextClippingAndroid15useBoundsForWidth(
205
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
206
+
198
207
  static bool fuseboxAssertSingleHostState(
199
208
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
200
209
 
@@ -225,37 +234,37 @@ class JReactNativeFeatureFlagsCxxInterop
225
234
  static bool shouldPressibilityUseW3CPointerEventsForHover(
226
235
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
227
236
 
228
- static bool shouldTriggerResponderTransferOnScrollAndroid(
237
+ static bool shouldResetClickableWhenRecyclingView(
229
238
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
230
239
 
231
- static bool skipActivityIdentityAssertionOnHostPause(
240
+ static bool shouldResetOnClickListenerWhenRecyclingView(
232
241
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
233
242
 
234
- static bool sweepActiveTouchOnChildNativeGesturesAndroid(
243
+ static bool shouldSetEnabledBasedOnAccessibilityState(
235
244
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
236
245
 
237
- static bool traceTurboModulePromiseRejectionsOnAndroid(
246
+ static bool shouldSetIsClickableByDefault(
238
247
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
239
248
 
240
- static bool updateRuntimeShadowNodeReferencesOnCommit(
249
+ static bool shouldTriggerResponderTransferOnScrollAndroid(
241
250
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
242
251
 
243
- static bool useAlwaysAvailableJSErrorHandling(
252
+ static bool skipActivityIdentityAssertionOnHostPause(
244
253
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
245
254
 
246
- static bool useFabricInterop(
255
+ static bool traceTurboModulePromiseRejectionsOnAndroid(
247
256
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
248
257
 
249
- static bool useNativeEqualsInNativeReadableArrayAndroid(
258
+ static bool updateRuntimeShadowNodeReferencesOnCommit(
250
259
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
251
260
 
252
- static bool useNativeTransformHelperAndroid(
261
+ static bool useAlwaysAvailableJSErrorHandling(
253
262
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
254
263
 
255
- static bool useNativeViewConfigsInBridgelessMode(
264
+ static bool useFabricInterop(
256
265
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
257
266
 
258
- static bool useOptimizedEventBatchingOnAndroid(
267
+ static bool useNativeViewConfigsInBridgelessMode(
259
268
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
260
269
 
261
270
  static bool useRawPropsJsiValue(
@@ -27,8 +27,4 @@ target_link_libraries(
27
27
  target_compile_reactnative_options(hermes_executor PRIVATE)
28
28
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
29
29
  target_compile_options(hermes_executor PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
30
-
31
- if (HERMES_V1_ENABLED)
32
- target_compile_options(hermes_executor PRIVATE -DHERMES_V1_ENABLED=1)
33
- endif()
34
30
  endif()
@@ -55,7 +55,6 @@ add_library(
55
55
  InspectorNetworkRequestListener.cpp
56
56
  JExecutor.cpp
57
57
  JMessageQueueThread.cpp
58
- JReactCxxErrorHandler.cpp
59
58
  JReactSoftExceptionLogger.cpp
60
59
  JRuntimeExecutor.cpp
61
60
  JRuntimeScheduler.cpp
@@ -66,8 +65,7 @@ add_library(
66
65
  MethodInvoker.cpp
67
66
  ModuleRegistryBuilder.cpp
68
67
  OnLoad.cpp
69
- ReactInstanceManagerInspectorTarget.cpp
70
- SafeReleaseJniRef.cpp
68
+ SafeReleaseJniRef.cpp
71
69
  )
72
70
  target_merge_so(reactnativejni)
73
71
 
@@ -6,7 +6,6 @@
6
6
  */
7
7
 
8
8
  #include "CatalystInstanceImpl.h"
9
- #include "ReactInstanceManagerInspectorTarget.h"
10
9
 
11
10
  #include <fstream>
12
11
  #include <memory>
@@ -31,7 +30,6 @@
31
30
 
32
31
  #include <logger/react_native_log.h>
33
32
 
34
- #include "JReactCxxErrorHandler.h"
35
33
  #include "JReactSoftExceptionLogger.h"
36
34
  #include "JavaScriptExecutorHolder.h"
37
35
  #include "JniJSModulesUnbundle.h"
@@ -148,7 +146,6 @@ void log(ReactNativeLogLevel level, const char* message) {
148
146
  break;
149
147
  case ReactNativeLogLevelError:
150
148
  LOG(ERROR) << message;
151
- JReactCxxErrorHandler::handleError(message);
152
149
  break;
153
150
  case ReactNativeLogLevelFatal:
154
151
  LOG(FATAL) << message;
@@ -163,11 +160,7 @@ void CatalystInstanceImpl::initializeBridge(
163
160
  jni::alias_ref<JavaMessageQueueThread::javaobject> jsQueue,
164
161
  jni::alias_ref<JavaMessageQueueThread::javaobject> nativeModulesQueue,
165
162
  jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
166
- javaModules,
167
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
168
- cxxModules,
169
- jni::alias_ref<ReactInstanceManagerInspectorTarget::javaobject>
170
- inspectorTarget) {
163
+ javaModules) {
171
164
  set_react_native_logfunc(&log);
172
165
 
173
166
  // TODO mhorowitz: how to assert here?
@@ -194,31 +187,20 @@ void CatalystInstanceImpl::initializeBridge(
194
187
  // stack.
195
188
 
196
189
  moduleRegistry_ = std::make_shared<ModuleRegistry>(buildNativeModuleList(
197
- std::weak_ptr<Instance>(instance_),
198
- javaModules,
199
- cxxModules,
200
- moduleMessageQueue_));
190
+ std::weak_ptr<Instance>(instance_), javaModules, moduleMessageQueue_));
201
191
 
202
192
  instance_->initializeBridge(
203
193
  std::make_unique<InstanceCallbackImpl>(callback),
204
194
  jseh->getExecutorFactory(),
205
195
  std::make_unique<JMessageQueueThread>(jsQueue),
206
- moduleRegistry_,
207
- inspectorTarget != nullptr
208
- ? inspectorTarget->cthis()->getInspectorTarget()
209
- : nullptr);
196
+ moduleRegistry_);
210
197
  }
211
198
 
212
199
  void CatalystInstanceImpl::extendNativeModules(
213
200
  jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
214
- javaModules,
215
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
216
- cxxModules) {
201
+ javaModules) {
217
202
  moduleRegistry_->registerModules(buildNativeModuleList(
218
- std::weak_ptr<Instance>(instance_),
219
- javaModules,
220
- cxxModules,
221
- moduleMessageQueue_));
203
+ std::weak_ptr<Instance>(instance_), javaModules, moduleMessageQueue_));
222
204
  }
223
205
 
224
206
  void CatalystInstanceImpl::jniSetSourceURL(const std::string& sourceURL) {
@@ -19,7 +19,6 @@
19
19
  #include "JSLoader.h"
20
20
  #include "JavaModuleWrapper.h"
21
21
  #include "ModuleRegistryBuilder.h"
22
- #include "ReactInstanceManagerInspectorTarget.h"
23
22
 
24
23
  #ifndef RCT_REMOVE_LEGACY_ARCH
25
24
 
@@ -59,13 +58,9 @@ class [[deprecated("This API will be removed along with the legacy architecture.
59
58
  JavaScriptExecutorHolder *jseh,
60
59
  jni::alias_ref<JavaMessageQueueThread::javaobject> jsQueue,
61
60
  jni::alias_ref<JavaMessageQueueThread::javaobject> nativeModulesQueue,
62
- jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules,
63
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject> cxxModules,
64
- jni::alias_ref<ReactInstanceManagerInspectorTarget::javaobject> inspectorTarget);
61
+ jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules);
65
62
 
66
- void extendNativeModules(
67
- jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules,
68
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject> cxxModules);
63
+ void extendNativeModules(jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules);
69
64
 
70
65
  /**
71
66
  * Sets the source URL of the underlying bridge without loading any JS code.
@@ -7,10 +7,6 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #include <memory>
11
- #include <string>
12
-
13
- #include <cxxreact/CxxModule.h>
14
10
  #include <fbjni/fbjni.h>
15
11
 
16
12
  namespace facebook::react {
@@ -19,24 +15,4 @@ struct JNativeModule : jni::JavaClass<JNativeModule> {
19
15
  constexpr static const char *const kJavaDescriptor = "Lcom/facebook/react/bridge/NativeModule;";
20
16
  };
21
17
 
22
- /**
23
- * The C++ part of a CxxModuleWrapper is not a unique class, but it
24
- * must extend this base class.
25
- */
26
- class CxxModuleWrapperBase : public jni::HybridClass<CxxModuleWrapperBase, JNativeModule> {
27
- public:
28
- constexpr static const char *const kJavaDescriptor = "Lcom/facebook/react/bridge/CxxModuleWrapperBase;";
29
-
30
- static void registerNatives()
31
- {
32
- registerHybrid({makeNativeMethod("getName", CxxModuleWrapperBase::getName)});
33
- }
34
-
35
- // JNI method
36
- virtual std::string getName() = 0;
37
-
38
- // Called by ModuleRegistryBuilder
39
- virtual std::unique_ptr<xplat::module::CxxModule> getModule() = 0;
40
- };
41
-
42
18
  } // namespace facebook::react
@@ -72,7 +72,7 @@ loadScriptFromAssets(AAssetManager* manager, const std::string& assetName) {
72
72
  }
73
73
 
74
74
  auto buf = std::make_unique<JSBigBufferString>(script->size());
75
- memcpy(buf->data(), script->c_str(), script->size());
75
+ memcpy(buf->mutableData(), script->c_str(), script->size());
76
76
  return buf;
77
77
  }
78
78
  }
@@ -10,11 +10,12 @@
10
10
  #include <string>
11
11
 
12
12
  #include <android/asset_manager.h>
13
- #include <cxxreact/JSExecutor.h>
14
13
  #include <fbjni/fbjni.h>
15
14
 
16
15
  namespace facebook::react {
17
16
 
17
+ class JSBigString;
18
+
18
19
  struct JAssetManager : jni::JavaClass<JAssetManager> {
19
20
  static constexpr auto kJavaDescriptor = "Landroid/content/res/AssetManager;";
20
21
  };
@@ -9,7 +9,6 @@
9
9
 
10
10
  #include <glog/logging.h>
11
11
 
12
- #include <cxxreact/CxxModule.h>
13
12
  #include <cxxreact/CxxNativeModule.h>
14
13
  #include <cxxreact/Instance.h>
15
14
  #include <cxxreact/JsArgumentHelpers.h>
@@ -24,30 +24,13 @@ std::string ModuleHolder::getName() const {
24
24
 
25
25
  xplat::module::CxxModule::Provider ModuleHolder::getProvider(
26
26
  const std::string& moduleName) const {
27
- return [self = jni::make_global(self()), moduleName] {
28
- static auto getModule =
29
- ModuleHolder::javaClassStatic()->getMethod<JNativeModule::javaobject()>(
30
- "getModule");
31
- // This is the call which uses the lazy Java Provider to instantiate the
32
- // Java CxxModuleWrapper which contains the CxxModule.
33
- auto module = getModule(self);
34
-
35
- CHECK(module->isInstanceOf(CxxModuleWrapperBase::javaClassStatic()))
36
- << "NativeModule '" << moduleName << "' isn't a C++ module";
37
-
38
- auto cxxModule =
39
- jni::static_ref_cast<CxxModuleWrapperBase::javaobject>(module);
40
- // Then, we grab the CxxModule from the wrapper, which is no longer needed.
41
- return cxxModule->cthis()->getModule();
42
- };
27
+ return [self = jni::make_global(self()), moduleName] { return nullptr; };
43
28
  }
44
29
 
45
30
  std::vector<std::unique_ptr<NativeModule>> buildNativeModuleList(
46
31
  std::weak_ptr<Instance> winstance,
47
32
  jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
48
33
  javaModules,
49
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
50
- cxxModules,
51
34
  std::shared_ptr<MessageQueueThread> moduleMessageQueue) {
52
35
  std::vector<std::unique_ptr<NativeModule>> modules;
53
36
  if (javaModules) {
@@ -57,17 +40,6 @@ std::vector<std::unique_ptr<NativeModule>> buildNativeModuleList(
57
40
  winstance, jm, moduleMessageQueue));
58
41
  }
59
42
  }
60
- if (cxxModules) {
61
- for (const auto& cm : *cxxModules) {
62
- std::string moduleName = cm->getName();
63
- modules.emplace_back(
64
- std::make_unique<CxxNativeModule>(
65
- winstance,
66
- moduleName,
67
- cm->getProvider(moduleName),
68
- moduleMessageQueue));
69
- }
70
- }
71
43
  return modules;
72
44
  }
73
45
 
@@ -11,7 +11,7 @@
11
11
  #include <cxxreact/ModuleRegistry.h>
12
12
  #include <fbjni/fbjni.h>
13
13
 
14
- #include "CxxModuleWrapper.h"
14
+ #include "CxxModuleWrapperBase.h"
15
15
  #include "JavaModuleWrapper.h"
16
16
 
17
17
  #ifndef RCT_REMOVE_LEGACY_ARCH
@@ -33,7 +33,6 @@ class [[deprecated("This API will be removed along with the legacy architecture.
33
33
  std::vector<std::unique_ptr<NativeModule>> buildNativeModuleList(
34
34
  std::weak_ptr<Instance> winstance,
35
35
  jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules,
36
- jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject> cxxModules,
37
36
  std::shared_ptr<MessageQueueThread> moduleMessageQueue);
38
37
  } // namespace facebook::react
39
38
 
@@ -11,10 +11,8 @@
11
11
  #include <fbjni/fbjni.h>
12
12
 
13
13
  #include "CatalystInstanceImpl.h"
14
- #include "CxxModuleWrapperBase.h"
15
14
  #include "InspectorNetworkRequestListener.h"
16
15
  #include "JavaScriptExecutorHolder.h"
17
- #include "ReactInstanceManagerInspectorTarget.h"
18
16
 
19
17
  #ifndef WITH_GLOGINIT
20
18
  #define WITH_GLOGINIT 1
@@ -42,8 +40,6 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
42
40
  CatalystInstanceImpl::registerNatives();
43
41
  #pragma clang diagnostic pop
44
42
  #endif
45
- CxxModuleWrapperBase::registerNatives();
46
- ReactInstanceManagerInspectorTarget::registerNatives();
47
43
  InspectorNetworkRequestListener::registerNatives();
48
44
  });
49
45
  }
@@ -29,8 +29,4 @@ target_link_libraries(hermesinstancejni
29
29
  target_compile_reactnative_options(hermesinstancejni PRIVATE)
30
30
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
31
31
  target_compile_options(hermesinstancejni PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
32
-
33
- if (HERMES_V1_ENABLED)
34
- target_compile_options(hermesinstancejni PRIVATE -DHERMES_V1_ENABLED=1)
35
- endif()
36
32
  endif ()
@@ -19,10 +19,6 @@ add_library(rninstance
19
19
  target_compile_reactnative_options(rninstance PRIVATE)
20
20
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
21
21
  target_compile_options(rninstance PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
22
-
23
- if (HERMES_V1_ENABLED)
24
- target_compile_options(rninstance PRIVATE -DHERMES_V1_ENABLED=1)
25
- endif()
26
22
  endif ()
27
23
 
28
24
  target_merge_so(rninstance)
@@ -16,6 +16,7 @@ using namespace facebook::jni;
16
16
  using namespace facebook::react::jsinspector_modern;
17
17
 
18
18
  namespace facebook::react {
19
+
19
20
  JReactHostInspectorTarget::JReactHostInspectorTarget(
20
21
  alias_ref<JReactHostInspectorTarget::javaobject> jobj,
21
22
  alias_ref<JReactHostImpl> reactHostImpl,
@@ -29,7 +30,8 @@ JReactHostInspectorTarget::JReactHostInspectorTarget(
29
30
  std::function<void()>&& callback) mutable {
30
31
  auto jrunnable = JNativeRunnable::newObjectCxxArgs(std::move(callback));
31
32
  javaExecutor->execute(jrunnable);
32
- }) {
33
+ }),
34
+ tracingDelegate_(std::make_unique<TracingDelegate>()) {
33
35
  auto& inspectorFlags = InspectorFlags::getInstance();
34
36
  if (inspectorFlags.getFuseboxEnabled()) {
35
37
  inspectorTarget_ = HostTarget::create(*this, inspectorExecutor_);
@@ -146,7 +148,14 @@ HostTarget* JReactHostInspectorTarget::getInspectorTarget() {
146
148
 
147
149
  bool JReactHostInspectorTarget::startBackgroundTrace() {
148
150
  if (inspectorTarget_) {
149
- return inspectorTarget_->startTracing(tracing::Mode::Background);
151
+ return inspectorTarget_->startTracing(
152
+ tracing::Mode::Background,
153
+ {
154
+ tracing::Category::HiddenTimeline,
155
+ tracing::Category::RuntimeExecution,
156
+ tracing::Category::Timeline,
157
+ tracing::Category::UserTiming,
158
+ });
150
159
  } else {
151
160
  jni::throwNewJavaException(
152
161
  "java/lang/IllegalStateException",
@@ -154,7 +163,7 @@ bool JReactHostInspectorTarget::startBackgroundTrace() {
154
163
  }
155
164
  }
156
165
 
157
- tracing::TraceRecordingState JReactHostInspectorTarget::stopTracing() {
166
+ tracing::HostTracingProfile JReactHostInspectorTarget::stopTracing() {
158
167
  if (inspectorTarget_) {
159
168
  return inspectorTarget_->stopTracing();
160
169
  } else {
@@ -167,12 +176,12 @@ tracing::TraceRecordingState JReactHostInspectorTarget::stopTracing() {
167
176
  jboolean JReactHostInspectorTarget::stopAndMaybeEmitBackgroundTrace() {
168
177
  auto capturedTrace = inspectorTarget_->stopTracing();
169
178
  if (inspectorTarget_->hasActiveSessionWithFuseboxClient()) {
170
- inspectorTarget_->emitTraceRecordingForFirstFuseboxClient(
179
+ inspectorTarget_->emitTracingProfileForFirstFuseboxClient(
171
180
  std::move(capturedTrace));
172
181
  return jboolean(true);
173
182
  }
174
183
 
175
- stashTraceRecordingState(std::move(capturedTrace));
184
+ stashTracingProfile(std::move(capturedTrace));
176
185
  return jboolean(false);
177
186
  }
178
187
 
@@ -180,16 +189,16 @@ void JReactHostInspectorTarget::stopAndDiscardBackgroundTrace() {
180
189
  inspectorTarget_->stopTracing();
181
190
  }
182
191
 
183
- void JReactHostInspectorTarget::stashTraceRecordingState(
184
- tracing::TraceRecordingState&& state) {
185
- stashedTraceRecordingState_ = std::move(state);
192
+ void JReactHostInspectorTarget::stashTracingProfile(
193
+ tracing::HostTracingProfile&& hostTracingProfile) {
194
+ stashedTracingProfile_ = std::move(hostTracingProfile);
186
195
  }
187
196
 
188
- std::optional<tracing::TraceRecordingState> JReactHostInspectorTarget::
189
- unstable_getTraceRecordingThatWillBeEmittedOnInitialization() {
190
- auto state = std::move(stashedTraceRecordingState_);
191
- stashedTraceRecordingState_.reset();
192
- return state;
197
+ std::optional<tracing::HostTracingProfile> JReactHostInspectorTarget::
198
+ unstable_getHostTracingProfileThatWillBeEmittedOnInitialization() {
199
+ auto tracingProfile = std::move(stashedTracingProfile_);
200
+ stashedTracingProfile_.reset();
201
+ return tracingProfile;
193
202
  }
194
203
 
195
204
  void JReactHostInspectorTarget::registerNatives() {
@@ -208,13 +217,132 @@ void JReactHostInspectorTarget::registerNatives() {
208
217
  "stopAndDiscardBackgroundTrace",
209
218
  JReactHostInspectorTarget::stopAndDiscardBackgroundTrace),
210
219
  makeNativeMethod(
211
- "tracingStateAsInt", JReactHostInspectorTarget::tracingState),
220
+ "getTracingState", JReactHostInspectorTarget::getTracingState),
221
+ makeNativeMethod(
222
+ "registerTracingStateListener",
223
+ JReactHostInspectorTarget::registerTracingStateListener),
224
+ makeNativeMethod(
225
+ "unregisterTracingStateListener",
226
+ JReactHostInspectorTarget::unregisterTracingStateListener),
227
+ makeNativeMethod(
228
+ "recordFrameTimings", JReactHostInspectorTarget::recordFrameTimings),
229
+ });
230
+ }
231
+
232
+ jni::local_ref<JTracingState::javaobject>
233
+ JReactHostInspectorTarget::getTracingState() {
234
+ return convertCPPTracingStateToJava(tracingDelegate_->getTracingState());
235
+ }
236
+
237
+ jlong JReactHostInspectorTarget::registerTracingStateListener(
238
+ jni::alias_ref<JTracingStateListener::javaobject> listener) {
239
+ auto cppListener = [globalRef = make_global(listener)](
240
+ TracingState tracingState, bool screenshotsEnabled) {
241
+ globalRef->onStateChanged(tracingState, screenshotsEnabled);
242
+ };
243
+
244
+ return static_cast<jlong>(
245
+ tracingDelegate_->registerTracingStateListener(std::move(cppListener)));
246
+ }
247
+
248
+ void JReactHostInspectorTarget::unregisterTracingStateListener(
249
+ jlong subscriptionId) {
250
+ tracingDelegate_->unregisterTracingStateListener(subscriptionId);
251
+ }
252
+
253
+ HostTargetTracingDelegate* JReactHostInspectorTarget::getTracingDelegate() {
254
+ return tracingDelegate_.get();
255
+ }
256
+
257
+ void JReactHostInspectorTarget::recordFrameTimings(
258
+ jni::alias_ref<JFrameTimingSequence::javaobject> frameTimingSequence) {
259
+ inspectorTarget_->recordFrameTimings({
260
+ frameTimingSequence->getId(),
261
+ frameTimingSequence->getThreadId(),
262
+ frameTimingSequence->getBeginDrawingTimestamp(),
263
+ frameTimingSequence->getCommitTimestamp(),
264
+ frameTimingSequence->getEndDrawingTimestamp(),
265
+ frameTimingSequence->getScreenshot(),
212
266
  });
213
267
  }
214
268
 
215
- jint JReactHostInspectorTarget::tracingState() {
216
- auto state = inspectorTarget_->tracingState();
217
- return static_cast<jint>(state);
269
+ void TracingDelegate::onTracingStarted(
270
+ tracing::Mode tracingMode,
271
+ bool screenshotsCategoryEnabled) {
272
+ TracingState nextState = TracingState::Disabled;
273
+ switch (tracingMode) {
274
+ case tracing::Mode::CDP:
275
+ nextState = TracingState::EnabledInCDPMode;
276
+ break;
277
+ case tracing::Mode::Background:
278
+ nextState = TracingState::EnabledInBackgroundMode;
279
+ break;
280
+ default:
281
+ throw std::logic_error("Unexpected new Tracing Mode");
282
+ }
283
+
284
+ std::vector<TracingStateListener> listeners;
285
+ {
286
+ std::lock_guard<std::mutex> lock(mutex_);
287
+
288
+ tracingState_ = nextState;
289
+ listeners = copySubscribedListeners();
290
+ }
291
+
292
+ notifyListeners(listeners, nextState, screenshotsCategoryEnabled);
293
+ }
294
+
295
+ void TracingDelegate::onTracingStopped() {
296
+ std::vector<TracingStateListener> listeners;
297
+ {
298
+ std::lock_guard<std::mutex> lock(mutex_);
299
+
300
+ tracingState_ = TracingState::Disabled;
301
+ listeners = copySubscribedListeners();
302
+ }
303
+
304
+ notifyListeners(listeners, TracingState::Disabled, false);
305
+ }
306
+
307
+ TracingState TracingDelegate::getTracingState() {
308
+ std::lock_guard<std::mutex> lock(mutex_);
309
+
310
+ return tracingState_;
311
+ }
312
+
313
+ size_t TracingDelegate::registerTracingStateListener(
314
+ TracingStateListener listener) {
315
+ std::lock_guard<std::mutex> lock(mutex_);
316
+
317
+ auto id = nextSubscriptionId_++;
318
+ subscriptions_[id] = std::move(listener);
319
+ return id;
320
+ }
321
+
322
+ void TracingDelegate::unregisterTracingStateListener(size_t subscriptionId) {
323
+ std::lock_guard<std::mutex> lock(mutex_);
324
+
325
+ subscriptions_.erase(subscriptionId);
326
+ }
327
+
328
+ std::vector<TracingStateListener> TracingDelegate::copySubscribedListeners() {
329
+ std::vector<TracingStateListener> listeners;
330
+ listeners.reserve(subscriptions_.size());
331
+
332
+ for (auto& [_, listener] : subscriptions_) {
333
+ listeners.push_back(listener);
334
+ }
335
+
336
+ return listeners;
337
+ }
338
+
339
+ void TracingDelegate::notifyListeners(
340
+ const std::vector<TracingStateListener>& listeners,
341
+ TracingState state,
342
+ bool screenshotsCategoryEnabled) {
343
+ for (const auto& listener : listeners) {
344
+ listener(state, screenshotsCategoryEnabled);
345
+ }
218
346
  }
219
347
 
220
348
  } // namespace facebook::react