react-native-tvos 0.83.1-1 → 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 +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 +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 +3 -3
  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 +5 -5
  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 +2 -2
  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
@@ -29,8 +29,9 @@
29
29
  // #define RN_SHADOW_TREE_INTROSPECTION 1
30
30
 
31
31
  // This enables certain object-to-string debug conversions to be compiled.
32
- // Enable if `REACT_NATIVE_DEBUG` is enabled.
33
- #ifdef REACT_NATIVE_DEBUG
32
+ // Enable if either `REACT_NATIVE_DEBUG` or `RN_ENABLE_DEBUG_STRING_CONVERTIBLE`
33
+ // is defined
34
+ #if defined(REACT_NATIVE_DEBUG) || defined(RN_ENABLE_DEBUG_STRING_CONVERTIBLE)
34
35
  #define RN_DEBUG_STRING_CONVERTIBLE 1
35
36
  #else
36
37
  #define RN_DEBUG_STRING_CONVERTIBLE 0
@@ -105,6 +105,8 @@ inline std::string toString(const BlendMode &blendMode)
105
105
  return "color";
106
106
  case BlendMode::Luminosity:
107
107
  return "luminosity";
108
+ default:
109
+ abort();
108
110
  }
109
111
  }
110
112
  } // namespace facebook::react
@@ -79,6 +79,8 @@ inline std::string toString(const FilterType &filterType)
79
79
  return "sepia";
80
80
  case FilterType::DropShadow:
81
81
  return "dropShadow";
82
+ default:
83
+ abort();
82
84
  }
83
85
  }
84
86
 
@@ -37,6 +37,9 @@ class ImageManager {
37
37
  Tag tag = {}) const;
38
38
 
39
39
  private:
40
+ #ifdef ANDROID
41
+ std::shared_ptr<const ContextContainer> contextContainer_{};
42
+ #endif
40
43
  void *self_{};
41
44
  };
42
45
 
@@ -8,10 +8,13 @@
8
8
  #include "ImageFetcher.h"
9
9
 
10
10
  #include <react/common/mapbuffer/JReadableMapBuffer.h>
11
+ #include <react/featureflags/ReactNativeFeatureFlags.h>
11
12
  #include <react/renderer/imagemanager/conversions.h>
12
13
 
