react-native-tvos 0.83.2-0 → 0.84.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/Libraries/Animated/AnimatedEvent.js +2 -2
  2. package/Libraries/Animated/animations/Animation.js +1 -3
  3. package/Libraries/Animated/createAnimatedComponent.js +8 -5
  4. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  5. package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
  6. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  7. package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
  8. package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
  9. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
  10. package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
  11. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  12. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  13. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -31
  14. package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
  15. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
  16. package/Libraries/BatchedBridge/MessageQueue.js +24 -22
  17. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  18. package/Libraries/Blob/URL.js +34 -3
  19. package/Libraries/Blob/URLSearchParams.js +1 -0
  20. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
  21. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
  22. package/Libraries/Components/Button.js +2 -5
  23. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  24. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
  25. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  26. package/Libraries/Components/Pressable/Pressable.js +8 -8
  27. package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
  28. package/Libraries/Components/TextInput/TextInput.js +33 -34
  29. package/Libraries/Components/Touchable/PooledClass.js +2 -2
  30. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  31. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  32. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  33. package/Libraries/Components/View/ViewPropTypes.js +16 -6
  34. package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
  35. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  36. package/Libraries/Core/ExceptionsManager.js +3 -3
  37. package/Libraries/Core/RawEventEmitter.js +1 -1
  38. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  39. package/Libraries/Core/ReactNativeVersion.js +2 -2
  40. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  41. package/Libraries/Core/setUpErrorHandling.js +1 -1
  42. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
  43. package/Libraries/Image/Image.android.js +2 -2
  44. package/Libraries/Image/Image.ios.js +2 -2
  45. package/Libraries/Image/ImageProps.js +1 -1
  46. package/Libraries/Image/ImageTypes.flow.js +2 -2
  47. package/Libraries/Image/RCTImagePlugins.h +1 -0
  48. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  49. package/Libraries/Interaction/InteractionManager.js +3 -3
  50. package/Libraries/Interaction/PanResponder.js +1 -1
  51. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  52. package/Libraries/Linking/Linking.js +1 -1
  53. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  54. package/Libraries/Lists/FlatList.js +2 -2
  55. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  56. package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
  57. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  58. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
  59. package/Libraries/LogBox/LogBox.js +7 -7
  60. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  61. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
  62. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  63. package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
  64. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  65. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  66. package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
  67. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  68. package/Libraries/Network/RCTNetworking.android.js +3 -3
  69. package/Libraries/Network/RCTNetworking.ios.js +2 -2
  70. package/Libraries/Network/RCTNetworking.js.flow +2 -2
  71. package/Libraries/Pressability/Pressability.js +9 -9
  72. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  73. package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
  74. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  75. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  76. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  77. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  78. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  79. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  80. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  81. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  82. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  83. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  84. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  85. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  86. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
  87. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
  88. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
  89. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  90. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  91. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  92. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  93. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  94. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  95. package/Libraries/Settings/RCTSettingsManager.mm +1 -1
  96. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  97. package/Libraries/Settings/Settings.ios.js +1 -1
  98. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  99. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  100. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  101. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  102. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
  103. package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
  104. package/Libraries/StyleSheet/processFilter.js +1 -1
  105. package/Libraries/Text/Text.js +46 -6
  106. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -2
  107. package/Libraries/Text/TextNativeComponent.js +1 -1
  108. package/Libraries/Text/TextProps.js +7 -7
  109. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
  110. package/Libraries/Types/CodegenTypes.js +1 -1
  111. package/Libraries/Types/CoreEventTypes.js +31 -0
  112. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  113. package/Libraries/Utilities/Appearance.js +2 -2
  114. package/Libraries/Utilities/DevLoadingView.js +8 -1
  115. package/Libraries/Utilities/DevSettings.js +3 -3
  116. package/Libraries/Utilities/HMRClient.js +4 -3
  117. package/Libraries/Utilities/RCTLog.js +3 -3
  118. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  119. package/Libraries/Utilities/SceneTracker.js +1 -1
  120. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  121. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  122. package/Libraries/Utilities/logError.js +1 -1
  123. package/Libraries/Utilities/stringifySafe.js +7 -7
  124. package/Libraries/Utilities/useRefEffect.js +1 -1
  125. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  126. package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
  127. package/Libraries/promiseRejectionTrackingOptions.js +8 -8
  128. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  129. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  130. package/README.md +56 -18
  131. package/React/Base/RCTAssert.m +2 -2
  132. package/React/Base/RCTBridge.h +0 -4
  133. package/React/Base/RCTBridge.mm +1 -12
  134. package/React/Base/RCTBundleManager.h +59 -7
  135. package/React/Base/RCTBundleManager.m +112 -1
  136. package/React/Base/RCTBundleURLProvider.h +24 -0
  137. package/React/Base/RCTBundleURLProvider.mm +49 -4
  138. package/React/Base/RCTConvert.mm +2 -0
  139. package/React/Base/RCTModuleData.mm +2 -2
  140. package/React/Base/RCTUtils.h +4 -0
  141. package/React/Base/RCTUtils.mm +60 -3
  142. package/React/Base/RCTVersion.m +2 -2
  143. package/React/CoreModules/CoreModulesPlugins.mm +97 -35
  144. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
  145. package/React/CoreModules/RCTAccessibilityManager.mm +18 -1
  146. package/React/CoreModules/RCTAppState.mm +1 -1
  147. package/React/CoreModules/RCTDevLoadingView.mm +116 -36
  148. package/React/CoreModules/RCTDevSettings.h +36 -1
  149. package/React/CoreModules/RCTDevSettings.mm +44 -8
  150. package/React/CoreModules/RCTExceptionsManager.mm +5 -2
  151. package/React/CoreModules/RCTPlatform.mm +3 -2
  152. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  153. package/React/CxxBridge/RCTCxxBridge.mm +1 -2
  154. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  155. package/React/CxxModule/RCTCxxUtils.mm +2 -12
  156. package/React/DevSupport/RCTDevLoadingViewProtocol.h +4 -1
  157. package/React/DevSupport/RCTPackagerConnection.h +4 -2
  158. package/React/DevSupport/RCTPackagerConnection.mm +30 -33
  159. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +9 -2
  160. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +62 -17
  161. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +529 -494
  162. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +1 -0
  163. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +14 -0
  164. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +11 -0
  165. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -0
  166. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
  167. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +39 -2
  168. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +5 -7
  169. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +5 -7
  170. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  171. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  172. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +6 -2
  173. package/React/Modules/RCTEventEmitter.m +1 -0
  174. package/React/Views/RCTModalHostView.h +2 -0
  175. package/React/Views/RCTTVView.m +2 -0
  176. package/ReactAndroid/api/ReactAndroid.api +14 -73
  177. package/ReactAndroid/build.gradle.kts +2 -0
  178. package/ReactAndroid/gradle.properties +1 -1
  179. package/ReactAndroid/hermes-engine/build.gradle.kts +97 -29
  180. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
  181. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
  182. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -13
  183. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -119
  184. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +0 -10
  185. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
  186. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
  187. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +43 -2
  188. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  189. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
  190. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +6 -96
  191. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +17 -2
  192. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -33
  194. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
  195. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
  196. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
  197. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
  198. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
  199. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  200. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +58 -13
  201. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
  202. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
  203. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +1 -4
  204. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +17 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +144 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +6 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +7 -6
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
  217. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +63 -45
  220. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -76
  221. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +22 -16
  222. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +23 -17
  223. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +117 -84
  224. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
  225. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  226. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +22 -16
  227. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
  228. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
  229. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +36 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
  231. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
  232. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +1 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +15 -8
  236. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
  237. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
  238. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
  239. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
  240. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
  242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
  243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
  245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  246. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
  247. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
  248. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
  251. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
  252. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
  253. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
  262. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
  263. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
  266. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
  268. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
  269. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
  272. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  273. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
  274. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
  275. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
  276. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
  277. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
  278. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
  279. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
  280. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
  281. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  282. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  283. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  284. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  285. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  286. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  287. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
  288. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
  289. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
  290. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
  291. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
  292. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  293. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
  294. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
  295. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
  296. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  297. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  298. package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
  299. package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
  300. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
  301. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
  302. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
  303. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
  304. package/ReactCommon/cmake-utils/react-native-flags.cmake +3 -0
  305. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  306. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  307. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  308. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  309. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
  310. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  311. package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
  312. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -0
  313. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
  314. package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
  315. package/ReactCommon/jsi/jsi/jsi.h +73 -0
  316. package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
  317. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  318. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
  319. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
  320. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
  321. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  322. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  323. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  324. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  325. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  326. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  327. package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
  328. package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
  329. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
  330. package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
  331. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
  332. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  333. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  334. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  335. package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
  336. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  337. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  338. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  339. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  340. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  341. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  342. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  343. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
  344. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
  345. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  346. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  347. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
  348. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
  349. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  350. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
  351. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  352. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
  353. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
  354. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
  355. package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
  356. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
  357. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
  358. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  359. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  361. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
  362. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
  363. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  364. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
  365. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
  366. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  367. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
  368. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  369. package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
  371. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
  372. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
  373. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
  374. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
  375. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
  376. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  377. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
  378. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
  379. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
  380. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
  381. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
  382. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
  383. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
  384. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
  385. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
  386. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
  387. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
  388. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
  389. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  390. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
  391. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
  392. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
  393. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
  394. package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
  395. package/ReactCommon/react/networking/React-networking.podspec +0 -1
  396. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  397. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  398. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
  399. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  400. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
  401. package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
  402. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
  403. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
  404. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
  405. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
  406. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
  407. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
  408. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
  409. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
  410. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
  411. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
  412. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
  413. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
  414. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
  415. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
  416. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
  417. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +715 -0
  418. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
  419. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
  420. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
  421. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +298 -0
  422. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
  423. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +90 -94
  424. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
  425. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
  426. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
  427. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
  428. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
  429. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
  430. package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
  431. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
  432. package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
  433. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
  434. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
  435. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
  436. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
  437. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
  438. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
  439. package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
  440. package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
  441. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  442. package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
  443. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  444. package/ReactCommon/react/renderer/core/Props.cpp +23 -8
  445. package/ReactCommon/react/renderer/core/Props.h +6 -4
  446. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
  447. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
  448. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  449. package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
  450. package/ReactCommon/react/renderer/debug/flags.h +3 -2
  451. package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
  452. package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
  453. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
  454. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
  455. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
  456. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
  457. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
  458. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  460. package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
  461. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
  462. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  463. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  464. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  465. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  466. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
  467. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  468. package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
  469. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
  470. package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
  471. package/ReactCommon/react/runtime/ReactInstance.h +5 -1
  472. package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
  473. package/ReactCommon/react/runtime/TimerManager.h +7 -12
  474. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
  475. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  476. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  477. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
  478. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
  479. package/ReactCommon/yoga/yoga/style/Style.h +8 -8
  480. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  481. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  482. package/flow/HermesInternalType.js +6 -6
  483. package/flow/bom.js.flow +35 -28
  484. package/flow/cssom.js.flow +3 -3
  485. package/flow/dom.js.flow +34 -33
  486. package/index.js +3 -0
  487. package/index.js.flow +8 -0
  488. package/jest/mock.js +2 -2
  489. package/jest/mockComponent.js +1 -1
  490. package/jest/setup.js +1 -1
  491. package/package.json +11 -11
  492. package/react-native.config.js +0 -17
  493. package/scripts/cocoapods/new_architecture.rb +7 -1
  494. package/scripts/cocoapods/spm.rb +28 -10
  495. package/scripts/cocoapods/utils.rb +4 -4
  496. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +5 -5
  497. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
  498. package/scripts/ios-configure-glog.sh +24 -1
  499. package/scripts/react_native_pods.rb +13 -0
  500. package/sdks/.hermesv1version +1 -1
  501. package/sdks/.hermesversion +1 -1
  502. package/sdks/hermes-engine/hermes-engine.podspec +53 -36
  503. package/sdks/hermes-engine/hermes-utils.rb +8 -15
  504. package/sdks/hermes-engine/version.properties +1 -1
  505. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  506. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  507. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  508. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  509. package/src/private/components/virtualview/VirtualView.js +16 -9
  510. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  511. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  512. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  513. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  514. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  515. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  516. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  517. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  518. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  519. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  520. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  521. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  522. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  523. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  524. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  525. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  526. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  527. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  528. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
  529. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  530. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
  531. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  532. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  533. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  534. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  535. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  536. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  537. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  538. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  539. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  540. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  541. package/src/private/webapis/performance/Performance.js +1 -1
  542. package/src/private/webapis/performance/UserTiming.js +1 -1
  543. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  544. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  545. package/src/types/globals.d.ts +30 -1
  546. package/third-party-podspecs/RCT-Folly.podspec +1 -0
  547. package/third-party-podspecs/glog.podspec +1 -0
  548. package/React/CxxModule/RCTCxxModule.h +0 -29
  549. package/React/CxxModule/RCTCxxModule.mm +0 -87
  550. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
  551. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
  552. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  553. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  554. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
  555. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
  556. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
  557. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  560. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
  565. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
  566. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
  567. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
  568. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
  569. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  570. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
  571. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
  572. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
  573. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  574. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
  575. package/tvosCommands.js +0 -51
  576. /package/ReactCommon/jsi/jsi/{hermes.h → hermes-interfaces.h} +0 -0
