react-native-tvos 0.83.1-0 → 0.84.0-0rc0

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 (563) 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 +3 -3
  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 +3 -3
  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 +40 -4
  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 +1 -12
  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/systeminfo/ReactNativeVersion.kt +3 -3
  234. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +15 -8
  235. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
  236. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
  237. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
  238. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
  239. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
  241. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
  242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
  244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
  246. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
  247. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
  248. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  249. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
  250. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
  251. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
  252. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
  253. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
  261. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
  262. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
  264. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
  265. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
  267. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
  268. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -21
  269. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
  270. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
  271. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  272. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
  273. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
  274. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
  275. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
  276. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
  277. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
  278. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
  279. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  280. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  281. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  282. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  283. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  284. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  285. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
  286. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
  287. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
  288. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  289. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
  290. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
  291. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
  292. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  293. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  294. package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
  295. package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
  296. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
  297. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
  298. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
  299. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
  300. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  301. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  302. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  303. package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
  304. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
  305. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  306. package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
  307. package/ReactCommon/jsi/jsi/jsi.h +73 -0
  308. package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
  309. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  310. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
  311. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
  312. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
  313. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  314. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  315. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  316. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  317. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  318. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  319. package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
  320. package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
  321. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
  322. package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
  323. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
  324. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  325. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  326. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  327. package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
  328. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  329. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  330. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  331. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  332. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  333. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  334. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  335. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
  336. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
  337. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  338. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  339. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
  340. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
  341. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  342. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
  343. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  344. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
  345. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
  346. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
  347. package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
  348. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
  349. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
  350. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  351. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  352. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  353. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
  354. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
  355. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  356. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
  357. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
  358. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  359. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
  360. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  361. package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
  362. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
  366. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
  367. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
  368. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  369. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
  371. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
  372. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
  373. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
  374. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
  375. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
  376. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
  377. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
  378. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
  379. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
  380. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
  381. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  382. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
  383. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
  384. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
  385. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
  386. package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
  387. package/ReactCommon/react/networking/React-networking.podspec +0 -1
  388. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  389. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  390. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
  391. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  392. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
  393. package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
  394. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
  395. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
  396. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
  397. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
  398. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
  399. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
  400. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
  401. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
  402. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
  403. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
  404. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
  405. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
  406. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
  407. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
  408. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
  409. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +307 -0
  410. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +323 -1
  411. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +133 -0
  412. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
  413. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +246 -0
  414. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
  415. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +93 -94
  416. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
  417. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
  418. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
  419. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
  420. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
  421. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
  422. package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
  423. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
  424. package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
  425. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
  426. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
  427. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
  428. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
  429. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
  430. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
  431. package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
  432. package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
  433. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  434. package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
  435. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  436. package/ReactCommon/react/renderer/core/Props.cpp +23 -8
  437. package/ReactCommon/react/renderer/core/Props.h +6 -4
  438. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
  439. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
  440. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  441. package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
  442. package/ReactCommon/react/renderer/debug/flags.h +3 -2
  443. package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
  444. package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
  445. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
  446. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
  447. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
  448. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
  449. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
  450. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
  451. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  452. package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
  453. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
  454. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  455. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  456. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  457. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  458. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
  459. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  460. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
  461. package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
  462. package/ReactCommon/react/runtime/ReactInstance.h +5 -1
  463. package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
  464. package/ReactCommon/react/runtime/TimerManager.h +7 -12
  465. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  466. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  467. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
  468. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
  469. package/ReactCommon/yoga/yoga/style/Style.h +8 -8
  470. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  471. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  472. package/flow/HermesInternalType.js +6 -6
  473. package/flow/bom.js.flow +35 -28
  474. package/flow/cssom.js.flow +3 -3
  475. package/flow/dom.js.flow +34 -33
  476. package/index.js +3 -0
  477. package/index.js.flow +8 -0
  478. package/jest/mock.js +2 -2
  479. package/jest/mockComponent.js +1 -1
  480. package/jest/setup.js +1 -1
  481. package/package.json +12 -12
  482. package/react-native.config.js +0 -17
  483. package/scripts/cocoapods/new_architecture.rb +7 -1
  484. package/scripts/cocoapods/spm.rb +28 -10
  485. package/scripts/cocoapods/utils.rb +4 -4
  486. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
  487. package/scripts/ios-configure-glog.sh +6 -1
  488. package/scripts/react_native_pods.rb +8 -0
  489. package/sdks/.hermesv1version +1 -1
  490. package/sdks/.hermesversion +1 -1
  491. package/sdks/hermes-engine/hermes-engine.podspec +39 -31
  492. package/sdks/hermes-engine/hermes-utils.rb +7 -14
  493. package/sdks/hermes-engine/version.properties +2 -2
  494. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  495. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  496. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  497. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  498. package/src/private/components/virtualview/VirtualView.js +16 -9
  499. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  500. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  501. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  502. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  503. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  504. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  505. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  506. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  507. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  508. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  509. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  510. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  511. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  512. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  513. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  514. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  515. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  516. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  517. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
  518. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  519. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
  520. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  521. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  522. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  523. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  524. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  525. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  526. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  527. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  528. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  529. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  530. package/src/private/webapis/performance/Performance.js +1 -1
  531. package/src/private/webapis/performance/UserTiming.js +1 -1
  532. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  533. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  534. package/src/types/globals.d.ts +30 -1
  535. package/third-party-podspecs/RCT-Folly.podspec +1 -0
  536. package/React/CxxModule/RCTCxxModule.h +0 -29
  537. package/React/CxxModule/RCTCxxModule.mm +0 -87
  538. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
  539. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
  540. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  541. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  542. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
  543. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
  544. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
  545. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
  546. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
  547. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  548. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
  553. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
  554. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
  555. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
  556. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
  557. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  558. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
  559. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
  560. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
  561. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  562. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
  563. /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<<18744192baedc0d5fa0fc7873adf0422>>
