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
@@ -17,7 +17,7 @@ type NativeCommandsOptions<T = string> = $ReadOnly<{
17
17
  function codegenNativeCommands<T: interface {}>(
18
18
  options: NativeCommandsOptions<$Keys<T>>,
19
19
  ): T {
20
- const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<mixed>) => void} = {};
20
+ const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<unknown>) => void} = {};
21
21
 
22
22
  options.supportedCommands.forEach(command => {
23
23
  // $FlowFixMe[missing-local-annot]
@@ -27,7 +27,7 @@
27
27
  * Freezing the object and adding the throw mechanism is expensive and will
28
28
  * only be used in DEV.
29
29
  */
30
- function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<mixed>>(
30
+ function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<unknown>>(
31
31
  object: T,
32
32
  ): T {
33
33
  if (__DEV__) {
@@ -43,7 +43,7 @@ function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<mixed>>(
43
43
  }
44
44
 
45
45
  // $FlowFixMe[not-an-object] `object` can be an array, but Object.keys works with arrays too
46
- const keys = Object.keys((object: {...} | Array<mixed>));
46
+ const keys = Object.keys((object: {...} | Array<unknown>));
47
47
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
48
48
  const hasOwnProperty = Object.prototype.hasOwnProperty;
49
49
 
@@ -85,7 +85,7 @@ function throwOnImmutableMutation(key: empty, value) {
85
85
  );
86
86
  }
87
87
 
88
- function identity(value: mixed) {
88
+ function identity(value: unknown) {
89
89
  return value;
90
90
  }
91
91
 
@@ -15,7 +15,7 @@
15
15
  * `console.error` as a failure callback - it's not properly bound. If passes an
16
16
  * `Error` object, it will print the message and stack.
17
17
  */
18
- const logError = function (...args: $ReadOnlyArray<mixed>) {
18
+ const logError = function (...args: $ReadOnlyArray<unknown>) {
19
19
  if (args.length === 1 && args[0] instanceof Error) {
20
20
  const err = args[0];
21
21
  console.error('Error: "' + err.message + '". Stack:\n' + err.stack);
@@ -19,17 +19,17 @@ export function createStringifySafeWithLimits(limits: {
19
19
  maxStringLimit?: number,
20
20
  maxArrayLimit?: number,
21
21
  maxObjectKeysLimit?: number,
22
- }): mixed => string {
22
+ }): unknown => string {
23
23
  const {
24
24
  maxDepth = Number.POSITIVE_INFINITY,
25
25
  maxStringLimit = Number.POSITIVE_INFINITY,
26
26
  maxArrayLimit = Number.POSITIVE_INFINITY,
27
27
  maxObjectKeysLimit = Number.POSITIVE_INFINITY,
28
28
  } = limits;
29
- const stack: Array<mixed> = [];
29
+ const stack: Array<unknown> = [];
30
30
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
31
31
  * Flow's LTI update could not be added via codemod */
32
- function replacer(key: string, value: mixed): mixed {
32
+ function replacer(key: string, value: unknown): unknown {
33
33
  while (stack.length && this !== stack[0]) {
34
34
  stack.shift();
35
35
  }
@@ -45,7 +45,7 @@ export function createStringifySafeWithLimits(limits: {
45
45
  return value;
46
46
  }
47
47
 
48
- let retval: mixed = value;
48
+ let retval: unknown = value;
49
49
  if (Array.isArray(value)) {
50
50
  if (stack.length >= maxDepth) {
51
51
  retval = `[ ... array with ${value.length} values ... ]`;
@@ -64,7 +64,7 @@ export function createStringifySafeWithLimits(limits: {
64
64
  retval = `{ ... object with ${keys.length} keys ... }`;
65
65
  } else if (keys.length > maxObjectKeysLimit) {
66
66
  // Return a sample of the keys.
67
- retval = ({}: {[string]: mixed});
67
+ retval = ({}: {[string]: unknown});
68
68
  for (let k of keys.slice(0, maxObjectKeysLimit)) {
69
69
  retval[k] = value[k];
70
70
  }
@@ -76,7 +76,7 @@ export function createStringifySafeWithLimits(limits: {
76
76
  return retval;
77
77
  }
78
78
 
79
- return function stringifySafe(arg: mixed): string {
79
+ return function stringifySafe(arg: unknown): string {
80
80
  if (arg === undefined) {
81
81
  return 'undefined';
82
82
  } else if (arg === null) {
@@ -111,7 +111,7 @@ export function createStringifySafeWithLimits(limits: {
111
111
  };
112
112
  }
113
113
 
114
- const stringifySafe: mixed => string = createStringifySafeWithLimits({
114
+ const stringifySafe: unknown => string = createStringifySafeWithLimits({
115
115
  maxDepth: 10,
116
116
  maxStringLimit: 100,
117
117
  maxArrayLimit: 50,
@@ -10,7 +10,7 @@
10
10
 
11
11
  import {useCallback, useRef} from 'react';
12
12
 
13
- type CallbackRef<T> = T => mixed;
13
+ type CallbackRef<T> = T => unknown;
14
14
 
15
15
  /**
16
16
  * Constructs a callback ref that provides similar semantics as `useEffect`. The
@@ -13,20 +13,17 @@
13
13
 
14
14
  #import "RCTVibrationPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTVibrationClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"Vibration", RCTVibrationCls},
23
- };
24
-
25
- auto p = sCoreModuleClassMap->find(name);
26
- if (p != sCoreModuleClassMap->end()) {
27
- auto classFunc = p->second;
28
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTVibrationClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "Vibration"sv) {
24
+ return RCTVibrationCls();
29
25
  }
26
+
30
27
  return nil;
31
28
  }
32
29
 
@@ -33,10 +33,10 @@ let isInterceptorEnabled = false;
33
33
 
34
34
  /**
35
35
  * A network interceptor which monkey-patches RCTWebSocketModule methods
36
- * to gather all websocket network requests/responses, in order to show
37
- * their information in the React Native inspector development tool.
36
+ * to gather all websocket network events.
37
+ *
38
+ * @deprecated Since React Native 0.84
38
39
  */
39
-
40
40
  const WebSocketInterceptor = {
41
41
  /**
42
42
  * Invoked when RCTWebSocketModule.close(...) is called.
@@ -12,8 +12,15 @@ import typeof {enable} from 'promise/setimmediate/rejection-tracking';
12
12
 
13
13
  import ExceptionsManager from './Core/ExceptionsManager';
14
14
 
15
- let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
15
+ const rejectionTrackingOptions: NonNullable<Parameters<enable>[0]> = {
16
16
  allRejections: true,
17
+ onHandled: id => {
18
+ const warning =
19
+ `Promise rejection handled (id: ${id})\n` +
20
+ 'This means you can ignore any previous messages of the form ' +
21
+ `"Uncaught (in promise, id: ${id})"`;
22
+ console.warn(warning);
23
+ },
17
24
  onUnhandled: (id, rejection) => {
18
25
  let message: string;
19
26
 
@@ -46,13 +53,6 @@ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
46
53
  false /* isFatal */,
47
54
  );
48
55
  },
49
- onHandled: id => {
50
- const warning =
51
- `Promise rejection handled (id: ${id})\n` +
52
- 'This means you can ignore any previous messages of the form ' +
53
- `"Uncaught (in promise, id: ${id})"`;
54
- console.warn(warning);
55
- },
56
56
  };
57
57
 
58
58
  export default rejectionTrackingOptions;
@@ -9,30 +9,30 @@
9
9
  */
10
10
 
11
11
  // From @react-native/js-polyfills
12
- type ErrorHandler = (error: mixed, isFatal: boolean) => void;
13
- type Fn<Args: $ReadOnlyArray<mixed>, Return> = (...Args) => Return;
12
+ type ErrorHandler = (error: unknown, isFatal: boolean) => void;
13
+ type Fn<Args: $ReadOnlyArray<unknown>, Return> = (...Args) => Return;
14
14
  export type ErrorUtils = {
15
- applyWithGuard<TArgs: $ReadOnlyArray<mixed>, TOut>(
15
+ applyWithGuard<TArgs: $ReadOnlyArray<unknown>, TOut>(
16
16
  fun: Fn<TArgs, TOut>,
17
- context?: mixed,
17
+ context?: unknown,
18
18
  args?: ?TArgs,
19
19
  unused_onError?: null,
20
20
  unused_name?: ?string,
21
21
  ): ?TOut,
22
- applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<mixed>, TOut>(
22
+ applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<unknown>, TOut>(
23
23
  fun: Fn<TArgs, TOut>,
24
- context?: mixed,
24
+ context?: unknown,
25
25
  args?: ?TArgs,
26
26
  ): ?TOut,
27
27
  getGlobalHandler(): ErrorHandler,
28
- guard<TArgs: $ReadOnlyArray<mixed>, TOut>(
28
+ guard<TArgs: $ReadOnlyArray<unknown>, TOut>(
29
29
  fun: Fn<TArgs, TOut>,
30
30
  name?: ?string,
31
- context?: mixed,
31
+ context?: unknown,
32
32
  ): ?(...TArgs) => ?TOut,
33
33
  inGuard(): boolean,
34
- reportError(error: mixed): void,
35
- reportFatalError(error: mixed): void,
34
+ reportError(error: unknown): void,
35
+ reportFatalError(error: unknown): void,
36
36
  setGlobalHandler(fun: ErrorHandler): void,
37
37
  };
38
38
 
@@ -20,8 +20,8 @@ export interface IEventEmitter<
20
20
  > {
21
21
  addListener<TEvent: $Keys<TEventToArgsMap>>(
22
22
  eventType: TEvent,
23
- listener: (...args: TEventToArgsMap[TEvent]) => mixed,
24
- context?: mixed,
23
+ listener: (...args: TEventToArgsMap[TEvent]) => unknown,
24
+ context?: unknown,
25
25
  ): EventSubscription;
26
26
 
27
27
  emit<TEvent: $Keys<TEventToArgsMap>>(
@@ -35,8 +35,8 @@ export interface IEventEmitter<
35
35
  }
36
36
 
37
37
  interface Registration<TArgs> {
38
- +context: mixed;
39
- +listener: (...args: TArgs) => mixed;
38
+ +context: unknown;
39
+ +listener: (...args: TArgs) => unknown;
40
40
  +remove: () => void;
41
41
  }
42
42
 
@@ -85,8 +85,8 @@ export default class EventEmitter<
85
85
  */
86
86
  addListener<TEvent: $Keys<TEventToArgsMap>>(
87
87
  eventType: TEvent,
88
- listener: (...args: TEventToArgsMap[TEvent]) => mixed,
89
- context: mixed,
88
+ listener: (...args: TEventToArgsMap[TEvent]) => unknown,
89
+ context: unknown,
90
90
  ): EventSubscription {
91
91
  if (typeof listener !== 'function') {
92
92
  throw new TypeError(
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## react-native-tvos
2
2
 
3
- Apple TV and Android TV support for React Native are maintained here and in the corresponding `react-native-tvos` NPM package, and not in the [core repo](https://github.com/facebook/react-native/). This is a full fork of the main repository, with only the changes needed to support Apple TV and Android TV.
3
+ Apple TV and Android TV support for React Native are maintained here and in the corresponding `react-native-tvos` npm package, and not in the [core repo](https://github.com/facebook/react-native/). This is a full fork of the main repository, with only the changes needed to support Apple TV and Android TV.
4
4
 
5
5
  Releases of `react-native-tvos` will be based on a public release of `react-native`; e.g. the 0.81.0-0 release of this package will be derived from the 0.81.0 release of `react-native`. All releases of this repo will follow the 0.xx.x-y format, where x digits are from a specific RN core release, and y represents the additional versioning from this repo.
6
6
 
@@ -78,7 +78,7 @@ Minimum operating system versions:
78
78
  ## Build changes
79
79
 
80
80
  - _Native layer for Apple TV_: Changes in the React Native podspecs (in 0.73 and later) require that your application `Podfile` only have one target. This repo supports either an iOS target or a tvOS target.
81
- - _Maven artifacts for Android TV_: In 0.71 and later releases, the React Native Android prebuilt archives are published to Maven instead of being included in the NPM. We are following the same model, except that the Maven artifacts will be in group `io.github.react-native-tvos` instead of `com.facebook.react`. The `@react-native/gradle-plugin` module has been upgraded so that the Android dependencies will be detected correctly during build.
81
+ - _Maven artifacts for Android TV_: In 0.71 and later releases, the React Native Android prebuilt archives are published to Maven instead of being included in the `npm`. We are following the same model, except that the Maven artifacts will be in group `io.github.react-native-tvos` instead of `com.facebook.react`. The `@react-native/gradle-plugin` module has been upgraded so that the Android dependencies will be detected correctly during build.
82
82
 
83
83
  ## TV project creation in React Native 0.75 and later
84
84
 
@@ -94,26 +94,64 @@ See the [Building Expo apps for TV](https://docs.expo.dev/guides/building-for-tv
94
94
 
95
95
  Using Expo's [continuous native generation (CNG)](https://docs.expo.dev/workflow/continuous-native-generation/) model, projects created this way can be used to build either mobile or TV apps, taking advantage of the full support for both mobile and TV platforms in this repo.
96
96
 
97
- ### Creating a new project with the Community CLI
97
+ ### Project creation using the React Native Community CLI
98
98
 
99
- We maintain [template-tv](https://github.com/react-native-tvos/template-tv), a TV-specific template for developers using the React Native Community CLI. This project extends the Community CLI with `run-tvos`, `build-tvos`, and `log-tvos` commands for tvOS development.
99
+ As of React Native 0.75.x, the template that used to reside in the `react-native` core package has been moved to a [new community repo](https://github.com/react-native-community/template) and will be maintained there. To support developers that wish to continue using the community CLI, we have created a [new TV template repository](https://github.com/react-native-tvos/template-tv) and will maintain a TV port of this template.
100
100
 
101
- > [!NOTE]
102
- > This template only supports Apple TV and Android TV. Multiple platform targets are no longer supported in React Native app Podfiles.
101
+ > _Note:_ The new TV template will only build apps for Apple TV and Android TV. Multiple platform targets are no longer supported in React Native app Podfiles.
103
102
 
104
- **Quick start:**
105
- ```sh
106
- # Initialize a new app called 'TVTest'
107
- # This command should be run outside of any existing node project
108
- npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv
109
-
110
- cd TVTest
103
+ To create a new project for RNTV 0.81:
111
104
 
112
- # Build and run on tvOS Simulator (macOS only, requires Apple TV simulator)
113
- npx react-native run-tvos --simulator "Apple TV"
114
-
115
- # Build and run on Android TV emulator (requires Android TV emulator)
116
- npx react-native run-android --device tv_api_31
105
+ ```sh
106
+ #
107
+ # Init an app called 'TVTest', note that you must not be in a node module (directory with node_modules sub-directory) for this to work
108
+ $ npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv
109
+
110
+ ###### ######
111
+ ### #### #### ###
112
+ ## ### ### ##
113
+ ## #### ##
114
+ ## #### ##
115
+ ## ## ## ##
116
+ ## ### ### ##
117
+ ## ######################## ##
118
+ ###### ### ### ######
119
+ ### ## ## ## ## ###
120
+ ### ## ### #### ### ## ###
121
+ ## #### ######## #### ##
122
+ ## ### ########## ### ##
123
+ ## #### ######## #### ##
124
+ ### ## ### #### ### ## ###
125
+ ### ## ## ## ## ###
126
+ ###### ### ### ######
127
+ ## ######################## ##
128
+ ## ### ### ##
129
+ ## ## ## ##
130
+ ## #### ##
131
+ ## #### ##
132
+ ## ### ### ##
133
+ ### #### #### ###
134
+ ###### ######
135
+
136
+
137
+ Welcome to React Native 0.81!
138
+ Learn once, write anywhere
139
+
140
+ ✔ Downloading template
141
+ ✔ Copying template
142
+ ✔ Processing template
143
+ ✔ Installing dependencies
144
+ ✔ Do you want to install CocoaPods now? Only needed if you run your project in Xcode directly … yes
145
+ ✔ Installing Ruby Gems
146
+ ✔ Installing CocoaPods dependencies (this may take a few minutes)
147
+ .
148
+ .
149
+ .
150
+ $ cd TVTest
151
+ # Now build and start the app in the tvOS Simulator - this will only work on a macOS machine.
152
+ npx react-native run-ios --simulator "Apple TV"
153
+ # This command builds and starts the app in an Android TV emulator (needs to be created in advance).
154
+ npx react-native run:android --device tv_api_31
117
155
  ```
118
156
 
119
157
  ## How to support TV specific file extensions
@@ -146,7 +146,7 @@ void RCTFatal(NSError *error)
146
146
  // userInfo: <underlying error userinfo, plus untruncated description plus JS stack trace>
147
147
  @throw [[NSException alloc] initWithName:name reason:message userInfo:userInfo];
148
148
  #if DEBUG
149
- } @catch (NSException *e) {
149
+ } @catch (NSException *) {
150
150
  }
151
151
  #endif
152
152
  }
@@ -216,7 +216,7 @@ void RCTFatalException(NSException *exception)
216
216
  #endif
217
217
  @throw exception;
218
218
  #if DEBUG
219
- } @catch (NSException *e) {
219
+ } @catch (NSException *) {
220
220
  }
221
221
  #endif
222
222
  }
@@ -62,10 +62,6 @@ void RCTEnableTurboModuleInteropBridgeProxy(BOOL enabled);
62
62
  BOOL RCTFabricInteropLayerEnabled(void);
63
63
  void RCTEnableFabricInteropLayer(BOOL enabled);
64
64
 
65
- // Turn on TurboModule sync execution of void methods
66
- BOOL RCTTurboModuleSyncVoidMethodsEnabled(void);
67
- void RCTEnableTurboModuleSyncVoidMethods(BOOL enabled);
68
-
69
65
  BOOL RCTUIManagerDispatchAccessibilityManagerInitOntoMain(void);
70
66
  void RCTUIManagerSetDispatchAccessibilityManagerInitOntoMain(BOOL enabled);
71
67
 
@@ -242,17 +242,6 @@ void RCTSetTurboModuleInteropBridgeProxyLogLevel(RCTBridgeProxyLoggingLevel logL
242
242
  bridgeProxyLoggingLevel = logLevel;
243
243
  }
244
244
 
245
- // Turn on TurboModule sync execution of void methods
246
- static BOOL gTurboModuleEnableSyncVoidMethods = NO;
247
- BOOL RCTTurboModuleSyncVoidMethodsEnabled(void)
248
- {
249
- return gTurboModuleEnableSyncVoidMethods;
250
- }
251
- void RCTEnableTurboModuleSyncVoidMethods(BOOL enabled)
252
- {
253
- gTurboModuleEnableSyncVoidMethods = enabled;
254
- }
255
-
256
245
  BOOL kDispatchAccessibilityManagerInitOntoMain = NO;
257
246
  BOOL RCTUIManagerDispatchAccessibilityManagerInitOntoMain(void)
258
247
  {
@@ -380,7 +369,7 @@ static RCTBridge *RCTCurrentBridgeInstance = nil;
380
369
  moduleProvider:(RCTBridgeModuleListProvider)block
381
370
  launchOptions:(NSDictionary *)launchOptions
382
371
  {
383
- // Only enabld this assertion in OSS
372
+ // Only enable this assertion in OSS
384
373
  #if COCOAPODS
385
374
  [RCTBridge throwIfOnLegacyArch];
386
375
  #endif
@@ -9,19 +9,71 @@
9
9
 
10
10
  @class RCTBridge;
11
11
 
12
- typedef NSURL * (^RCTBridgelessBundleURLGetter)(void);
13
- typedef void (^RCTBridgelessBundleURLSetter)(NSURL *bundleURL);
12
+ typedef NSURL *_Nullable (^RCTBridgelessBundleURLGetter)(void);
13
+ typedef void (^RCTBridgelessBundleURLSetter)(NSURL *_Nullable bundleURL);
14
+ typedef NSMutableArray<NSURLQueryItem *> *_Nullable (^RCTPackagerOptionsUpdater)(
15
+ NSMutableArray<NSURLQueryItem *> *_Nullable options);
16
+
17
+ /**
18
+ * Configuration class for setting up custom bundle locations
19
+ */
20
+ @interface RCTBundleConfiguration : NSObject
21
+
22
+ + (nonnull instancetype)defaultConfiguration;
23
+
24
+ /**
25
+ * The URL of the bundle to load from the file system
26
+ */
27
+ @property (nonatomic, readonly, nullable) NSURL *bundleFilePath;
28
+
29
+ /**
30
+ * The server scheme (e.g. http or https) to use when loading from the packager
31
+ */
32
+ @property (nonatomic, readonly, nullable) NSString *packagerServerScheme;
33
+
34
+ /**
35
+ * The server host (e.g. localhost) to use when loading from the packager
36
+ */
37
+ @property (nonatomic, readonly, nullable) NSString *packagerServerHost;
38
+
39
+ /**
40
+ * A block that modifies the packager options when loading from the packager
41
+ */
42
+ @property (nonatomic, copy, nullable) RCTPackagerOptionsUpdater packagerOptionsUpdater;
43
+
44
+ /**
45
+ * The relative path to the bundle.
46
+ */
47
+ @property (nonatomic, readonly, nullable) NSString *bundlePath;
48
+
49
+ - (nonnull instancetype)initWithBundleFilePath:(nullable NSURL *)bundleFilePath;
50
+
51
+ - (nonnull instancetype)initWithPackagerServerScheme:(nullable NSString *)packagerServerScheme
52
+ packagerServerHost:(nullable NSString *)packagerServerHost
53
+ bundlePath:(nullable NSString *)bundlePath;
54
+
55
+ - (nullable NSURL *)getBundleURL;
56
+
57
+ - (nonnull NSString *)getPackagerServerScheme;
58
+
59
+ - (nonnull NSString *)getPackagerServerHost;
60
+
61
+ @end
14
62
 
15
63
  /**
16
64
  * A class that allows NativeModules/TurboModules to read/write the bundleURL, with or without the bridge.
17
65
  */
18
66
  @interface RCTBundleManager : NSObject
67
+
68
+ - (nullable instancetype)initWithBundleConfig:(nullable RCTBundleConfiguration *)bundleConfig;
69
+
19
70
  #ifndef RCT_REMOVE_LEGACY_ARCH
20
- - (void)setBridge:(RCTBridge *)bridge;
71
+ - (void)setBridge:(nullable RCTBridge *)bridge;
21
72
  #endif // RCT_REMOVE_LEGACY_ARCH
22
- - (void)setBridgelessBundleURLGetter:(RCTBridgelessBundleURLGetter)getter
23
- andSetter:(RCTBridgelessBundleURLSetter)setter
24
- andDefaultGetter:(RCTBridgelessBundleURLGetter)defaultGetter;
73
+ - (void)setBridgelessBundleURLGetter:(nullable RCTBridgelessBundleURLGetter)getter
74
+ andSetter:(nullable RCTBridgelessBundleURLSetter)setter
75
+ andDefaultGetter:(nullable RCTBridgelessBundleURLGetter)defaultGetter;
25
76
  - (void)resetBundleURL;
26
- @property NSURL *bundleURL;
77
+ @property (nonatomic, nullable) NSURL *bundleURL;
78
+ @property (nonatomic, nonnull) RCTBundleConfiguration *bundleConfig;
27
79
  @end
@@ -6,9 +6,100 @@
6
6
  */
7
7
 
8
8
  #import "RCTBundleManager.h"
9
+ #import <React/RCTBundleURLProvider.h>
10
+ #import <React/RCTDevLoadingViewSetEnabled.h>
9
11
  #import "RCTAssert.h"
10
12
  #import "RCTBridge+Private.h"
11
13
  #import "RCTBridge.h"
14
+ #import "RCTLog.h"
15
+
16
+ @implementation RCTBundleConfiguration
17
+
18
+ + (instancetype)defaultConfiguration
19
+ {
20
+ return [[self alloc] initWithBundleFilePath:nil packagerServerScheme:nil packagerServerHost:nil bundlePath:nil];
21
+ }
22
+
23
+ - (instancetype)initWithBundleFilePath:(NSURL *)bundleFilePath
24
+ {
25
+ return [self initWithBundleFilePath:bundleFilePath packagerServerScheme:nil packagerServerHost:nil bundlePath:nil];
26
+ }
27
+
28
+ - (instancetype)initWithPackagerServerScheme:(NSString *)packagerServerScheme
29
+ packagerServerHost:(NSString *)packagerServerHost
30
+ bundlePath:(NSString *)bundlePath
31
+ {
32
+ return [self initWithBundleFilePath:nil
33
+ packagerServerScheme:packagerServerScheme
34
+ packagerServerHost:packagerServerHost
35
+ bundlePath:bundlePath];
36
+ }
37
+
38
+ - (instancetype)initWithBundleFilePath:(NSURL *)bundleFilePath
39
+ packagerServerScheme:(NSString *)packagerServerScheme
40
+ packagerServerHost:(NSString *)packagerServerHost
41
+ bundlePath:(NSString *)bundlePath
42
+ {
43
+ if (self = [super init]) {
44
+ _bundleFilePath = bundleFilePath;
45
+ _packagerServerScheme = packagerServerScheme;
46
+ _packagerServerHost = packagerServerHost;
47
+ _bundlePath = bundlePath;
48
+ _packagerOptionsUpdater = ^NSMutableArray<NSURLQueryItem *> *(NSMutableArray<NSURLQueryItem *> *options)
49
+ {
50
+ return options;
51
+ };
52
+
53
+ // When the bundleFilePath is set in the RCTBundleConfiguration the Metro connection
54
+ // shouldn't be suggested/required.
55
+ if (_bundleFilePath != nil) {
56
+ RCTDevLoadingViewSetEnabled(false);
57
+ }
58
+ }
59
+
60
+ return self;
61
+ }
62
+
63
+ - (NSString *)getPackagerServerScheme
64
+ {
65
+ if (!_packagerServerScheme) {
66
+ return [[RCTBundleURLProvider sharedSettings] packagerScheme];
67
+ }
68
+
69
+ return _packagerServerScheme;
70
+ }
71
+
72
+ - (NSString *)getPackagerServerHost
73
+ {
74
+ if (!_packagerServerHost) {
75
+ return [[RCTBundleURLProvider sharedSettings] packagerServerHostPort];
76
+ }
77
+
78
+ return _packagerServerHost;
79
+ }
80
+
81
+ - (NSURL *)getBundleURL
82
+ {
83
+ if (_packagerServerScheme && _packagerServerHost) {
84
+ return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:_bundlePath
85
+ packagerServerScheme:_packagerServerScheme
86
+ packagerServerHost:_packagerServerHost
87
+ packagerOptionsUpdater:_packagerOptionsUpdater];
88
+ }
89
+
90
+ if (_bundleFilePath) {
91
+ if (!_bundleFilePath.fileURL) {
92
+ RCTLogError(@"Bundle file path must be a file URL");
93
+ return nil;
94
+ }
95
+
96
+ return _bundleFilePath;
97
+ }
98
+
99
+ return nil;
100
+ }
101
+
102
+ @end
12
103
 
13
104
  @implementation RCTBundleManager {
14
105
  #ifndef RCT_REMOVE_LEGACY_ARCH
@@ -19,6 +110,20 @@
19
110
  RCTBridgelessBundleURLGetter _bridgelessBundleURLDefaultGetter;
20
111
  }
21
112
 
113
+ - (instancetype)initWithBundleConfig:(RCTBundleConfiguration *)bundleConfig
114
+ {
115
+ if (self = [super init]) {
116
+ self.bundleConfig = bundleConfig ? bundleConfig : [RCTBundleConfiguration defaultConfiguration];
117
+ }
118
+
119
+ return self;
120
+ }
121
+
122
+ - (instancetype)init
123
+ {
124
+ return [self initWithBundleConfig:[RCTBundleConfiguration defaultConfiguration]];
125
+ }
126
+
22
127
  #ifndef RCT_REMOVE_LEGACY_ARCH
23
128
  - (void)setBridge:(RCTBridge *)bridge
24
129
  {
@@ -62,7 +167,13 @@
62
167
  _bridgelessBundleURLGetter != nil,
63
168
  @"RCTBundleManager: In bridgeless mode, RCTBridgelessBundleURLGetter must not be nil.");
64
169
 
65
- return _bridgelessBundleURLGetter();
170
+ NSURL *bundleURL = [_bundleConfig getBundleURL];
171
+
172
+ if (bundleURL == nil) {
173
+ return _bridgelessBundleURLGetter();
174
+ }
175
+
176
+ return bundleURL;
66
177
  }
67
178
 
68
179
  - (void)resetBundleURL