@@ -32,6 +32,7 @@ using namespace facebook::react;
32
32
  UIWindow *_window;
33
33
  UILabel *_label;
34
34
  UIView *_container;
35
+ UIButton *_dismissButton;
35
36
  NSDate *_showDate;
36
37
  BOOL _hiding;
37
38
  dispatch_block_t _initialMessageBlock;
@@ -85,7 +86,10 @@ RCT_EXPORT_MODULE()
85
86
  dispatch_time(DISPATCH_TIME_NOW, 0.2 * NSEC_PER_SEC), dispatch_get_main_queue(), self->_initialMessageBlock);
86
87
  }
87
88
 
88
- - (void)showMessage:(NSString *)message color:(UIColor *)color backgroundColor:(UIColor *)backgroundColor
89
+ - (void)showMessage:(NSString *)message
90
+ color:(UIColor *)color
91
+ backgroundColor:(UIColor *)backgroundColor
92
+ dismissButton:(BOOL)dismissButton
89
93
  {
90
94
  if (!RCTDevLoadingViewGetEnabled() || _hiding) {
91
95
  return;
@@ -112,61 +116,128 @@ RCT_EXPORT_MODULE()
112
116
 
113
117
  self->_showDate = [NSDate date];
114
118
 
119
+ if (self->_label == nullptr) {
120
+ self->_label = [[UILabel alloc] init];
121
+ self->_label.translatesAutoresizingMaskIntoConstraints = NO;
122
+ self->_label.font = [UIFont monospacedDigitSystemFontOfSize:12.0 weight:UIFontWeightRegular];
123
+ self->_label.textAlignment = NSTextAlignmentCenter;
124
+ [self->_container addSubview:self->_label];
125
+ self->_label.numberOfLines = 0;
126
+ }
127
+ self->_label.textColor = color;
128
+ self->_label.text = message;
129
+
130
+ if (self->_container == nullptr) {
131
+ self->_container = [[UIView alloc] init];
132
+ self->_container.translatesAutoresizingMaskIntoConstraints = NO;
133
+ UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hide)];
134
+ [self->_container addGestureRecognizer:tapGesture];
135
+ self->_container.userInteractionEnabled = YES;
136
+ [self->_container addSubview:self->_label];
137
+ }
138
+ self->_container.backgroundColor = backgroundColor;
139
+
140
+ // Handle button creation/removal dynamically based on dismissButton parameter
141
+ if (dismissButton && self->_dismissButton == nullptr) {
142
+ CGFloat hue = 0.0;
143
+ CGFloat saturation = 0.0;
144
+ CGFloat brightness = 0.0;
145
+ CGFloat alpha = 0.0;
146
+ [backgroundColor getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha];
147
+ UIColor *darkerBackground = [UIColor colorWithHue:hue
148
+ saturation:saturation
149
+ brightness:brightness * 0.7
150
+ alpha:1.0];
151
+
152
+ UIButtonConfiguration *buttonConfig = [UIButtonConfiguration plainButtonConfiguration];
153
+ buttonConfig.attributedTitle = [[NSAttributedString alloc]
154
+ initWithString:@"Dismiss ✕"
155
+ attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:11.0 weight:UIFontWeightRegular]}];
156
+ buttonConfig.contentInsets = NSDirectionalEdgeInsetsMake(6, 12, 6, 12);
157
+ buttonConfig.background.backgroundColor = darkerBackground;
158
+ buttonConfig.background.cornerRadius = 10;
159
+ buttonConfig.baseForegroundColor = color;
160
+
161
+ // Button is a visual cue to tap anywhere on the banner to dismiss so no seperate action is needed
162
+ self->_dismissButton = [UIButton buttonWithConfiguration:buttonConfig primaryAction:nil];
163
+ self->_dismissButton.userInteractionEnabled = NO;
164
+ self->_dismissButton.translatesAutoresizingMaskIntoConstraints = NO;
165
+
166
+ // Prevent button from being compressed - force label to wrap instead
167
+ [self->_dismissButton setContentCompressionResistancePriority:UILayoutPriorityRequired
168
+ forAxis:UILayoutConstraintAxisHorizontal];
169
+ [self->_dismissButton setContentHuggingPriority:UILayoutPriorityRequired
170
+ forAxis:UILayoutConstraintAxisHorizontal];
171
+
172
+ [self->_container addSubview:self->_dismissButton];
173
+ } else if (!dismissButton && self->_dismissButton != nullptr) {
174
+ [self->_dismissButton removeFromSuperview];
175
+ self->_dismissButton = nullptr;
176
+ }
177
+
115
178
  UIWindow *mainWindow = RCTKeyWindow();