7
+ * @generated SignedSource<<995c1c3035757935dc7a4c4d6778e43e>>
8
8
  */
9
9
 
10
10
  /**
@@ -29,22 +29,26 @@ public interface ReactNativeFeatureFlagsProvider {
29
29
 
30
30
  @DoNotStrip public fun cxxNativeAnimatedEnabled(): Boolean
31
31
 
32
- @DoNotStrip public fun cxxNativeAnimatedRemoveJsSync(): Boolean
33
-
34
32
  @DoNotStrip public fun disableEarlyViewCommandExecution(): Boolean
35
33
 
36
- @DoNotStrip public fun disableFabricCommitInCXXAnimated(): Boolean
34
+ @DoNotStrip public fun disableImageViewPreallocationAndroid(): Boolean
37
35
 
38
36
  @DoNotStrip public fun disableMountItemReorderingAndroid(): Boolean
39
37
 
40
38
  @DoNotStrip public fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean
41
39
 
40
+ @DoNotStrip public fun disableSubviewClippingAndroid(): Boolean
41
+
42
42
  @DoNotStrip public fun disableTextLayoutManagerCacheAndroid(): Boolean
43
43
 
44
+ @DoNotStrip public fun disableViewPreallocationAndroid(): Boolean
45
+
44
46
  @DoNotStrip public fun enableAccessibilityOrder(): Boolean
45
47
 
46
48
  @DoNotStrip public fun enableAccumulatedUpdatesInRawPropsAndroid(): Boolean
47
49
 
50
+ @DoNotStrip public fun enableAndroidAntialiasedBorderRadiusClipping(): Boolean
51
+
48
52
  @DoNotStrip public fun enableAndroidLinearText(): Boolean
49
53
 
50
54
  @DoNotStrip public fun enableAndroidTextMeasurementOptimizations(): Boolean
@@ -63,6 +67,8 @@ public interface ReactNativeFeatureFlagsProvider {
63
67
 
64
68
  @DoNotStrip public fun enableEagerRootViewAttachment(): Boolean
65
69
 
70
+ @DoNotStrip public fun enableExclusivePropsUpdateAndroid(): Boolean
71
+
66
72
  @DoNotStrip public fun enableFabricLogs(): Boolean
67
73
 
68
74
  @DoNotStrip public fun enableFabricRenderer(): Boolean
@@ -75,6 +81,8 @@ public interface ReactNativeFeatureFlagsProvider {
75
81
 
76
82
  @DoNotStrip public fun enableImagePrefetchingAndroid(): Boolean
77
83
 
84
+ @DoNotStrip public fun enableImagePrefetchingJNIBatchingAndroid(): Boolean
85
+
78
86
  @DoNotStrip public fun enableImagePrefetchingOnUiThreadAndroid(): Boolean
79
87
 
80
88
  @DoNotStrip public fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean
@@ -103,8 +111,6 @@ public interface ReactNativeFeatureFlagsProvider {
103
111
 
104
112
  @DoNotStrip public fun enablePropsUpdateReconciliationAndroid(): Boolean
105
113
 
106
- @DoNotStrip public fun enableResourceTimingAPI(): Boolean
107
-
108
114
  @DoNotStrip public fun enableSwiftUIBasedFilters(): Boolean
109
115
 
110
116
  @DoNotStrip public fun enableViewCulling(): Boolean
@@ -119,8 +125,6 @@ public interface ReactNativeFeatureFlagsProvider {
119
125
 
120
126
  @DoNotStrip public fun enableViewRecyclingForView(): Boolean
121
127
 
122
- @DoNotStrip public fun enableVirtualViewClippingWithoutScrollViewClipping(): Boolean
123
-
124
128
  @DoNotStrip public fun enableVirtualViewContainerStateExperimental(): Boolean
125
129
 
126
130
  @DoNotStrip public fun enableVirtualViewDebugFeatures(): Boolean
@@ -133,6 +137,8 @@ public interface ReactNativeFeatureFlagsProvider {
133
137
 
134
138
  @DoNotStrip public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
135
139
 
140
+ @DoNotStrip public fun fixTextClippingAndroid15useBoundsForWidth(): Boolean
141
+
136
142
  @DoNotStrip public fun fuseboxAssertSingleHostState(): Boolean
137
143
 
138
144
  @DoNotStrip public fun fuseboxEnabledRelease(): Boolean
@@ -153,12 +159,18 @@ public interface ReactNativeFeatureFlagsProvider {
153
159
 
154
160
  @DoNotStrip public fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean
155
161
 
162
+ @DoNotStrip public fun shouldResetClickableWhenRecyclingView(): Boolean
163
+
164
+ @DoNotStrip public fun shouldResetOnClickListenerWhenRecyclingView(): Boolean
165
+
166
+ @DoNotStrip public fun shouldSetEnabledBasedOnAccessibilityState(): Boolean
167
+
168
+ @DoNotStrip public fun shouldSetIsClickableByDefault(): Boolean
169
+
156
170
  @DoNotStrip public fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean
157
171
 
158
172
  @DoNotStrip public fun skipActivityIdentityAssertionOnHostPause(): Boolean
159
173
 
160
- @DoNotStrip public fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean
161
-
162
174
  @DoNotStrip public fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean
163
175
 
164
176
  @DoNotStrip public fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean
@@ -167,14 +179,8 @@ public interface ReactNativeFeatureFlagsProvider {
167
179
 
168
180
  @DoNotStrip public fun useFabricInterop(): Boolean
169
181
 
170
- @DoNotStrip public fun useNativeEqualsInNativeReadableArrayAndroid(): Boolean
171
-
172
- @DoNotStrip public fun useNativeTransformHelperAndroid(): Boolean
173
-
174
182
  @DoNotStrip public fun useNativeViewConfigsInBridgelessMode(): Boolean
175
183
 
176
- @DoNotStrip public fun useOptimizedEventBatchingOnAndroid(): Boolean
177
-
178
184
  @DoNotStrip public fun useRawPropsJsiValue(): Boolean
179
185
 
180
186
  @DoNotStrip public fun useShadowNodeStateOnClone(): Boolean
@@ -11,7 +11,6 @@ import androidx.annotation.GuardedBy
11
11
  import com.facebook.common.logging.FLog
12
12
  import com.facebook.jni.HybridData
13
13
  import com.facebook.proguard.annotations.DoNotStrip
14
- import com.facebook.react.bridge.CxxModuleWrapper
15
14
  import com.facebook.react.bridge.NativeModule
16
15
  import com.facebook.react.bridge.RuntimeExecutor
17
16
  import com.facebook.react.common.annotations.FrameworkAPI
@@ -53,7 +52,6 @@ public class TurboModuleManager(
53
52
  @DoNotStrip
54
53
  private val mHybridData: HybridData =
55
54
  initHybrid(
56
- runtimeExecutor,
57
55
  jsCallInvokerHolder as CallInvokerHolderImpl,
58
56
  nativeMethodCallInvokerHolder as NativeMethodCallInvokerHolderImpl,
59
57
  delegate,
@@ -61,7 +59,7 @@ public class TurboModuleManager(
61
59
 
62
60
  init {
63
61
 
64
- installJSIBindings(shouldEnableLegacyModuleInterop())
62
+ installJSIBindings(runtimeExecutor)
65
63
 
66
64
  eagerInitModuleNames = delegate?.getEagerInitModuleNames() ?: emptyList()
67
65
 
@@ -73,7 +71,7 @@ public class TurboModuleManager(
73
71
  ModuleProvider { moduleName: String -> delegate.getModule(moduleName) as NativeModule? }
74
72
 
75
73
  legacyModuleProvider =
76
- if (delegate == null || !shouldEnableLegacyModuleInterop()) nullProvider
74
+ if (delegate == null) nullProvider
77
75
  else
78
76
  ModuleProvider { moduleName: String ->
79
77
  val nativeModule = delegate.getLegacyModule(moduleName)
@@ -94,9 +92,6 @@ public class TurboModuleManager(
94
92
  private fun isLegacyModule(moduleName: String): Boolean =
95
93
  delegate?.unstable_isLegacyModuleRegistered(moduleName) == true
96
94
 
97
- private fun shouldEnableLegacyModuleInterop(): Boolean =
98
- delegate?.unstable_shouldEnableLegacyModuleInterop() == true
99
-
100
95
  // used from TurboModuleManager.cpp
101
96
  @Suppress("unused")
102
97
  @DoNotStrip
@@ -110,39 +105,7 @@ public class TurboModuleManager(
110
105
  }
111
106
 
112
107
  val module = getModule(moduleName)
113
- return if (module !is CxxModuleWrapper && module !is TurboModule) module else null
114
- }
115
-
116
- // used from TurboModuleManager.cpp
117
- @Suppress("unused")
118
- @DoNotStrip
119
- private fun getLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
120
- /*
121
- * This API is invoked from global.nativeModuleProxy.
122
- * Only call getModule if the native module is a legacy module.
123
- */
124
- if (!isLegacyModule(moduleName)) {
125
- return null
126
- }
127
-
128
- val module = getModule(moduleName)
129
- return if (module is CxxModuleWrapper && module !is TurboModule) module else null
130
- }
131
-
132
- // used from TurboModuleManager.cpp
133
- @Suppress("unused")
134
- @DoNotStrip
135
- private fun getTurboLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
136
- /*
137
- * This API is invoked from global.__turboModuleProxy.
138
- * Only call getModule if the native module is a turbo module.
139
- */
140
- if (!isTurboModule(moduleName)) {
141
- return null
142
- }
143
-
144
- val module = getModule(moduleName)
145
- return if (module is CxxModuleWrapper && module is TurboModule) module else null
108
+ return if (module !is TurboModule) module else null
146
109
  }