13
14
  namespace facebook::react {
14
15
 
16
+ extern const char ImageFetcherKey[] = "ImageFetcher";
17
+
15
18
  ImageFetcher::ImageFetcher(
16
19
  std::shared_ptr<const ContextContainer> contextContainer)
17
20
  : contextContainer_(std::move(contextContainer)) {}
@@ -21,22 +24,32 @@ ImageRequest ImageFetcher::requestImage(
21
24
  SurfaceId surfaceId,
22
25
  const ImageRequestParams& imageRequestParams,
23
26
  Tag tag) {
24
- items_[surfaceId].emplace_back(
25
- ImageRequestItem{
26
- .imageSource = imageSource,
27
- .imageRequestParams = imageRequestParams,
28
- .tag = tag});
27
+ {
28
+ std::lock_guard<std::mutex> lock(mutex_);
29
+ items_[surfaceId].emplace_back(
30
+ ImageRequestItem{
31
+ .imageSource = imageSource,
32
+ .imageRequestParams = imageRequestParams,
33
+ .tag = tag});
34
+ }
29
35
 
30
36
  auto telemetry = std::make_shared<ImageTelemetry>(surfaceId);
31
37
 
32
- flushImageRequests();
38
+ if (!ReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid()) {
39
+ flushImageRequests();
40
+ }
33
41
 
34
- return {imageSource, telemetry};
42
+ return ImageRequest{imageSource, telemetry};
35
43
  }
36
44
 
37
45
  void ImageFetcher::flushImageRequests() {
38
- if (items_.empty()) {
39
- return;
46
+ std::unordered_map<SurfaceId, std::vector<ImageRequestItem>> items;
47
+ {
48
+ std::lock_guard<std::mutex> lock(mutex_);
49
+ if (items_.empty()) {
50
+ return;
51
+ }
52
+ items.swap(items_);
40
53
  }
41
54
 
42
55
  auto fabricUIManager_ =
@@ -47,14 +60,12 @@ void ImageFetcher::flushImageRequests() {
47
60
  SurfaceId, std::string, JReadableMapBuffer::javaobject)>(
48
61
  "experimental_prefetchResources");
49
62
 
50
- for (auto& [surfaceId, surfaceImageRequests] : items_) {
63
+ for (auto& [surfaceId, surfaceImageRequests] : items) {
51
64
  auto readableMapBuffer = JReadableMapBuffer::createWithContents(
52
65
  serializeImageRequests(surfaceImageRequests));
53
66
  prefetchResources(
54
67
  fabricUIManager_, surfaceId, "RCTImageView", readableMapBuffer.get());
55
68
  }
56
-
57
- items_.clear();
58
69
  }
59
70
 
60
71
  } // namespace facebook::react
@@ -11,11 +11,14 @@
11
11
  #include <react/renderer/imagemanager/ImageRequestParams.h>
12
12
  #include <react/utils/ContextContainer.h>
13
13
  #include <memory>
14
+ #include <mutex>
14
15
  #include <unordered_map>
15
16
  #include <vector>
16
17
 
17
18
  namespace facebook::react {
18
19
 
20
+ extern const char ImageFetcherKey[];
21
+
19
22
  class ImageFetcher {
20
23
  public:
21
24
  ImageFetcher(std::shared_ptr<const ContextContainer> contextContainer);
@@ -25,16 +28,18 @@ class ImageFetcher {
25
28
  ImageFetcher(ImageFetcher &&) = delete;
26
29
  ImageFetcher &operator=(ImageFetcher &&) = delete;
27
30
 
31
+ void flushImageRequests();
32
+
33
+ private:
34
+ friend class ImageManager;
28
35
  ImageRequest requestImage(
29
36
  const ImageSource &imageSource,
30
37
  SurfaceId surfaceId,
31
38
  const ImageRequestParams &imageRequestParams,
32
39
  Tag tag);
33
40
 
34
- private:
35
- void flushImageRequests();
36
-
37
41
  std::unordered_map<SurfaceId, std::vector<ImageRequestItem>> items_;
42
+ std::mutex mutex_;
38
43
  std::shared_ptr<const ContextContainer> contextContainer_;
39
44
  };
40
45
  } // namespace facebook::react
@@ -22,10 +22,21 @@ constexpr inline bool isInteger(const std::string& str) {
22
22
 
23
23
  ImageManager::ImageManager(
24
24
  const std::shared_ptr<const ContextContainer>& contextContainer)
25
- : self_(new ImageFetcher(contextContainer)) {}
25
+ : contextContainer_(contextContainer),
26
+ self_(new std::shared_ptr<ImageFetcher>(
27
+ std::make_shared<ImageFetcher>(contextContainer))) {
28
+ if (ReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid()) {
29
+ std::weak_ptr<ImageFetcher> weakImageFetcher =
30
+ *static_cast<std::shared_ptr<ImageFetcher>*>(self_);
31
+ contextContainer->insert(ImageFetcherKey, weakImageFetcher);
32
+ }
33
+ }
26
34
 
27
35
  ImageManager::~ImageManager() {
28
- delete static_cast<ImageFetcher*>(self_);
36
+ if (ReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid()) {
37
+ contextContainer_->erase(ImageFetcherKey);
38
+ }
39
+ delete static_cast<std::shared_ptr<ImageFetcher>*>(self_);
29
40
  }
30
41
 
31
42
  ImageRequest ImageManager::requestImage(
@@ -35,8 +46,9 @@ ImageRequest ImageManager::requestImage(
35
46
  Tag tag) const {
36
47
  if (ReactNativeFeatureFlags::enableImagePrefetchingAndroid()) {
37
48
  if (!isInteger(imageSource.uri)) {
38
- return static_cast<ImageFetcher*>(self_)->requestImage(
39
- imageSource, surfaceId, imageRequestParams, tag);
49
+ return static_cast<std::shared_ptr<ImageFetcher>*>(self_)
50
+ ->get()
51
+ ->requestImage(imageSource, surfaceId, imageRequestParams, tag);
40
52
  }
41
53
  }
42
54
  return {imageSource, nullptr, {}};
@@ -30,7 +30,8 @@ class ImageRequestParams {
30
30
  Float fadeDuration,
31
31
  bool progressiveRenderingEnabled,
32
32
  ImageSource loadingIndicatorSource,
33
- std::string analyticTag)
33
+ std::string analyticTag,
34
+ Size size)
34
35
  : blurRadius(blurRadius),
35
36
  defaultSource(std::move(defaultSource)),
36
37
  resizeMode(resizeMode),
@@ -42,7 +43,8 @@ class ImageRequestParams {
42
43
  fadeDuration(fadeDuration),
43
44
  progressiveRenderingEnabled(progressiveRenderingEnabled),
44
45
  loadingIndicatorSource(std::move(loadingIndicatorSource)),
45
- analyticTag(std::move(analyticTag))
46
+ analyticTag(std::move(analyticTag)),
47
+ size(size)
46
48
  {
47
49
  }
48
50
 
@@ -58,6 +60,7 @@ class ImageRequestParams {
58
60
  bool progressiveRenderingEnabled{};
59
61
  ImageSource loadingIndicatorSource{};
60
62
  std::string analyticTag{};
63
+ Size size{};
61
64
 
62
65
  bool operator==(const ImageRequestParams &rhs) const
63
66
  {
@@ -73,7 +76,8 @@ class ImageRequestParams {
73
76
  this->fadeDuration,
74
77
  this->progressiveRenderingEnabled,
75
78
  this->loadingIndicatorSource,
76
- this->analyticTag) ==
79
+ this->analyticTag,
80
+ this->size) ==
77
81
  std::tie(
78
82
  rhs.blurRadius,
79
83
  rhs.defaultSource,
@@ -86,7 +90,8 @@ class ImageRequestParams {
86
90
  rhs.fadeDuration,
87
91
  rhs.progressiveRenderingEnabled,
88
92
  rhs.loadingIndicatorSource,
89
- rhs.analyticTag);
93
+ rhs.analyticTag,
94
+ rhs.size);
90
95
  }
91
96
 
92
97
  bool operator!=(const ImageRequestParams &rhs) const
@@ -24,8 +24,8 @@ constexpr MapBuffer::Key IS_KEY_DEFAULT_SRC = 1;
24
24
  constexpr MapBuffer::Key IS_KEY_RESIZE_MODE = 2;
25
25
  constexpr MapBuffer::Key IS_KEY_RESIZE_METHOD = 3;
26
26
  constexpr MapBuffer::Key IS_KEY_BLUR_RADIUS = 4;
27
- constexpr MapBuffer::Key IS_KEY_VIEW_WIDTH = 5;
28
- constexpr MapBuffer::Key IS_KEY_VIEW_HEIGHT = 6;
27
+ constexpr MapBuffer::Key IS_KEY_IMAGE_WIDTH = 5;
28
+ constexpr MapBuffer::Key IS_KEY_IMAGE_HEIGHT = 6;
29
29
  constexpr MapBuffer::Key IS_KEY_RESIZE_MULTIPLIER = 7;
30
30
  constexpr MapBuffer::Key IS_KEY_SHOULD_NOTIFY_LOAD_EVENTS = 8;
31
31
  constexpr MapBuffer::Key IS_KEY_OVERLAY_COLOR = 9;
@@ -35,16 +35,20 @@ constexpr MapBuffer::Key IS_KEY_PROGRESSIVE_RENDERING_ENABLED = 12;
35
35
  constexpr MapBuffer::Key IS_KEY_LOADING_INDICATOR_SRC = 13;
36
36
  constexpr MapBuffer::Key IS_KEY_ANALYTIC_TAG = 14;
37
37
  constexpr MapBuffer::Key IS_KEY_TAG = 15;
38
+ constexpr MapBuffer::Key IS_KEY_VIEW_WIDTH = 16;
39
+ constexpr MapBuffer::Key IS_KEY_VIEW_HEIGHT = 17;
38
40
 
39
41
  inline void serializeImageSource(MapBufferBuilder &builder, const ImageSource &imageSource)
40
42
  {
41
43
  builder.putString(IS_KEY_URI, imageSource.uri);
42
- builder.putInt(IS_KEY_VIEW_WIDTH, static_cast<int32_t>(imageSource.size.width));
43
- builder.putInt(IS_KEY_VIEW_HEIGHT, static_cast<int32_t>(imageSource.size.height));
44
+ builder.putInt(IS_KEY_IMAGE_WIDTH, static_cast<int32_t>(imageSource.size.width));
45
+ builder.putInt(IS_KEY_IMAGE_HEIGHT, static_cast<int32_t>(imageSource.size.height));
44
46
  }
45
47
 
46
48
  inline void serializeImageRequestParams(MapBufferBuilder &builder, const ImageRequestParams &imageRequestParams)
47
49
  {
50
+ builder.putInt(IS_KEY_VIEW_WIDTH, static_cast<int32_t>(imageRequestParams.size.width));
51
+ builder.putInt(IS_KEY_VIEW_HEIGHT, static_cast<int32_t>(imageRequestParams.size.height));
48
52
  builder.putString(IS_KEY_DEFAULT_SRC, imageRequestParams.defaultSource.uri);
49
53
  builder.putInt(IS_KEY_RESIZE_MODE, to_underlying(imageRequestParams.resizeMode));
50
54
  builder.putString(IS_KEY_RESIZE_METHOD, imageRequestParams.resizeMethod);
@@ -90,7 +90,7 @@ using namespace facebook::react;
90
90
  partialLoadBlock:nil
91
91
  completionBlock:completionBlock];
92
92
 
93
- auto result = dispatch_group_wait(imageWaitGroup, dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC));
93
+ auto result = dispatch_group_wait(imageWaitGroup, dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC));
94
94
  if (result != 0) {
95
95
  RCTLogError(@"Image timed out in test environment for url: %@", loaderRequest.imageURL);
96
96
  }
@@ -10,6 +10,7 @@
10
10
  #include <string>
11
11
  #include <vector>
12
12
 
13
+ #include <react/debug/react_native_assert.h>
13
14
  #include <react/renderer/core/graphicsConversions.h>
14
15
  #include <react/renderer/core/propsConversions.h>
15
16
  #include <react/renderer/debug/debugStringConvertibleUtils.h>
@@ -48,15 +49,16 @@ class ImageSource {
48
49
  {
49
50
  folly::dynamic imageSourceResult = folly::dynamic::object();
50
51
  switch (type) {
51
- case ImageSource::Type::Invalid:
52
- imageSourceResult["type"] = "invalid";
53
- break;
54
52
  case ImageSource::Type::Remote:
55
53
  imageSourceResult["type"] = "remote";
56
54
  break;
57
55
  case ImageSource::Type::Local:
58
56
  imageSourceResult["type"] = "local";
59
57
  break;
58
+ case ImageSource::Type::Invalid:
59
+ default:
60
+ imageSourceResult["type"] = "invalid";
61
+ break;
60
62
  }
61
63
 
62
64
  imageSourceResult["uri"] = uri;
@@ -72,9 +74,6 @@ class ImageSource {
72
74
  imageSourceResult["method"] = method;
73
75
 
74
76
  switch (cache) {
75
- case ImageSource::CacheStategy::Default:
76
- imageSourceResult["cache"] = "default";
77
- break;
78
77
  case ImageSource::CacheStategy::Reload:
79
78
  imageSourceResult["cache"] = "reload";
80
79
  break;
@@ -84,6 +83,10 @@ class ImageSource {
84
83
  case ImageSource::CacheStategy::OnlyIfCached:
85
84
  imageSourceResult["cache"] = "only-if-cached";
86
85
  break;
86
+ case ImageSource::CacheStategy::Default:
87
+ default:
88
+ imageSourceResult["cache"] = "default";
89
+ break;
87
90
  }
88
91
 
89
92
  folly::dynamic headersObject = folly::dynamic::object();
@@ -128,6 +131,9 @@ class ImageSource {
128
131
  return "remote";
129
132
  case ImageSource::Type::Local:
130
133
  return "local";
134
+ default:
135
+ react_native_assert(false && "Invalid ImageSource::Type");
136
+ return "";
131
137
  }
132
138
  }
133
139
 
@@ -142,6 +148,9 @@ class ImageSource {
142
148
  return "force-cache";
143
149
  case ImageSource::CacheStategy::OnlyIfCached:
144
150
  return "only-if-cached";
151
+ default:
152
+ react_native_assert(false && "Invalid ImageSource::CacheStategy");
153
+ return "";
145
154
  }
146
155
  }
147
156
  #endif
@@ -68,17 +68,6 @@ bool MountingCoordinator::waitForTransaction(
68
68
  lock, timeout, [this]() { return lastRevision_.has_value(); });
69
69
  }
70
70
 
71
- void MountingCoordinator::updateBaseRevision(
72
- const ShadowTreeRevision& baseRevision) const {
73
- std::scoped_lock lock(mutex_);
74
- baseRevision_ = baseRevision;
75
- }
76
-
77
- void MountingCoordinator::resetLatestRevision() const {
78
- std::scoped_lock lock(mutex_);
79
- lastRevision_.reset();
80
- }
81
-
82
71
  std::optional<MountingTransaction> MountingCoordinator::pullTransaction(
83
72
  bool willPerformAsynchronously) const {
84
73
  TraceSection section("MountingCoordinator::pullTransaction");
@@ -101,9 +101,6 @@ class MountingCoordinator final {
101
101
  * `MountingOverrideDelegate` only.
102
102
  */
103
103
  public:
104
- void updateBaseRevision(const ShadowTreeRevision &baseRevision) const;
105
- void resetLatestRevision() const;
106
-
107
104
  void setMountingOverrideDelegate(std::weak_ptr<const MountingOverrideDelegate> delegate) const;
108
105
 
109
106
  /*
@@ -123,7 +120,6 @@ class MountingCoordinator final {
123
120
  */
124
121
  void revoke() const;
125
122
 
126
- private:
127
123
  const SurfaceId surfaceId_;
128
124
 
129
125
  // Protects access to `baseRevision_`, `lastRevision_` and
@@ -23,26 +23,6 @@ SurfaceHandler::SurfaceHandler(
23
23
  parameters_.surfaceId = surfaceId;
24
24
  }
25
25
 
26
- SurfaceHandler::SurfaceHandler(SurfaceHandler&& other) noexcept {
27
- operator=(std::move(other));
28
- }
29
-
30
- SurfaceHandler& SurfaceHandler::operator=(SurfaceHandler&& other) noexcept {
31
- std::unique_lock lock1(linkMutex_, std::defer_lock);
32
- std::unique_lock lock2(parametersMutex_, std::defer_lock);
33
- std::unique_lock lock3(other.linkMutex_, std::defer_lock);
34
- std::unique_lock lock4(other.parametersMutex_, std::defer_lock);
35
- std::lock(lock1, lock2, lock3, lock4);
36
-
37
- link_ = other.link_;
38
- parameters_ = other.parameters_;
39
-
40
- other.link_ = Link{};
41
- other.parameters_ = Parameters{};
42
- other.parameters_.contextContainer = parameters_.contextContainer;
43
- return *this;
44
- }
45
-
46
26
  #pragma mark - Surface Life-Cycle Management
47
27
 
48
28
  void SurfaceHandler::setContextContainer(
@@ -67,11 +67,11 @@ class SurfaceHandler {
67
67
  virtual ~SurfaceHandler() noexcept;
68
68
 
69
69
  /*
70
- * Movable-only.
70
+ * Not moveable or copyable
71
71
  */
72
- SurfaceHandler(SurfaceHandler &&other) noexcept;
72
+ SurfaceHandler(SurfaceHandler &&other) noexcept = delete;
73
73
  SurfaceHandler(const SurfaceHandler &SurfaceHandler) noexcept = delete;
74
- SurfaceHandler &operator=(SurfaceHandler &&other) noexcept;
74
+ SurfaceHandler &operator=(SurfaceHandler &&other) noexcept = delete;
75
75
  SurfaceHandler &operator=(const SurfaceHandler &other) noexcept = delete;
76
76
 
77
77
  #pragma mark - Surface Life-Cycle Management
@@ -29,9 +29,8 @@ void SurfaceManager::startSurface(
29
29
  const LayoutContext& layoutContext) noexcept {
30
30
  {
31
31
  std::unique_lock lock(mutex_);
32
- auto surfaceHandler = SurfaceHandler{moduleName, surfaceId};
33
- surfaceHandler.setContextContainer(scheduler_.getContextContainer());
34
- registry_.emplace(surfaceId, std::move(surfaceHandler));
32
+ auto [it, _] = registry_.try_emplace(surfaceId, moduleName, surfaceId);
33
+ it->second.setContextContainer(scheduler_.getContextContainer());
35
34
  }
36
35
 
37
36
  visit(surfaceId, [&](const SurfaceHandler& surfaceHandler) {
@@ -205,6 +205,12 @@ void UIManager::completeSurface(
205
205
  // after we commit a specific one.
206
206
  lazyShadowTreeRevisionConsistencyManager_->updateCurrentRevision(
207
207
  surfaceId, shadowTree.getCurrentRevision().rootShadowNode);
208
+
209
+ if (ReactNativeFeatureFlags::useSharedAnimatedBackend()) {
210
+ if (auto animationBackend = animationBackend_.lock()) {
211
+ animationBackend->clearRegistry(surfaceId);
212
+ }
213
+ }
208
214
  }
209
215
  });
210
216
  }
@@ -19,6 +19,7 @@ class UIManagerAnimationBackend {
19
19
  virtual void onAnimationFrame(double timestamp) = 0;
20
20
  // TODO: T240293839 Move over start() function and mutation types
21
21
  virtual void stop(bool isAsync) = 0;
22
+ virtual void clearRegistry(SurfaceId surfaceId) = 0;
22
23
  };
23
24
 
24
25
  } // namespace facebook::react
@@ -18,10 +18,6 @@ add_library(bridgeless
18
18
  target_compile_reactnative_options(bridgeless PRIVATE)
19
19
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
20
20
  target_compile_options(bridgeless PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
21
-
22
- if (HERMES_V1_ENABLED)
23
- target_compile_options(bridgeless PRIVATE -DHERMES_V1_ENABLED=1)
24
- endif()
25
21
  endif ()
26
22
  target_include_directories(bridgeless PUBLIC .)
27
23
 
@@ -25,6 +25,8 @@ class PlatformTimerRegistry {
25
25
  virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0;
26
26
 
27
27
  virtual ~PlatformTimerRegistry() noexcept = default;
28
+
29
+ virtual void quit() {}
28
30
  };
29
31
 
30
32
  using TimerManagerDelegate = PlatformTimerRegistry;
@@ -15,13 +15,13 @@
15
15
  #include <cxxreact/TraceSection.h>
16
16
  #include <glog/logging.h>
17
17
  #include <jsi/JSIDynamic.h>
18
- #include <jsi/hermes.h>
18
+ #include <jsi/hermes-interfaces.h>
19
19
  #include <jsi/instrumentation.h>
20
20
  #include <jsinspector-modern/HostTarget.h>
21
- #include <jsireact/JSIExecutor.h>
22
21
  #include <react/featureflags/ReactNativeFeatureFlags.h>
23
22
  #include <react/renderer/core/ShadowNode.h>
24
23
  #include <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
24
+ #include <react/runtime/JSRuntimeBindings.h>
25
25
  #include <react/timing/primitives.h>
26
26
  #include <react/utils/jsi-utils.h>
27
27
  #include <iostream>
@@ -48,6 +48,12 @@ std::shared_ptr<RuntimeScheduler> createRuntimeScheduler(
48
48
  return scheduler;
49
49
  }
50
50
 
51
+ std::string getSyntheticBundlePath(uint32_t bundleId) {
52
+ std::array<char, 32> buffer{};
53
+ std::snprintf(buffer.data(), buffer.size(), "seg-%u.js", bundleId);
54
+ return buffer.data();
55
+ }
56
+
51
57
  } // namespace
52
58
 
53
59
  ReactInstance::ReactInstance(
@@ -89,7 +95,7 @@ ReactInstance::ReactInstance(
89
95
  jsErrorHandler->handleError(jsiRuntime, originalError, true);
90
96
  } catch (std::exception& ex) {
91
97
  jsi::JSError error(
92
- jsiRuntime, std::string("Non-js exception: ") + ex.what());
98
+ jsiRuntime, std::string("Non-JS exception: ") + ex.what());
93
99
  jsErrorHandler->handleError(jsiRuntime, error, true);
94
100
  }
95
101
  });
@@ -156,6 +162,11 @@ ReactInstance::ReactInstance(
156
162
  runtimeScheduler->scheduleWork(std::move(callback));
157
163
  });
158
164
  }
165
+ ReactInstance::~ReactInstance() noexcept {
166
+ if (timerManager_ != nullptr) {
167
+ timerManager_->quit();
168
+ }
169
+ }
159
170
 
160
171
  void ReactInstance::unregisterFromInspector() {
161
172
  if (inspectorTarget_ != nullptr) {
@@ -178,8 +189,8 @@ RuntimeExecutor ReactInstance::getUnbufferedRuntimeExecutor() noexcept {
178
189
 
179
190
  // This BufferedRuntimeExecutor ensures that the main JS bundle finished
180
191
  // execution before any JS queued into it from C++ are executed. Use
181
- // getUnbufferedRuntimeExecutor() instead if you do not need the main JS bundle
182
- // to have finished. e.g. setting global variables into JS runtime.
192
+ // getUnbufferedRuntimeExecutor() instead if you do not need the main JS
193
+ // bundle to have finished. e.g. setting global variables into JS runtime.
183
194
  RuntimeExecutor ReactInstance::getBufferedRuntimeExecutor() noexcept {
184
195
  return [weakBufferedRuntimeExecutor_ =
185
196
  std::weak_ptr<BufferedRuntimeExecutor>(bufferedRuntimeExecutor_)](
@@ -213,15 +224,15 @@ std::string simpleBasename(const std::string& path) {
213
224
  * Load the JS bundle and flush buffered JS calls, future JS calls won't be
214
225
  * buffered after calling this.
215
226
  * Note that this method is asynchronous. However, a completion callback
216
- * isn't needed because all calls into JS should be dispatched to the JSThread,
217
- * preferably via the runtimeExecutor_.
227
+ * isn't needed because all calls into JS should be dispatched to the
228
+ * JSThread, preferably via the runtimeExecutor_.
218
229
  */
219
230
  void ReactInstance::loadScript(
220
231
  std::unique_ptr<const JSBigString> script,
221
232
  const std::string& sourceURL,
222
233
  std::function<void(jsi::Runtime& runtime)>&& beforeLoad,
223
234
  std::function<void(jsi::Runtime& runtime)>&& afterLoad) {
224
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
235
+ std::shared_ptr<const jsi::Buffer> buffer(std::move(script));
225
236
  std::string scriptName = simpleBasename(sourceURL);
226
237
 
227
238
  runtimeScheduler_->scheduleWork([this,
@@ -232,7 +243,7 @@ void ReactInstance::loadScript(
232
243
  std::weak_ptr<BufferedRuntimeExecutor>(
233
244
  bufferedRuntimeExecutor_),
234
245
  beforeLoad,
235
- afterLoad](jsi::Runtime& runtime) {
246
+ afterLoad](jsi::Runtime& runtime) mutable {
236
247
  if (beforeLoad) {
237
248
  beforeLoad(runtime);
238
249
  }
@@ -357,7 +368,6 @@ void ReactInstance::registerSegment(
357
368
  throw std::invalid_argument(
358
369
  "Empty segment registered with ID " + tag + " from " + segmentPath);
359
370
  }
360
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
361
371
 
362
372
  bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl != nullptr);
363
373
  if (hasLogger) {
@@ -366,11 +376,8 @@ void ReactInstance::registerSegment(
366
376
  }
367
377
  LOG(WARNING) << "Starting to evaluate segment " << segmentId
368
378
  << " in ReactInstance::registerSegment";
369
- #pragma clang diagnostic push
370
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
371
379
  runtime.evaluateJavaScript(
372
- buffer, JSExecutor::getSyntheticBundlePath(segmentId, segmentPath));
373
- #pragma clang diagnostic pop
380
+ std::move(script), getSyntheticBundlePath(segmentId));
374
381
  LOG(WARNING) << "Finished evaluating segment " << segmentId
375
382
  << " in ReactInstance::registerSegment";
376
383
  if (hasLogger) {
@@ -13,7 +13,6 @@
13
13
  #include <jserrorhandler/JsErrorHandler.h>
14
14
  #include <jsi/jsi.h>
15
15
  #include <jsinspector-modern/ReactCdp.h>
16
- #include <jsireact/JSIExecutor.h>
17
16
  #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
18
17
  #include <react/runtime/BufferedRuntimeExecutor.h>
19
18
  #include <react/runtime/JSRuntimeFactory.h>
@@ -31,6 +30,11 @@ class ReactInstance final : private jsinspector_modern::InstanceTargetDelegate {
31
30
  std::shared_ptr<TimerManager> timerManager,
32
31
  JsErrorHandler::OnJsError onJsError,
33
32
  jsinspector_modern::HostTarget *parentInspectorTarget = nullptr);
33
+ ReactInstance(const ReactInstance &) = delete;
34
+ ReactInstance(ReactInstance &&) = delete;
35
+ ReactInstance &operator=(const ReactInstance &) = delete;
36
+ ReactInstance &operator=(ReactInstance &&) = delete;
37
+ ~ReactInstance() noexcept override;
34
38
 
35
39
  RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept;
36
40