116
- self->_window = [[UIWindow alloc] initWithWindowScene:mainWindow.windowScene];
179
+ if (self->_window == nullptr) {
180
+ UIWindowScene *windowScene = mainWindow.windowScene;
181
+ if (windowScene != nil) {
182
+ self->_window = [[UIWindow alloc] initWithWindowScene:windowScene];
183
+ } else {
184
+ self->_window = [[UIWindow alloc] init];
185
+ }
117
186
  #if TARGET_OS_TV
118
- self->_window.windowLevel = UIWindowLevelNormal + 1;
187
+ self->_window.windowLevel = UIWindowLevelNormal + 1;
119
188
  #else
120
- self->_window.windowLevel = UIWindowLevelStatusBar + 1;
189
+ self->_window.windowLevel = UIWindowLevelStatusBar + 1;
121
190
  #endif
122
- self->_window.rootViewController = [UIViewController new];
123
-
124
- self->_container = [[UIView alloc] init];
125
- self->_container.backgroundColor = backgroundColor;
126
- self->_container.translatesAutoresizingMaskIntoConstraints = NO;
127
- UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hide)];
128
- [self->_container addGestureRecognizer:tapGesture];
129
- self->_container.userInteractionEnabled = YES;
130
-
131
- self->_label = [[UILabel alloc] init];
132
- self->_label.translatesAutoresizingMaskIntoConstraints = NO;
133
- self->_label.font = [UIFont monospacedDigitSystemFontOfSize:12.0 weight:UIFontWeightRegular];
134
- self->_label.textAlignment = NSTextAlignmentCenter;
135
- self->_label.textColor = color;
136
- self->_label.text = message;
137
-
138
- [self->_window.rootViewController.view addSubview:self->_container];
139
- [self->_container addSubview:self->_label];
191
+ self->_window.rootViewController = [UIViewController new];
192
+ [self->_window.rootViewController.view addSubview:self->_container];
193
+ }
140
194
 