147
110
 
148
111
  // used from TurboModuleManager.cpp
@@ -158,7 +121,7 @@ public class TurboModuleManager(
158
121
  }
159
122
 
160
123
  val module = getModule(moduleName)
161
- return if (module !is CxxModuleWrapper && module is TurboModule) module else null
124
+ return if (module is TurboModule) module else null
162
125
  }
163
126
 
164
127
  /**
@@ -314,13 +277,12 @@ public class TurboModuleManager(
314
277
  }
315
278
 
316
279
  private external fun initHybrid(
317
- runtimeExecutor: RuntimeExecutor,
318
280
  jsCallInvokerHolder: CallInvokerHolderImpl,
319
281
  nativeMethodCallInvoker: NativeMethodCallInvokerHolderImpl,
320
282
  tmmDelegate: TurboModuleManagerDelegate?,
321
283
  ): HybridData
322
284
 
323
- private external fun installJSIBindings(shouldCreateLegacyModules: Boolean)
285
+ private external fun installJSIBindings(runtimeExecutor: RuntimeExecutor)
324
286
 
325
287
  override fun invalidate() {
326
288
  /*
@@ -48,9 +48,6 @@ public abstract class TurboModuleManagerDelegate {
48
48
 
49
49
  public open fun getEagerInitModuleNames(): List<String> = emptyList()
50
50
 
51
- /** Can the TurboModule system create legacy modules? */
52
- public open fun unstable_shouldEnableLegacyModuleInterop(): Boolean = false
53
-
54
51
  // TODO(T171231381): Consider removing this method: could we just use the static initializer
