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
@@ -19,6 +19,8 @@ class TurboModule;
19
19
 
20
20
  @interface RCTAnimatedModuleProvider : NSObject
21
21
 
22
+ - (void)invalidate;
23
+
22
24
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
23
25
  jsInvoker:
24
26
  (std::shared_ptr<facebook::react::CallInvoker>)jsInvoker;
@@ -24,11 +24,38 @@
24
24
  CADisplayLink *_displayLink;
25
25
  #endif
26
26
  std::function<void()> _onRender;
27
+
28
+ std::weak_ptr<facebook::react::NativeAnimatedNodesManagerProvider> _nativeAnimatedNodesManagerProvider;
29
+ }
30
+
31
+ - (void)dealloc
32
+ {
33
+ [self invalidate];
34
+ }
35
+
36
+ - (void)invalidate
37
+ {
38
+ if (_displayLink != nil) {
39
+ #if TARGET_OS_OSX
40
+ RCTPlatformDisplayLink *displayLink = _displayLink;
41
+ #else
42
+ CADisplayLink *displayLink = _displayLink;
43
+ #endif
44
+ _displayLink = nil;
45
+ if ([NSThread isMainThread]) {
46
+ [displayLink invalidate];
47
+ } else {
48
+ dispatch_sync(dispatch_get_main_queue(), ^{
49
+ [displayLink invalidate];
50
+ });
51
+ }
52
+ _onRender = nullptr;
53
+ }
27
54
  }
28
55
 
29
56
  - (void)_onDisplayLinkTick
30
57
  {
31
- if (_displayLink != nullptr && _onRender != nullptr) {
58
+ if (_nativeAnimatedNodesManagerProvider.lock() != nullptr && _displayLink != nullptr && _onRender != nullptr) {
32
59
  _onRender();
33
60
  }
34
61
  }
@@ -69,11 +96,16 @@
69
96
  const auto stop_render = [weakSelf]() {
70
97
  RCTAnimatedModuleProvider *strongSelf = weakSelf;
71
98
  if (strongSelf) {
72
- if (strongSelf->_displayLink != nil) {
73
- [strongSelf->_displayLink invalidate];
74
- strongSelf->_displayLink = nil;
75
- strongSelf->_onRender = nullptr;
99
+ #if TARGET_OS_OSX
100
+ RCTPlatformDisplayLink *displayLink = strongSelf->_displayLink;
101
+ #else
102
+ CADisplayLink *displayLink = strongSelf->_displayLink;
103
+ #endif
104
+ strongSelf->_displayLink = nil;
105
+ if (displayLink != nil) {
106
+ [displayLink invalidate];
76
107
  }
108
+ strongSelf->_onRender = nullptr;
77
109
  }
78
110
  };
79
111
 
@@ -85,6 +117,7 @@
85
117
  stop_render();
86
118
  }
87
119
  });
120
+ _nativeAnimatedNodesManagerProvider = provider;
88
121
  return std::make_shared<facebook::react::AnimatedModule>(std::move(jsInvoker), std::move(provider));
89
122
  }
90
123
  }
@@ -32,4 +32,7 @@ function(target_compile_reactnative_options target_name scope)
32
32
  if(ANDROID)
33
33
  target_compile_definitions(${target_name} ${scope} RN_SERIALIZABLE_STATE)
34
34
  endif()
35
+ if(HERMES_V1_ENABLED)
36
+ target_compile_definitions(${target_name} ${scope} HERMES_V1_ENABLED=1)
37
+ endif()
35
38
  endfunction()
@@ -10,6 +10,8 @@
10
10
  #include <memory>
11
11
  #include <string>
12
12
 
13
+ #include <jsi/jsi.h>
14
+
13
15
  #ifndef RN_EXPORT
14
16
  #ifdef _MSC_VER
15
17
  #define RN_EXPORT