141
195
  CGFloat topSafeAreaHeight = mainWindow.safeAreaInsets.top;
142
- CGFloat height = topSafeAreaHeight + 25;
143
- self->_window.frame = CGRectMake(0, 0, mainWindow.frame.size.width, height);
144
-
145
196
  self->_window.hidden = NO;
146
197
 
147
198
  [self->_window layoutIfNeeded];
148
199
 
149
- [NSLayoutConstraint activateConstraints:@[
200
+ NSMutableArray *constraints = [NSMutableArray arrayWithArray:@[
150
201
  // Container constraints
151
202
  [self->_container.topAnchor constraintEqualToAnchor:self->_window.rootViewController.view.topAnchor],
152
203
  [self->_container.leadingAnchor constraintEqualToAnchor:self->_window.rootViewController.view.leadingAnchor],
153
204
  [self->_container.trailingAnchor constraintEqualToAnchor:self->_window.rootViewController.view.trailingAnchor],
154
- [self->_container.heightAnchor constraintEqualToConstant:height],
155
205
 
156
206
  // Label constraints
157
- [self->_label.centerXAnchor constraintEqualToAnchor:self->_container.centerXAnchor],
158
- [self->_label.bottomAnchor constraintEqualToAnchor:self->_container.bottomAnchor constant:-5],
207
+ [self->_label.topAnchor constraintEqualToAnchor:self->_container.topAnchor constant:topSafeAreaHeight + 8],
208
+ [self->_label.leadingAnchor constraintEqualToAnchor:self->_container.leadingAnchor constant:10],
209
+ [self->_label.bottomAnchor constraintEqualToAnchor:self->_container.bottomAnchor constant:-8],
159
210
  ]];
211
+
212
+ // Add button-specific constraints if button exists
213
+ if (self->_dismissButton != nullptr) {
214
+ [constraints addObjectsFromArray:@[
215
+ [self->_dismissButton.trailingAnchor constraintEqualToAnchor:self->_container.trailingAnchor constant:-10],
216
+ [self->_dismissButton.centerYAnchor constraintEqualToAnchor:self->_label.centerYAnchor],
217
+ [self->_dismissButton.heightAnchor constraintEqualToConstant:22],
218
+ [self->_label.trailingAnchor constraintEqualToAnchor:self->_dismissButton.leadingAnchor constant:-10],
219
+ ]];
220
+ } else {
221
+ [constraints addObject:[self->_label.trailingAnchor constraintEqualToAnchor:self->_container.trailingAnchor
222
+ constant:-10]];
223
+ }
224
+
225
+ [NSLayoutConstraint activateConstraints:constraints];
226
+
227
+ [self->_window layoutIfNeeded];
228
+ self->_window.frame = CGRectMake(0, 0, mainWindow.frame.size.width, self->_container.frame.size.height);
160
229
  });
161
230
  }
162
231
 
163
232
  RCT_EXPORT_METHOD(
164
233
  showMessage : (NSString *)message withColor : (NSNumber *__nonnull)color withBackgroundColor : (NSNumber *__nonnull)
165
- backgroundColor)
234
+ backgroundColor withDismissButton : (NSNumber *)dismissButton)
166
235
  {
167
- [self showMessage:message color:[RCTConvert UIColor:color] backgroundColor:[RCTConvert UIColor:backgroundColor]];
236
+ [self showMessage:message
237
+ color:[RCTConvert UIColor:color]
238
+ backgroundColor:[RCTConvert UIColor:backgroundColor]
239
+ dismissButton:[dismissButton boolValue]];
168
240
  }