55
52
  // of derived classes instead?
56
53
  @Synchronized protected fun maybeLoadOtherSoLibraries(): Unit = Unit
@@ -28,13 +28,42 @@ constructor(
28
28
 
29
29
  private var lastEmittedColorScheme: String? = null
30
30
 
31
+ private val schemeChangeListener: () -> Unit = {
32
+ val activity = reactApplicationContext.getCurrentActivity()
33
+ onConfigurationChanged(activity ?: reactApplicationContext)
34
+ }
35
+
36
+ init {
37
+ // Register as a listener for color scheme changes if override is provided
38
+ overrideColorScheme?.addSchemeChangeListener(schemeChangeListener)
39
+ }
40
+
31
41
  /** Optional override to the current color scheme */
32
- public fun interface OverrideColorScheme {
42
+ public interface OverrideColorScheme {
33
43
  /**
34
44
  * Color scheme will use the return value instead of the current system configuration. Available
35
45
  * scheme: {light, dark}
36
46
  */
37
47
  public fun getScheme(): String
48
+
49
+ /**
50
+ * Register a listener to be notified when the color scheme changes. The listener will be
51
+ * invoked whenever the underlying theme preference changes.
52
+ *
53
+ * Default implementation does nothing. Override this method if you want to support dynamic
54
+ * color scheme updates.
55
+ */
56
+ public fun addSchemeChangeListener(listener: () -> Unit) {
57
+ // no-op
58
+ }
59
+
60
+ /**
61
+ * Unregisters a previously added color scheme change listener. Default implementation is a
62
+ * no-op; override to remove the listener from your source.
63
+ */
64
+ public fun removeSchemeChangeListener(listener: () -> Unit) {
65
+ // no-op
66
+ }
38
67
  }
39
68
 
40
69
  private fun colorSchemeForCurrentConfiguration(context: Context): String {
@@ -98,6 +127,12 @@ constructor(
98
127
  Companion.invalidatePlatformColorCache?.run()
99
128
  }
100
129
 
130
+ public override fun invalidate() {
131
+ overrideColorScheme?.removeSchemeChangeListener(schemeChangeListener)
132
+ invalidatePlatformColorCache()
133
+ super.invalidate()
134
+ }
135
+
101
136
  public companion object {
102
137
  public const val NAME: String = NativeAppearanceSpec.NAME
103
138
  private const val APPEARANCE_CHANGED_EVENT_NAME = "appearanceChanged"
@@ -26,8 +26,6 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
26
26
  Choreographer.FrameCallback {
27
27
 
28
28
  private var choreographer: Choreographer? = null
29
- private val didJSUpdateUiDuringFrameDetector: DidJSUpdateUiDuringFrameDetector =
30
- DidJSUpdateUiDuringFrameDetector()
31
29
  private var firstFrameTime: Long = -1
32
30
  private var lastFrameTime: Long = -1
33
31
  private var numFrameCallbacks = 0
@@ -40,11 +38,7 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
40
38
  if (firstFrameTime == -1L) {
41
39
  firstFrameTime = l
42
40
  }
43
- val lastFrameStartTime = lastFrameTime
44
41
  lastFrameTime = l
45
- if (didJSUpdateUiDuringFrameDetector.getDidJSHitFrameAndCleanup(lastFrameStartTime, l)) {
46
- numFrameCallbacksWithBatchDispatches++
47
- }
48
42
  numFrameCallbacks++
49
43
  val expectedNumFrames = expectedNumFrames
50
44
  val framesDropped = expectedNumFrames - expectedNumFramesPrev - 1
@@ -61,17 +55,9 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
61
55
  // removeBridgeIdleDebugListener for Bridgeless
62
56
  @Suppress("DEPRECATION")
63
57
  if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
64
- val uiManagerModule =
65
- reactContext.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
66
- if (!reactContext.isBridgeless) {
67
- reactContext.catalystInstance.addBridgeIdleDebugListener(didJSUpdateUiDuringFrameDetector)
68
- isRunningOnFabric = false
69
- } else {
70
- // T172641976 Consider either implementing a mechanism similar to addBridgeIdleDebugListener
71
- // for Fabric or point users to use RNDT.
72
- isRunningOnFabric = true
73
- }
74
- uiManagerModule?.setViewHierarchyUpdateDebugListener(didJSUpdateUiDuringFrameDetector)
58
+ // T172641976 Consider either implementing a mechanism similar to addBridgeIdleDebugListener
59
+ // for Fabric or point users to use RNDT.
60
+ isRunningOnFabric = true
75
61
  }
76
62
  this.targetFps = targetFps
77
63
  UiThreadUtil.runOnUiThread {
@@ -82,16 +68,6 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
82
68
 
83
69
  fun stop() {
84
70
  @Suppress("DEPRECATION")
85
- if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
86
- val uiManagerModule =
87
- reactContext.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
88
- if (!reactContext.isBridgeless) {
89
- reactContext.catalystInstance.removeBridgeIdleDebugListener(
90
- didJSUpdateUiDuringFrameDetector
91
- )
92
- }
93
- uiManagerModule?.setViewHierarchyUpdateDebugListener(null)
94
- }
95
71
  UiThreadUtil.runOnUiThread {
96
72
  choreographer = Choreographer.getInstance()
97
73
  choreographer?.removeFrameCallback(this)
@@ -30,9 +30,14 @@ internal class DevLoadingModule(reactContext: ReactApplicationContext) :
30
30
  }
31
31
  }
32
32
 
33
- override fun showMessage(message: String, color: Double?, backgroundColor: Double?) {
33
+ override fun showMessage(
34
+ message: String,
35
+ color: Double?,
36
+ backgroundColor: Double?,
37
+ dismissButton: Boolean?,
38
+ ) {
34
39
  UiThreadUtil.runOnUiThread {
35
- devLoadingViewManager?.showMessage(message, color, backgroundColor)
40
+ devLoadingViewManager?.showMessage(message, color, backgroundColor, dismissButton)
36
41
  }
37
42
  }
38
43
 
@@ -52,6 +52,29 @@ internal object NetworkEventUtil {
52
52
  }
53
53
  }
54
54
 
55
+ @Deprecated("Compatibility overload")
56
+ @JvmStatic
57
+ fun onCreateRequest(
58
+ devToolsRequestId: String,
59
+ requestUrl: String,
60
+ requestMethod: String,
61
+ requestHeaders: Map<String, String>,
62
+ requestBody: String,
63
+ encodedDataLength: Long,
64
+ ) {
65
+ if (ReactNativeFeatureFlags.enableNetworkEventReporting()) {
66
+ InspectorNetworkReporter.reportRequestStart(
67
+ devToolsRequestId,
68
+ requestUrl,
69
+ requestMethod,
70
+ requestHeaders,
71
+ requestBody,
72
+ encodedDataLength,
73
+ )
74
+ InspectorNetworkReporter.reportConnectionTiming(devToolsRequestId, requestHeaders)
75
+ }
76
+ }
77
+
55
78
  @JvmStatic
56
79
  fun onDataSend(
57
80
  reactContext: ReactApplicationContext?,
@@ -13,8 +13,8 @@ public object ReactNativeVersion {
13
13
  @JvmField
14
14
  public val VERSION: Map<String, Any?> = mapOf(
15
15
  "major" to 0,
16
- "minor" to 83,
17
- "patch" to 1,
18
- "prerelease" to "0"
16
+ "minor" to 84,
17
+ "patch" to 0,
18
+ "prerelease" to "0rc0"
19
19
  )
20
20
  }
@@ -19,15 +19,16 @@ public open class PackagerConnectionSettings(private val appContext: Context) {
19
19
  private val preferences: SharedPreferences =
20
20
  PreferenceManager.getDefaultSharedPreferences(appContext)
21
21
  public val packageName: String = appContext.packageName
22
- private val _additionalOptionsForPackager: MutableMap<String, String> = mutableMapOf()
23
- private var _packagerOptionsUpdater: (Map<String, String>) -> Map<String, String> = { it }
24
- private var cachedHost: String? = null
22
+
23
+ init {
24
+ resetDebugServerHost()
25
+ }
25
26
 
26
27
  public open var debugServerHost: String
27
28
  get() {
28
29
  // Check cached host first. If empty try to detect emulator type and use default
29
30
  // hostname for those
30
- cachedHost?.let {
31
+ _cachedOrOverrideHost?.let {
31
32
  return it
32
33
  }
33
34
 
@@ -44,19 +45,19 @@ public open class PackagerConnectionSettings(private val appContext: Context) {
44
45
  )
45
46
  }
46
47
 
47
- cachedHost = host
48
+ _cachedOrOverrideHost = host
48
49
  return host
49
50
  }
50
51
  set(host) {
51
52
  if (host.isEmpty()) {
52
- cachedHost = null
53
+ _cachedOrOverrideHost = null
53
54
  } else {
54
- cachedHost = host
55
+ _cachedOrOverrideHost = host
55
56
  }
56
57
  }
57
58
 
58
59
  public open fun resetDebugServerHost() {
59
- cachedHost = null
60
+ _cachedOrOverrideHost = null
60
61
  }
61
62
 
62
63
  public fun setPackagerOptionsUpdater(queryMapper: (Map<String, String>) -> Map<String, String>) {
@@ -76,5 +77,11 @@ public open class PackagerConnectionSettings(private val appContext: Context) {
76
77
  private companion object {
77
78
  private val TAG = PackagerConnectionSettings::class.java.simpleName
78
79
  private const val PREFS_DEBUG_SERVER_HOST_KEY = "debug_http_host"
80
+
81
+ // The state for this class needs to be retained in the companion object.
82
+ // That's necessary in the case when there are multiple instances of PackagerConnectionSettings
83
+ private var _cachedOrOverrideHost: String? = null
84
+ private val _additionalOptionsForPackager: MutableMap<String, String> = mutableMapOf()
85
+ private var _packagerOptionsUpdater: (Map<String, String>) -> Map<String, String> = { it }
79
86
  }
80
87
  }
@@ -19,7 +19,6 @@ import com.facebook.react.bridge.NativeArray
19
19
  import com.facebook.react.bridge.NativeArrayInterface
20
20
  import com.facebook.react.bridge.NativeModule
21
21
  import com.facebook.react.bridge.NativeModuleRegistry
22
- import com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener
23
22
  import com.facebook.react.bridge.RuntimeExecutor
24
23
  import com.facebook.react.bridge.RuntimeScheduler
25
24
  import com.facebook.react.bridge.UIManager
@@ -140,14 +139,6 @@ internal class BridgelessCatalystInstance(private val reactHost: ReactHostImpl)
140
139
  override val sourceURL: String
141
140
  get() = throw UnsupportedOperationException("Unimplemented method 'getSourceURL'")
142
141
 
143
- override fun addBridgeIdleDebugListener(listener: NotThreadSafeBridgeIdleDebugListener) {
144
- throw UnsupportedOperationException("Unimplemented method 'addBridgeIdleDebugListener'")
145
- }
146
-
147
- override fun removeBridgeIdleDebugListener(listener: NotThreadSafeBridgeIdleDebugListener) {
148
- throw UnsupportedOperationException("Unimplemented method 'removeBridgeIdleDebugListener'")
149
- }
150
-
151
142
  override fun registerSegment(segmentId: Int, path: String) {
152
143
  throw UnsupportedOperationException("Unimplemented method 'registerSegment'")
153
144
  }
@@ -43,8 +43,11 @@ import com.facebook.react.devsupport.DevMenuConfiguration
43
43
  import com.facebook.react.devsupport.DevSupportManagerBase
44
44
  import com.facebook.react.devsupport.DevSupportManagerFactory
45
45
  import com.facebook.react.devsupport.InspectorFlags
46
+ import com.facebook.react.devsupport.inspector.FrameTimingsObserver
46
47
  import com.facebook.react.devsupport.inspector.InspectorNetworkHelper
47
48
  import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener
49
+ import com.facebook.react.devsupport.inspector.TracingState
50
+ import com.facebook.react.devsupport.inspector.TracingStateListener
48
51
  import com.facebook.react.devsupport.interfaces.BundleLoadCallback
49
52
  import com.facebook.react.devsupport.interfaces.DevSupportManager
50
53
  import com.facebook.react.devsupport.interfaces.DevSupportManager.PausedInDebuggerOverlayCommandListener
@@ -147,6 +150,7 @@ public class ReactHostImpl(
147
150
  private val beforeDestroyListeners: MutableList<() -> Unit> = CopyOnWriteArrayList()
148
151
 
149
152
  internal var reactHostInspectorTarget: ReactHostInspectorTarget? = null
153
+ private var frameTimingsObserver: FrameTimingsObserver? = null
150
154
 
151
155
  @Volatile private var hostInvalidated = false
152
156
 
@@ -1262,10 +1266,6 @@ public class ReactHostImpl(
1262
1266
  val method = "getOrCreateReloadTask()"
1263
1267
  stateTracker.enterState(method)
1264
1268
 
1265
- // Log how React Native is destroyed
1266
- // TODO(T136397487): Remove after Venice is shipped to 100%
1267
- raiseSoftException(method, reason)
1268
-
1269
1269
  reloadTask?.let {
1270
1270
  return it
1271
1271
  }
@@ -1417,10 +1417,6 @@ public class ReactHostImpl(
1417
1417
  val method = "getOrCreateDestroyTask()"
1418
1418
  stateTracker.enterState(method)
1419
1419
 
1420
- // Log how React Native is destroyed
1421
- // TODO(T136397487): Remove after Venice is shipped to 100%
1422
- raiseSoftException(method, reason, ex)
1423
-
1424
1420
  destroyTask?.let {
1425
1421
  return it
1426
1422
  }
@@ -1442,8 +1438,7 @@ public class ReactHostImpl(
1442
1438
  // If the host has been invalidated, now that the current context/instance
1443
1439
  // has been unregistered, we can safely destroy the host's inspector
1444
1440
  // target.
1445
- reactHostInspectorTarget?.close()
1446
- reactHostInspectorTarget = null
1441
+ destroyReactHostInspectorTarget()
1447
1442
  }
1448
1443
 
1449
1444
  // Step 1: Destroy DevSupportManager
@@ -1554,13 +1549,52 @@ public class ReactHostImpl(
1554
1549
 
1555
1550
  internal fun getOrCreateReactHostInspectorTarget(): ReactHostInspectorTarget? {
1556
1551
  if (reactHostInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
1557
- // NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
1558
- reactHostInspectorTarget = ReactHostInspectorTarget(this)
1552
+ reactHostInspectorTarget = createReactHostInspectorTarget()
1559
1553
  }
1560
1554
 
1561
1555
  return reactHostInspectorTarget
1562
1556
  }
1563
1557
 
1558
+ private fun createReactHostInspectorTarget(): ReactHostInspectorTarget {
1559
+ // NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
1560
+ val inspectorTarget = ReactHostInspectorTarget(this)
1561
+ inspectorTarget.registerTracingStateListener(
1562
+ TracingStateListener { state: TracingState, _screenshotsEnabled: Boolean ->
1563
+ when (state) {
1564
+ TracingState.ENABLED_IN_BACKGROUND_MODE,
1565
+ TracingState.ENABLED_IN_CDP_MODE -> {
1566
+ currentActivity?.window?.let { window ->
1567
+ val observer =
1568
+ FrameTimingsObserver(
1569
+ window,
1570
+ _screenshotsEnabled,
1571
+ { frameTimingsSequence ->
1572
+ inspectorTarget.recordFrameTimings(frameTimingsSequence)
1573
+ },
1574
+ )
1575
+ observer.start()
1576
+ frameTimingsObserver = observer
1577
+ }
1578
+ }
1579
+ TracingState.DISABLED -> {
1580
+ frameTimingsObserver?.stop()
1581
+ frameTimingsObserver = null
1582
+ }
1583
+ }
1584
+ }
1585
+ )
1586
+
1587
+ return inspectorTarget
1588
+ }
1589
+
1590
+ private fun destroyReactHostInspectorTarget() {
1591
+ frameTimingsObserver?.stop()
1592
+ frameTimingsObserver = null
1593
+
1594
+ reactHostInspectorTarget?.close()
1595
+ reactHostInspectorTarget = null
1596
+ }
1597
+
1564
1598
  @ThreadConfined(ThreadConfined.UI)
1565
1599
  internal fun unregisterInstanceFromInspector(reactInstance: ReactInstance?) {
1566
1600
  if (reactInstance != null) {
@@ -16,8 +16,8 @@ import com.facebook.react.bridge.ReactContext
16
16
  import com.facebook.react.common.annotations.FrameworkAPI
17
17
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
18
18
  import com.facebook.react.devsupport.ReactInstanceDevHelper
19
- import com.facebook.react.devsupport.interfaces.TracingState
20
- import com.facebook.react.devsupport.interfaces.TracingStateProvider
19
+ import com.facebook.react.devsupport.inspector.TracingState
20
+ import com.facebook.react.devsupport.inspector.TracingStateProvider
21
21
  import com.facebook.react.devsupport.perfmonitor.PerfMonitorDevHelper
22
22
  import com.facebook.react.devsupport.perfmonitor.PerfMonitorInspectorTarget
23
23
  import com.facebook.react.interfaces.TaskInterface
@@ -81,6 +81,6 @@ internal class ReactHostImplDevHelper(private val delegate: ReactHostImpl) :
81
81
  delegate.loadBundle(bundleLoader)
82
82
 
83
83
  override fun getTracingState(): TracingState {
84
- return delegate.reactHostInspectorTarget?.getTracingState() ?: TracingState.ENABLEDINCDPMODE
84
+ return delegate.reactHostInspectorTarget?.getTracingState() ?: TracingState.ENABLED_IN_CDP_MODE
85
85
  }
86
86
  }
@@ -12,7 +12,9 @@ import com.facebook.proguard.annotations.DoNotStripAny
12
12
  import com.facebook.react.bridge.UiThreadUtil
13
13
  import com.facebook.react.common.annotations.FrameworkAPI
14
14
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
15
- import com.facebook.react.devsupport.interfaces.TracingState
15
+ import com.facebook.react.devsupport.inspector.FrameTimingSequence
16
+ import com.facebook.react.devsupport.inspector.TracingState
17
+ import com.facebook.react.devsupport.inspector.TracingStateListener
16
18
  import com.facebook.react.devsupport.perfmonitor.PerfMonitorInspectorTarget
17
19
  import com.facebook.react.devsupport.perfmonitor.PerfMonitorUpdateListener
18
20
  import com.facebook.soloader.SoLoader
@@ -41,37 +43,29 @@ internal class ReactHostInspectorTarget(reactHostImpl: ReactHostImpl) :
41
43
 
42
44
  external fun stopAndDiscardBackgroundTrace()
43
45
 
44
- external fun tracingStateAsInt(): Int
46
+ external override fun getTracingState(): TracingState
45
47
 
46
- override fun getTracingState(): TracingState {
47
- return TracingState.entries[tracingStateAsInt()]
48
- }
48
+ external fun registerTracingStateListener(listener: TracingStateListener): Long
49
+
50
+ external fun unregisterTracingStateListener(subscriptionId: Long)
51
+
52
+ external fun recordFrameTimings(frameTimingSequence: FrameTimingSequence)
49
53
 
50
54
  override fun addPerfMonitorListener(listener: PerfMonitorUpdateListener) {
51
55
  perfMonitorListeners.add(listener)
56
+ registerTracingStateListener { state, _ -> listener.onRecordingStateChanged(state) }
52
57
  }
53
58
 
54
59
  override fun pauseAndAnalyzeBackgroundTrace(): Boolean {
55
- val emitted = stopAndMaybeEmitBackgroundTrace()
56
- perfMonitorListeners.forEach { listener ->
57
- listener.onRecordingStateChanged(TracingState.DISABLED)
58
- }
59
-
60
- return emitted
60
+ return stopAndMaybeEmitBackgroundTrace()
61
61
  }
62
62
 
63
63
  override fun resumeBackgroundTrace() {
64
64
  startBackgroundTrace()
65
- perfMonitorListeners.forEach { listener ->
66
- listener.onRecordingStateChanged(TracingState.ENABLEDINBACKGROUNDMODE)
67
- }
68
65
  }
69
66
 
70
67
  override fun stopBackgroundTrace() {
71
68
  stopAndDiscardBackgroundTrace()
72
- perfMonitorListeners.forEach { listener ->
73
- listener.onRecordingStateChanged(TracingState.DISABLED)
74
- }
75
69
  }
76
70
 
77
71
  fun handleNativePerfIssueAdded(