@@ -27,15 +29,17 @@ namespace facebook::react {
27
29
  // large string needs to be curried into a std::function<>, which must
28
30
  // by CopyConstructible.
29
31
 
30
- class JSBigString {
32
+ class JSBigString : public facebook::jsi::Buffer {
31
33
  public:
32
34
  JSBigString() = default;
33
35
 
34
- // Not copyable
36
+ // Not copyable or movable
35
37
  JSBigString(const JSBigString &) = delete;
36
38
  JSBigString &operator=(const JSBigString &) = delete;
39
+ JSBigString(JSBigString &&) = delete;
40
+ JSBigString &operator=(JSBigString &&) = delete;
37
41
 
38
- virtual ~JSBigString() = default;
42
+ ~JSBigString() override = default;
39
43
 
40
44
  virtual bool isAscii() const = 0;
41
45
 
@@ -43,7 +47,12 @@ class JSBigString {
43
47
  virtual const char *c_str() const = 0;
44
48
 
45
49
  // Length of the c_str without the NULL byte.
46
- virtual size_t size() const = 0;
50
+ size_t size() const override = 0;
51
+
52
+ const uint8_t *data() const final
53
+ {
54
+ return reinterpret_cast<const uint8_t *>(c_str());
55
+ }
47
56
  };
48
57
 
49
58
  // Concrete JSBigString implementation which holds a std::string
@@ -105,7 +114,7 @@ class RN_EXPORT JSBigBufferString : public JSBigString {
105
114
  return m_size;
106
115
  }
107
116
 
108
- char *data()
117
+ char *mutableData()
109
118
  {
110
119
  return m_data;
111
120
  }
@@ -60,8 +60,8 @@ void JSIndexedRAMBundle::init() {
60
60
  "header size must exactly match the input file format");
61
61
 
62
62
  readBundle(reinterpret_cast<char*>(header), sizeof(header));
63
- const size_t numTableEntries = folly::Endian::little(header[1]);
64
- const size_t startupCodeSize = folly::Endian::little(header[2]);
63
+ size_t numTableEntries = folly::Endian::little(header[1]);
64
+ std::streamsize startupCodeSize = folly::Endian::little(header[2]);
65
65
 
66
66
  // allocate memory for meta data and lookup table.
67
67
  m_table = ModuleTable(numTableEntries);
@@ -73,7 +73,7 @@ void JSIndexedRAMBundle::init() {
73
73
  // read the startup code
74
74
  m_startupCode = std::make_unique<JSBigBufferString>(startupCodeSize - 1);
75
75
 
76
- readBundle(m_startupCode->data(), startupCodeSize - 1);
76
+ readBundle(m_startupCode->mutableData(), startupCodeSize - 1);
77
77
  }
78
78
 
79
79
  JSIndexedRAMBundle::Module JSIndexedRAMBundle::getModule(
@@ -109,8 +109,7 @@ std::string JSIndexedRAMBundle::getModuleCode(const uint32_t id) const {
109
109
  return ret;
110
110
  }
111
111
 
112
- void JSIndexedRAMBundle::readBundle(char* buffer, const std::streamsize bytes)
113
- const {
112
+ void JSIndexedRAMBundle::readBundle(char* buffer, std::streamsize bytes) const {
114
113
  if (!m_bundle->read(buffer, bytes)) {
115
114
  if ((m_bundle->rdstate() & std::ios::eofbit) != 0) {
116
115
  throw std::ios_base::failure("Unexpected end of RAM Bundle file");
@@ -6,7 +6,6 @@
6
6
  */
7
7
 
8
8
  #include "ReactMarker.h"
9
- #include <cxxreact/JSExecutor.h>
10
9
 
11
10
  namespace facebook::react::ReactMarker {
12
11
 
@@ -13,15 +13,15 @@
13
13
  #include <string_view>
14
14
 
15
15
  #define REACT_NATIVE_VERSION_MAJOR 0
16
- #define REACT_NATIVE_VERSION_MINOR 83
17
- #define REACT_NATIVE_VERSION_PATCH 2
16
+ #define REACT_NATIVE_VERSION_MINOR 84
17
+ #define REACT_NATIVE_VERSION_PATCH 0
18
18
 
19
19
  namespace facebook::react {
20
20
 
21
21
  constexpr struct {
22
22
  int32_t Major = 0;
23
- int32_t Minor = 83;
24
- int32_t Patch = 2;
23
+ int32_t Minor = 84;
24
+ int32_t Patch = 0;
25
25
  std::string_view Prerelease = "0";
26
26
  } ReactNativeVersion;
27
27
 
@@ -14,7 +14,7 @@ void DevToolsRuntimeSettings::setReloadAndProfileConfig(
14
14
  if (config.shouldReloadAndProfile.has_value()) {
15
15
  _config.shouldReloadAndProfile = config.shouldReloadAndProfile.value();
16
16
  }
17
- if (config.shouldReloadAndProfile.has_value()) {
17
+ if (config.recordChangeDescriptions.has_value()) {
18
18
  _config.recordChangeDescriptions = config.recordChangeDescriptions.value();
19
19
  }
20
20
  };
@@ -47,6 +47,7 @@ Pod::Spec.new do |s|
47
47
  s.dependency "React-jsi"
48
48
  add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
49
49
  add_dependency(s, "React-oscompat")
50
+ add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
50
51
 
51
52
  add_rn_third_party_dependencies(s)
52
53
  add_rncore_dependency(s)
@@ -32,10 +32,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
32
32
  PRIVATE
33
33
  -DHERMES_ENABLE_DEBUGGER=1
34
34
  )
35
-
36
- if (HERMES_V1_ENABLED)
37
- target_compile_options(hermes_executor_common PRIVATE -DHERMES_V1_ENABLED=1)
38
- endif()
39
35
  else()
40
36
  target_compile_options(
41
37
  hermes_executor_common
@@ -13,6 +13,8 @@
13
13
  #include <jsi/decorator.h>
14
14
  #include <jsinspector-modern/InspectorFlags.h>
15
15
 
16
+ #include <thread>
17
+
16
18
  #include <hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h>
17
19
 
18
20
  #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
@@ -23,10 +23,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
23
23
  PRIVATE
24
24
  -DHERMES_ENABLE_DEBUGGER=1
25
25
  )
26
-
27
- if (HERMES_V1_ENABLED)
28
- target_compile_options(hermes_inspector_modern PRIVATE -DHERMES_V1_ENABLED=1)
29
- endif()
30
26
  endif()
31
27
 
32
28
  target_include_directories(hermes_inspector_modern PUBLIC ${REACT_COMMON_DIR})
@@ -231,8 +231,9 @@ inline char hexDigit(unsigned x) {
231
231
  // ASCII characters
232
232
  bool isAllASCII(const char16_t* utf16, size_t length) {
233
233
  for (const char16_t* e = utf16 + length; utf16 != e; ++utf16) {
234
- if (*utf16 > 0x7F)
234
+ if (*utf16 > 0x7F) {
235
235
  return false;
236
+ }
236
237
  }
237
238
  return true;
238
239
  }
@@ -284,6 +285,10 @@ HostObject::~HostObject() {}
284
285
 
285
286
  NativeState::~NativeState() {}
286
287
 
288
+ #ifdef JSI_UNSTABLE
289
+ Serialized::~Serialized() {}
290
+ #endif
291
+
287
292
  Runtime::~Runtime() {}
288
293
 
289
294
  ICast* Runtime::castInterface(const UUID& /*interfaceUUID*/) {
@@ -8,6 +8,7 @@
8
8
  #pragma once
9
9
 
10
10
  #include <cassert>
11
+ #include <cstdint>
11
12
  #include <cstring>
12
13
  #include <exception>
13
14
  #include <functional>
@@ -252,6 +253,78 @@ class JSI_EXPORT NativeState {
252
253
  virtual ~NativeState();
253
254
  };
254
255
 
256
+ // JSI_UNSTABLE gates features that will be released with a Hermes version in
257
+ // the future. Until released, these features may be subject to change. After
258
+ // release, these features will be moved out of JSI_UNSTABLE and become frozen.
259
+ #ifdef JSI_UNSTABLE
260
+ /// Opaque class that is used to store serialized object from a runtime. The
261
+ /// lifetime of this object is orthogonal to the original runtime object, and
262
+ /// may outlive the original object.
263
+ class JSI_EXPORT Serialized {
264
+ public:
265
+ /// Uses \p secretAddr to validate if the Serialized data is supported. If so,
266
+ /// return the pointer to the underlying serialized data. Otherwise, return a
267
+ /// nullptr. This should be used by the runtime to deserialize the data.
268
+ virtual void* getPrivate(const void* secretAddr) = 0;
269
+ virtual ~Serialized();
270
+ };
271
+
272
+ /// Provides a set of APIs that allows copying objects between different
273
+ /// runtime instances. The runtimes instances must be of the same type. As an
274
+ /// example, a serialized object from Hermes runtime may only be deserialized by
275
+ /// another Hermes runtime.
276
+ class JSI_EXPORT ISerialization : public ICast {
277
+ public:
278
+ static constexpr jsi::UUID uuid{
279
+ 0xd40fe0ec,
280
+ 0xa47c,
281
+ 0x42c9,
282
+ 0x8c09,
283
+ 0x661aeab832d8};
284
+
285
+ /// Serializes the given Value \p value using the structured clone algorithm.
286
+ /// It returns a shared pointer of an opaque Serialized object that can be
287
+ /// deserialized multiple times. The lifetime of the Serialized object is not
288
+ /// tied to the lifetime of the original object.
289
+ virtual std::shared_ptr<Serialized> serialize(Value& value) = 0;
290
+
291
+ /// Given a Serialized object provided by \p serialized, deserialize it using
292
+ /// the structured clone algorithm into a JS value in the current runtime.
293
+ /// Returns the deserialized JS value.
294
+ virtual Value deserialize(const std::shared_ptr<Serialized>& serialized) = 0;
295
+
296
+ /// Serializes the given jsi::Value \p value using the structured clone
297
+ /// algorithm. \p transferList must be a JS Array. Given the length property
298
+ /// of \p transferList, this API will transfer everything at index [0, length
299
+ /// - 1] to the serialized object. The transferred values will no longer be
300
+ /// usable in the original runtime. It returns a unique pointer of an opaque
301
+ /// Serialized object that can be deserialized once only by
302
+ /// deserializeWithTransfer. The lifetime of the Serialized object is not tied
303
+ /// to the lifetime of the original object.
304
+ virtual std::unique_ptr<Serialized> serializeWithTransfer(
305
+ Value& value,
306
+ const Array& transferList) = 0;
307
+
308
+ /// Using the structure clone algorithm, deserialize the object provided by \p
309
+ /// serialized into a JS value in the current runtime. \p serialized must be
310
+ /// created by serializeWithTransfer. If the current runtime does not support
311
+ /// the serialization scheme in \p serialized, then this method will throw and
312
+ /// \p serialized will remain unmodified. Otherwise, this will consume the
313
+ /// serialized data entirely and make the serialized objects in the current
314
+ /// runtime. Any transferred values in the serialized object will be owned by
315
+ /// the current runtime.
316
+ // This method returns an Array containing the deserialized values, where the
317
+ // first element is the value passed into serializeWithTransfer,
318
+ /// followed by all transferred values.
319
+ virtual Array deserializeWithTransfer(
320
+ std::unique_ptr<Serialized>& serialized) = 0;
321
+
322
+ protected:
323
+ ~ISerialization() = default;
324
+ };
325
+
326
+ #endif // JSI_UNSTABLE
327
+
255
328
  /// Represents a JS runtime. Movable, but not copyable. Note that
256
329
  /// this object may not be thread-aware, but cannot be used safely from
257
330
  /// multiple threads at once. The application is responsible for
@@ -1455,7 +1455,7 @@ TEST_P(JSITest, MicrotasksTest) {
1455
1455
  EXPECT_EQ(
1456
1456
  rt.global().getProperty(rt, "globalValue").asString(rt).utf8(rt),
1457
1457
  "hello world");
1458
- } catch (const JSINativeException& ex) {
1458
+ } catch (const JSINativeException&) {
1459
1459
  // queueMicrotask() is unimplemented by some runtimes, ignore such failures.
1460
1460
  }
1461
1461
  }
@@ -1550,7 +1550,7 @@ TEST_P(JSITest, ArrayBufferSizeTest) {
1550
1550
  try {
1551
1551
  // Ensure we can safely write some data to the buffer.
1552
1552
  memset(ab.data(rt), 0xab, 10);
1553
- } catch (const JSINativeException& ex) {
1553
+ } catch (const JSINativeException&) {
1554
1554
  // data() is unimplemented by some runtimes, ignore such failures.
1555
1555
  }
1556
1556
 
@@ -20,7 +20,9 @@ target_link_libraries(jsireact
20
20
  reactperflogger
21
21
  folly_runtime
22
22
  glog
23
- jsi)
23
+ jserrorhandler
24
+ jsi
25
+ jsitooling)
24
26
 
25
27
  target_compile_reactnative_options(jsireact PRIVATE)
26
28
  target_compile_options(jsireact PRIVATE -O3)
@@ -30,7 +30,9 @@ Pod::Spec.new do |s|
30
30
  s.header_dir = "jsireact"
31
31
 
32
32
  s.dependency "React-cxxreact"
33
+ s.dependency "React-jserrorhandler"
33
34
  s.dependency "React-jsi"
35
+ s.dependency "React-jsitooling"
34
36
  s.dependency "React-perflogger"
35
37
  add_dependency(s, "React-debug")
36
38
  add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
@@ -38,6 +40,7 @@ Pod::Spec.new do |s|
38
40
  add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
39
41
  add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
40
42
  add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
43
+ add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
41
44
  if use_hermes()
42
45
  s.dependency 'hermes-engine'
43
46
  end
@@ -168,8 +168,7 @@ void JSIExecutor::loadBundle(
168
168
  ReactMarker::logTaggedMarker(
169
169
  ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
170
170
  }
171
- runtime_->evaluateJavaScript(
172
- std::make_unique<BigStringBuffer>(std::move(script)), sourceURL);
171
+ runtime_->evaluateJavaScript(std::move(script), sourceURL);
173
172
  flush();
174
173
  if (hasLogger) {
175
174
  ReactMarker::logTaggedMarker(
@@ -212,7 +211,7 @@ void JSIExecutor::registerBundle(
212
211
  "Empty bundle registered with ID " + tag + " from " + bundlePath);
213
212
  }
214
213
  runtime_->evaluateJavaScript(
215
- std::make_unique<BigStringBuffer>(std::move(script)),
214
+ std::move(script),
216
215
  JSExecutor::getSyntheticBundlePath(bundleId, bundlePath));
217
216
  }
218
217
  ReactMarker::logTaggedMarker(
@@ -577,44 +576,4 @@ void JSIExecutor::flush() {}
577
576
 
578
577
  #endif // RCT_REMOVE_LEGACY_ARCH
579
578
 
580
- void bindNativeLogger(Runtime& runtime, Logger logger) {
581
- runtime.global().setProperty(
582
- runtime,
583
- "nativeLoggingHook",
584
- Function::createFromHostFunction(
585
- runtime,
586
- PropNameID::forAscii(runtime, "nativeLoggingHook"),
587
- 2,
588
- [logger = std::move(logger)](
589
- jsi::Runtime& runtime,
590
- const jsi::Value&,
591
- const jsi::Value* args,
592
- size_t count) {
593
- if (count != 2) {
594
- throw std::invalid_argument(
595
- "nativeLoggingHook takes 2 arguments");
596
- }
597
- logger(
598
- args[0].asString(runtime).utf8(runtime),
599
- static_cast<unsigned int>(args[1].asNumber()));
600
- return Value::undefined();
601
- }));
602
- }
603
-
604
- void bindNativePerformanceNow(Runtime& runtime) {
605
- runtime.global().setProperty(
606
- runtime,
607
- "nativePerformanceNow",
608
- Function::createFromHostFunction(
609
- runtime,
610
- PropNameID::forAscii(runtime, "nativePerformanceNow"),
611
- 0,
612
- [](jsi::Runtime& runtime,
613
- const jsi::Value&,
614
- const jsi::Value* args,
615
- size_t /*count*/) {
616
- return HighResTimeStamp::now().toDOMHighResTimeStamp();
617
- }));
618
- }
619
-
620
579
  } // namespace facebook::react
@@ -12,6 +12,7 @@
12
12
  #include <cxxreact/RAMBundleRegistry.h>
13
13
  #include <jsi/jsi.h>
14
14
  #include <jsireact/JSINativeModules.h>
15
+ #include <react/runtime/JSRuntimeBindings.h>
15
16
  #include <functional>
16
17
  #include <mutex>
17
18
  #include <optional>
@@ -49,7 +50,7 @@ namespace facebook::react {
49
50
  using JSIScopedTimeoutInvoker =
50
51
  std::function<void(const std::function<void()> &invokee, std::function<std::string()> errorMessageProducer)>;
51
52
 
52
- class BigStringBuffer : public jsi::Buffer {
53
+ class [[deprecated("JSBigString implements jsi::Buffer directly")]] BigStringBuffer : public jsi::Buffer {
53
54
  public:
54
55
  BigStringBuffer(std::unique_ptr<const JSBigString> script) : script_(std::move(script)) {}
55
56
 
@@ -60,7 +61,7 @@ class BigStringBuffer : public jsi::Buffer {
60
61
 
61
62
  const uint8_t *data() const override
62
63
  {
63
- return reinterpret_cast<const uint8_t *>(script_->c_str());
64
+ return script_->data();
64
65
  }
65
66
 
66
67
  private:
@@ -127,10 +128,4 @@ class [[deprecated("This API will be removed along with the legacy architecture.
127
128
  #endif // RCT_REMOVE_LEGACY_ARCH
128
129
  };
129
130
 
130
- using Logger = std::function<void(const std::string &message, unsigned int logLevel)>;
131
- void bindNativeLogger(jsi::Runtime &runtime, Logger logger);
132
-
133
- void bindNativePerformanceNow(jsi::Runtime &runtime);
134
-
135
- double performanceNow();
136
131
  } // namespace facebook::react
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "ConsoleTask.h"
9
+ #include "ConsoleTaskOrchestrator.h"
10
+
11
+ namespace facebook::react::jsinspector_modern {
12
+
13
+ ConsoleTask::ConsoleTask(std::shared_ptr<ConsoleTaskContext> taskContext)
14
+ : taskContext_(std::move(taskContext)),
15
+ orchestrator_(ConsoleTaskOrchestrator::getInstance()) {
16
+ if (taskContext_) {
17
+ orchestrator_.startTask(taskContext_->id());
18
+ }
19
+ }
20
+
21
+ ConsoleTask::~ConsoleTask() {
22
+ if (taskContext_) {
23
+ orchestrator_.finishTask(taskContext_->id());
24
+ }
25
+ }
26
+
27
+ } // namespace facebook::react::jsinspector_modern
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <memory>
11
+
12
+ namespace facebook::react::jsinspector_modern {
13
+
14
+ class ConsoleTaskContext;
15
+ class RuntimeTargetDelegate;
16
+ class ConsoleTaskOrchestrator;
17
+
18
+ class ConsoleTask {
19
+ public:
20
+ /**
21
+ * \param runtimeTargetDelegate The delegate to the corresponding runtime.
22
+ * \param taskContext The context that tracks the task.
23
+ */
24
+ explicit ConsoleTask(std::shared_ptr<ConsoleTaskContext> taskContext);
25
+ ~ConsoleTask();
26
+
27
+ ConsoleTask(const ConsoleTask &) = default;
28
+ ConsoleTask &operator=(const ConsoleTask &) = delete;
29
+
30
+ ConsoleTask(ConsoleTask &&) = default;
31
+ ConsoleTask &operator=(ConsoleTask &&) = delete;
32
+
33
+ private:
34
+ std::shared_ptr<ConsoleTaskContext> taskContext_;
35
+ ConsoleTaskOrchestrator &orchestrator_;
36
+ };
37
+
38
+ } // namespace facebook::react::jsinspector_modern
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "ConsoleTaskContext.h"
9
+ #include "ConsoleTaskOrchestrator.h"
10
+ #include "RuntimeTarget.h"
11
+
12
+ namespace facebook::react::jsinspector_modern {
13
+
14
+ ConsoleTaskContext::ConsoleTaskContext(
15
+ jsi::Runtime& runtime,
16
+ RuntimeTargetDelegate& runtimeTargetDelegate,
17
+ std::string name)
18
+ : runtimeTargetDelegate_(runtimeTargetDelegate),
19
+ name_(std::move(name)),
20
+ orchestrator_(ConsoleTaskOrchestrator::getInstance()) {
21
+ stackTrace_ = runtimeTargetDelegate_.captureStackTrace(runtime);
22
+ }
23
+
24
+ ConsoleTaskContext::~ConsoleTaskContext() {
25
+ orchestrator_.cancelTask(id());
26
+ }
27
+
28
+ ConsoleTaskId ConsoleTaskContext::id() const {
29
+ return ConsoleTaskId{(void*)this};
30
+ }
31
+
32
+ std::optional<folly::dynamic> ConsoleTaskContext::getSerializedStackTrace()
33
+ const {
34
+ auto maybeValue = runtimeTargetDelegate_.serializeStackTrace(*stackTrace_);
35
+ if (maybeValue) {
36
+ maybeValue.value()["description"] = name_;
37
+ }
38
+
39
+ return maybeValue;
40
+ }
41
+
42
+ void ConsoleTaskContext::schedule() {
43
+ orchestrator_.scheduleTask(id(), weak_from_this());
44
+ }
45
+
46
+ } // namespace facebook::react::jsinspector_modern