169
-
170
241
  RCT_EXPORT_METHOD(hide)
171
242
  {
172
243
  if (!RCTDevLoadingViewGetEnabled()) {
@@ -192,6 +263,9 @@ RCT_EXPORT_METHOD(hide)
192
263
  self->_window.frame = windowFrame;
193
264
  self->_window.hidden = YES;
194
265
  self->_window = nil;
266
+ self->_container = nil;
267
+ self->_label = nil;
268
+ self->_dismissButton = nil;
195
269
  self->_hiding = false;
196
270
  }];
197
271
  });
@@ -215,7 +289,7 @@ RCT_EXPORT_METHOD(hide)
215
289
  backgroundColor = [UIColor colorWithHue:0 saturation:0 brightness:0.98 alpha:1];
216
290
  }
217
291
 
218
- [self showMessage:message color:color backgroundColor:backgroundColor];
292
+ [self showMessage:message color:color backgroundColor:backgroundColor dismissButton:false];
219
293
  }
220
294
 
221
295
  - (void)showOfflineMessage
@@ -229,7 +303,7 @@ RCT_EXPORT_METHOD(hide)
229
303
  }
230
304
 
231
305
  NSString *message = [NSString stringWithFormat:@"Connect to %@ to develop JavaScript.", RCT_PACKAGER_NAME];
232
- [self showMessage:message color:color backgroundColor:backgroundColor];
306
+ [self showMessage:message color:color backgroundColor:backgroundColor dismissButton:false];
233
307
  }
234
308
 
235
309
  - (BOOL)isDarkModeEnabled
@@ -288,10 +362,16 @@ RCT_EXPORT_METHOD(hide)
288
362
  + (void)setEnabled:(BOOL)enabled
289
363
  {
290
364
  }
291
- - (void)showMessage:(NSString *)message color:(UIColor *)color backgroundColor:(UIColor *)backgroundColor
365
+ - (void)showMessage:(NSString *)message
366
+ color:(UIColor *)color
367
+ backgroundColor:(UIColor *)backgroundColor
368
+ dismissButton:(BOOL)dismissButton
292
369
  {
293
370
  }
294
- - (void)showMessage:(NSString *)message withColor:(NSNumber *)color withBackgroundColor:(NSNumber *)backgroundColor
371
+ - (void)showMessage:(NSString *)message
372
+ withColor:(NSNumber *)color
373
+ withBackgroundColor:(NSNumber *)backgroundColor
374
+ withDismissButton:(NSNumber *)dismissButton
295
375
  {
296
376
  }
297
377
  - (void)showWithURL:(NSURL *)URL
@@ -11,6 +11,14 @@
11
11
  #import <React/RCTEventEmitter.h>
12
12
  #import <React/RCTInitializing.h>
13
13
 
14
+ @class RCTPackagerClientResponder;
15
+ typedef uint32_t RCTHandlerToken;
16
+ typedef void (^RCTNotificationHandler)(NSDictionary<NSString *, id> *);
17
+ typedef void (^RCTRequestHandler)(NSDictionary<NSString *, id> *, RCTPackagerClientResponder *);
18
+ typedef void (^RCTConnectedHandler)(void);
19
+
20
+ @class RCTPackagerConnection;
21
+
14
22
  @protocol RCTPackagerClientMethod;
15
23
 
16
24
  /**
@@ -85,6 +93,10 @@
85
93
  */
86
94
  @property (nonatomic, assign) BOOL isPerfMonitorShown;
87
95
 
96
+ #if RCT_DEV
97
+ @property (nonatomic, readonly) RCTPackagerConnection *packagerConnection;
98
+ #endif
99
+
88
100
  /**
89
101
  * Toggle the element inspector.
90
102
  */
@@ -102,7 +114,30 @@
102
114
 
103
115
  #if RCT_DEV_MENU
104
116
  - (void)addHandler:(id<RCTPackagerClientMethod>)handler
105
- forPackagerMethod:(NSString *)name __deprecated_msg("Use RCTPackagerConnection directly instead");
117
+ forPackagerMethod:(NSString *)name __deprecated_msg("Use addRequestHandler or addNotificationHandler instead");
118
+ #endif
119
+
120
+ #if RCT_DEV
121
+ /**
122
+ * Registers a handler for a notification broadcast from the packager. An
123
+ * example is "reload" - an instruction to reload from the packager.
124
+ * If multiple notification handlers are registered for the same method, they
125
+ * will all be invoked sequentially.
126
+ */
127
+ - (RCTHandlerToken)addNotificationHandler:(RCTNotificationHandler)handler
128
+ queue:(dispatch_queue_t)queue
129
+ forMethod:(NSString *)method;
130
+
131
+ /**
132
+ * Registers a handler for a request from the packager. An example is
133
+ * pokeSamplingProfiler; it asks for profile data from the client.
134
+ * Only one handler can be registered for a given method; calling this
135
+ * displaces any previous request handler registered for that method.
136
+ */
137
+ - (RCTHandlerToken)addRequestHandler:(RCTRequestHandler)handler
138
+ queue:(dispatch_queue_t)queue
139
+ forMethod:(NSString *)method;
140
+
106
141
  #endif
107
142
 
108
143
  @end
@@ -32,9 +32,12 @@ static NSString *const kRCTDevSettingIsPerfMonitorShown = @"RCTPerfMonitorKey";
32
32
 
33
33
  static NSString *const kRCTDevSettingsUserDefaultsKey = @"RCTDevMenu";
34
34
 
35
+ #if RCT_DEV
36
+ #import <React/RCTPackagerConnection.h>
37
+ #endif
38
+
35
39
  #if RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION
36
40
  #import <React/RCTPackagerClient.h>
37
- #import <React/RCTPackagerConnection.h>
38
41
  #endif
39
42
 
40
43
  #if RCT_ENABLE_INSPECTOR
@@ -145,6 +148,9 @@ RCT_EXPORT_MODULE()
145
148
  };
146
149
  RCTDevSettingsUserDefaultsDataSource *dataSource =
147
150
  [[RCTDevSettingsUserDefaultsDataSource alloc] initWithDefaultValues:defaultValues];
151
+ #if RCT_DEV
152
+ _packagerConnection = [RCTPackagerConnection new];
153
+ #endif
148
154
  _isShakeGestureEnabled = true;
149
155
  return [self initWithDataSource:dataSource];
150
156
  }
@@ -178,18 +184,27 @@ RCT_EXPORT_MODULE()
178
184
 
179
185
  - (void)initialize
180
186
  {
187
+ #if RCT_DEV
188
+ [_packagerConnection startWithBundleManager:_bundleManager];
189
+ #endif
190
+
181
191
  #if RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION
182
192
  if (numInitializedModules++ == 0) {
183
- reloadToken = [[RCTPackagerConnection sharedPackagerConnection]
193
+ reloadToken = [self
184
194
  addNotificationHandler:^(id params) {
185
195
  RCTTriggerReloadCommandListeners(@"Global hotkey");
186
196
  }
187
197
  queue:dispatch_get_main_queue()
188
198
  forMethod:@"reload"];
189
199
  #if RCT_DEV_MENU
190
- devMenuToken = [[RCTPackagerConnection sharedPackagerConnection]
200
+ __weak __typeof(self) weakSelf = self;
201
+ devMenuToken = [self
191
202
  addNotificationHandler:^(id params) {
192
- [[self.moduleRegistry moduleForName:"DevMenu"] show];
203
+ __typeof(self) strongSelf = weakSelf;
204
+ if (strongSelf == nullptr) {
205
+ return;
206
+ }
207
+ [[strongSelf.moduleRegistry moduleForName:"DevMenu"] show];
193
208
  }
194
209
  queue:dispatch_get_main_queue()
195
210
  forMethod:@"devMenu"];
@@ -240,9 +255,9 @@ RCT_EXPORT_MODULE()
240
255
  [super invalidate];
241
256
  #if RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION
242
257
  if (--numInitializedModules == 0) {
243
- [[RCTPackagerConnection sharedPackagerConnection] removeHandler:reloadToken];
258
+ [_packagerConnection removeHandler:reloadToken];
244
259
  #if RCT_DEV_MENU
245
- [[RCTPackagerConnection sharedPackagerConnection] removeHandler:devMenuToken];
260
+ [_packagerConnection removeHandler:devMenuToken];
246
261
  #endif
247
262
  }
248
263
  #endif
@@ -422,10 +437,27 @@ RCT_EXPORT_METHOD(addMenuItem : (NSString *)title)
422
437
  }
423
438
  }
424
439
 
440
+ #if RCT_DEV
441
+ - (RCTHandlerToken)addNotificationHandler:(RCTNotificationHandler)handler
442
+ queue:(dispatch_queue_t)queue
443
+ forMethod:(NSString *)method
444
+ {
445
+ return [_packagerConnection addNotificationHandler:handler queue:queue forMethod:method];
446
+ }
447
+
448
+ - (RCTHandlerToken)addRequestHandler:(RCTRequestHandler)handler
449
+ queue:(dispatch_queue_t)queue
450
+ forMethod:(NSString *)method
451
+ {
452
+ return [_packagerConnection addRequestHandler:handler queue:queue forMethod:method];
453
+ }
454
+
455
+ #endif
456
+
425
457
  - (void)addHandler:(id<RCTPackagerClientMethod>)handler forPackagerMethod:(NSString *)name
426
458
  {
427
459
  #if RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION
428
- [[RCTPackagerConnection sharedPackagerConnection] addHandler:handler forMethod:name];
460
+ [_packagerConnection addHandler:handler forMethod:name];
429
461
  #endif
430
462
  }
431
463
 
@@ -512,7 +544,7 @@ RCT_EXPORT_METHOD(openDebugger)
512
544
 
513
545
  @end
514
546
 
515
- #else // #if RCT_DEV_MENU
547
+ #else // #if RCT_DEV_MENU || RCT_REMOTE_PROFILE
516
548
 
517
549
  @interface RCTDevSettings () <NativeDevSettingsSpec>
518
550
  @end
@@ -578,6 +610,10 @@ RCT_EXPORT_METHOD(openDebugger)
578
610
  return std::make_shared<facebook::react::NativeDevSettingsSpecJSI>(params);
579
611
  }
580
612
 
613
+ - (void)addHandler:(id<RCTPackagerClientMethod>)handler forPackagerMethod:(NSString *)name
614
+ {
615
+ }
616
+
581
617
  @end
582
618
 
583
619
  #endif // #if RCT_DEV_MENU
@@ -77,8 +77,11 @@ RCT_EXPORT_MODULE()
77
77
  RCTTriggerReloadCommandListeners(@"JS Crash Reload");
78
78
  } else if (!RCT_DEV) {
79
79
  NSString *description = [@"Unhandled JS Exception: " stringByAppendingString:message];
80
- NSDictionary *errorInfo =
81
- @{NSLocalizedDescriptionKey : description, RCTJSStackTraceKey : stack, RCTJSExtraDataKey : extraDataAsJSON};
80
+ NSDictionary *errorInfo = @{
81
+ NSLocalizedDescriptionKey : description,
82
+ RCTJSStackTraceKey : stack == nil ? (id)kCFNull : stack,
83
+ RCTJSExtraDataKey : extraDataAsJSON == nil ? (id)kCFNull : extraDataAsJSON
84
+ };
82
85
  RCTFatal([NSError errorWithDomain:RCTErrorDomain code:0 userInfo:errorInfo]);
83
86
  }
84
87
  }
@@ -31,10 +31,11 @@ static NSString *interfaceIdiom(UIUserInterfaceIdiom idiom)
31
31
  return @"tv";
32
32
  case UIUserInterfaceIdiomCarPlay:
33
33
  return @"carplay";
34
- #if TARGET_OS_VISION
35
34
  case UIUserInterfaceIdiomVision:
36
35
  return @"vision";
37
- #endif
36
+ case UIUserInterfaceIdiomMac:
37
+ return @"mac";
38
+ case UIUserInterfaceIdiomUnspecified:
38
39
  default:
39
40
  return @"unknown";
40
41
  }
@@ -218,7 +218,7 @@ RCT_EXPORT_METHOD(setNetworkActivityIndicatorVisible : (BOOL)visible)
218
218
 
219
219
  - (facebook::react::ModuleConstants<JS::NativeStatusBarManagerIOS::Constants>)constantsToExport
220
220
  {
221
- return (facebook::react::ModuleConstants<JS::NativeStatusBarManagerIOS::Constants>)[self getConstants];
221
+ return [self getConstants];
222
222
  }
223
223
 
224
224
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
@@ -19,7 +19,6 @@
19
19
  #import <React/RCTConstants.h>
20
20
  #import <React/RCTConvert.h>
21
21
  #import <React/RCTCxxBridgeDelegate.h>
22
- #import <React/RCTCxxModule.h>
23
22
  #import <React/RCTCxxUtils.h>
24
23
  #import <React/RCTDevSettings.h>
25
24
  #import <React/RCTDisplayLink.h>
@@ -992,7 +991,7 @@ struct RCTInstanceCallback : public InstanceCallback {
992
991
  // modules on the main thread in parallel with loading the JS code, so
993
992
  // they will already be available before they are ever required.
994
993
  dispatch_block_t block = ^{
995
- if (self.valid && ![moduleData.moduleClass isSubclassOfClass:[RCTCxxModule class]]) {
994
+ if (self.valid) {
996
995
  [self->_performanceLogger appendStartForTag:RCTPLNativeModuleMainThread];
997
996
  (void)[moduleData instance];
998
997
  [moduleData gatherConstants];
@@ -129,7 +129,7 @@ using namespace facebook::react;
129
129
  // TODO: we should convert this to JSValue directly
130
130
  return convertFollyDynamicToId(result);
131
131
  }
132
- } catch (const facebook::xplat::JsArgumentException &ex) {
132
+ } catch ([[maybe_unused]] const facebook::xplat::JsArgumentException &ex) {
133
133
  RCTLogError(
134
134
  @"Method %@.%s argument error: %s",
135
135
  RCTBridgeModuleNameForClass([module class]),
@@ -13,7 +13,6 @@
13
13
  #import <jsi/jsi.h>
14
14
 
15
15
  #import "DispatchMessageQueueThread.h"
16
- #import "RCTCxxModule.h"
17
16
  #import "RCTNativeModule.h"
18
17
 
19
18
  namespace facebook::react {
@@ -27,16 +26,7 @@ createNativeModules(NSArray<RCTModuleData *> *modules, RCTBridge *bridge, const
27
26
  {
28
27
  std::vector<std::unique_ptr<NativeModule>> nativeModules;
29
28
  for (RCTModuleData *moduleData in modules) {
30
- if ([moduleData.moduleClass isSubclassOfClass:[RCTCxxModule class]]) {
31
- nativeModules.emplace_back(
32
- std::make_unique<CxxNativeModule>(
33
- instance,
34
- [moduleData.name UTF8String],
35
- [moduleData] { return [(RCTCxxModule *)(moduleData.instance) createModule]; },
36
- std::make_shared<DispatchMessageQueueThread>(moduleData)));
37
- } else {
38
- nativeModules.emplace_back(std::make_unique<RCTNativeModule>(bridge, moduleData));
39
- }
29
+ nativeModules.emplace_back(std::make_unique<RCTNativeModule>(bridge, moduleData));
40
30
  }
41
31
  return nativeModules;
42
32
  }
@@ -78,7 +68,7 @@ NSError *tryAndReturnError(const std::function<void()> &func)
78
68
  return nil;
79
69
  } @catch (NSException *exception) {
80
70
  return RCTErrorWithNSException(exception);
81
- } @catch (id exception) {
71
+ } @catch (id) {
82
72
  // This will catch any other ObjC exception, but no C++ exceptions
83
73
  return RCTErrorWithMessage(@"non-std ObjC Exception");
84
74
  }
@@ -11,7 +11,10 @@
11
11
 
12
12
  @protocol RCTDevLoadingViewProtocol <NSObject>
13
13
  + (void)setEnabled:(BOOL)enabled;
14
- - (void)showMessage:(NSString *)message color:(UIColor *)color backgroundColor:(UIColor *)backgroundColor;
14
+ - (void)showMessage:(NSString *)message
15
+ color:(UIColor *)color
16
+ backgroundColor:(UIColor *)backgroundColor
17
+ dismissButton:(BOOL)dismissButton;
15
18
  - (void)showWithURL:(NSURL *)URL;
16
19
  - (void)updateProgress:(RCTLoadingProgress *)progress;
17
20
  - (void)hide;
@@ -7,6 +7,7 @@
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
9
 
10
+ #import <React/RCTBundleManager.h>
10
11
  #import <React/RCTDefines.h>
11
12
 
12
13
  #if RCT_DEV
@@ -24,8 +25,6 @@ typedef void (^RCTConnectedHandler)(void);
24
25
  /** Encapsulates singleton connection to React Native packager. */
25
26
  @interface RCTPackagerConnection : NSObject
26
27
 
27
- + (instancetype)sharedPackagerConnection;
28
-
29
28
  /**
30
29
  * Registers a handler for a notification broadcast from the packager. An
31
30
  * example is "reload" - an instruction to reload from the packager.
@@ -62,6 +61,9 @@ typedef void (^RCTConnectedHandler)(void);
62
61
  /** Reconnect with given packager server, if packagerServerHostPort has changed. */
63
62
  - (void)reconnect:(NSString *)packagerServerHostPort;
64
63
 
64
+ /** starts packager connection with configuration from the bundle manager */
65
+ - (void)startWithBundleManager:(RCTBundleManager *)bundleManager;
66
+
65
67
  /**
66
68
  * Historically no distinction was made between notification and request
67
69
  * handlers. If you use this method, it will be registered as *both* a
@@ -13,6 +13,7 @@
13
13
 
14
14
  #import <React/RCTAssert.h>
15
15
  #import <React/RCTBridge.h>
16
+ #import <React/RCTBundleManager.h>
16
17
  #import <React/RCTBundleURLProvider.h>
17
18
  #import <React/RCTConstants.h>
18
19
  #import <React/RCTConvert.h>
@@ -50,43 +51,13 @@ struct Registration {
50
51
  std::vector<Registration<RCTNotificationHandler>> _notificationRegistrations;
51
52
  std::vector<Registration<RCTRequestHandler>> _requestRegistrations;
52
53
  std::vector<Registration<RCTConnectedHandler>> _connectedRegistrations;
53
- }
54
-
55
- + (instancetype)sharedPackagerConnection
56
- {
57
- static RCTPackagerConnection *connection;
58
- static dispatch_once_t onceToken;
59
- dispatch_once(&onceToken, ^{
60
- connection = [RCTPackagerConnection new];
61
- });
62
- return connection;
54
+ RCTBundleManager *_bundleManager;
63
55
  }
64
56
 
65
57
  - (instancetype)init
66
58
  {
67
59
  if (self = [super init]) {
68
60
  _nextToken = 1; // Prevent randomly erasing a handler if you pass a bogus 0 token
69
- _serverHostPortForSocket = [[RCTBundleURLProvider sharedSettings] packagerServerHostPort];
70
- _serverSchemeForSocket = [[RCTBundleURLProvider sharedSettings] packagerScheme];
71
- _socket = socketForLocation(_serverHostPortForSocket, _serverSchemeForSocket);
72
- _socket.delegate = self;
73
- [_socket start];
74
-
75
- RCTPackagerConnection *const __weak weakSelf = self;
76
- _bundleURLChangeObserver =
77
- [[NSNotificationCenter defaultCenter] addObserverForName:RCTBundleURLProviderUpdatedNotification
78
- object:nil
79
- queue:[NSOperationQueue mainQueue]
80
- usingBlock:^(NSNotification *_Nonnull __unused note) {
81
- [weakSelf bundleURLSettingsChanged];
82
- }];
83
- _reloadWithPotentiallyNewURLObserver =
84
- [[NSNotificationCenter defaultCenter] addObserverForName:RCTTriggerReloadCommandNotification
85
- object:nil
86
- queue:[NSOperationQueue mainQueue]
87
- usingBlock:^(NSNotification *_Nonnull __unused note) {
88
- [weakSelf bundleURLSettingsChanged];
89
- }];
90
61
  }
91
62
  return self;
92
63
  }
@@ -119,6 +90,32 @@ static RCTReconnectingWebSocket *socketForLocation(NSString *const serverHostPor
119
90
  return [[RCTReconnectingWebSocket alloc] initWithURL:components.URL queue:queue];
120
91
  }
121
92
 
93
+ - (void)startWithBundleManager:(RCTBundleManager *)bundleManager
94
+ {
95
+ _serverHostPortForSocket = [bundleManager.bundleConfig getPackagerServerHost];
96
+ _serverSchemeForSocket = [bundleManager.bundleConfig getPackagerServerScheme];
97
+ _socket = socketForLocation(_serverHostPortForSocket, _serverSchemeForSocket);
98
+ _socket.delegate = self;
99
+ [_socket start];
100
+ _bundleManager = bundleManager;
101
+
102
+ RCTPackagerConnection *const __weak weakSelf = self;
103
+ _bundleURLChangeObserver =
104
+ [[NSNotificationCenter defaultCenter] addObserverForName:RCTBundleURLProviderUpdatedNotification
105
+ object:nil
106
+ queue:[NSOperationQueue mainQueue]
107
+ usingBlock:^(NSNotification *_Nonnull __unused note) {
108
+ [weakSelf bundleURLSettingsChanged];
109
+ }];
110
+ _reloadWithPotentiallyNewURLObserver =
111
+ [[NSNotificationCenter defaultCenter] addObserverForName:RCTTriggerReloadCommandNotification
112
+ object:nil
113
+ queue:[NSOperationQueue mainQueue]
114
+ usingBlock:^(NSNotification *_Nonnull __unused note) {
115
+ [weakSelf bundleURLSettingsChanged];
116
+ }];
117
+ }
118
+
122
119
  - (void)stop
123
120
  {
124
121
  std::lock_guard<std::mutex> l(_mutex);
@@ -144,7 +141,7 @@ static RCTReconnectingWebSocket *socketForLocation(NSString *const serverHostPor
144
141
  return; // already stopped
145
142
  }
146
143
 
147
- NSString *const serverScheme = [[RCTBundleURLProvider sharedSettings] packagerScheme];
144
+ NSString *const serverScheme = [_bundleManager.bundleConfig getPackagerServerScheme];
148
145
  if ([packagerServerHostPort isEqual:_serverHostPortForSocket] && [serverScheme isEqual:_serverSchemeForSocket]) {
149
146
  return; // unchanged
150
147
  }
@@ -161,7 +158,7 @@ static RCTReconnectingWebSocket *socketForLocation(NSString *const serverHostPor
161
158
  - (void)bundleURLSettingsChanged
162
159
  {
163
160
  // Will only reconnect if `packagerServerHostPort` has actually changed
164
- [self reconnect:[[RCTBundleURLProvider sharedSettings] packagerServerHostPort]];
161
+ [self reconnect:[_bundleManager.bundleConfig getPackagerServerHost]];
165
162
  }
166
163
 
167
164
  - (RCTHandlerToken)addNotificationHandler:(RCTNotificationHandler)handler