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.
- package/Libraries/Animated/AnimatedEvent.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
- package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
- package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -31
- package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
- package/Libraries/BatchedBridge/MessageQueue.js +24 -22
- package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
- package/Libraries/Blob/URL.js +34 -3
- package/Libraries/Blob/URLSearchParams.js +1 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
- package/Libraries/Components/Button.js +2 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
- package/Libraries/Components/Keyboard/Keyboard.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -8
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
- package/Libraries/Components/TextInput/TextInput.js +33 -34
- package/Libraries/Components/Touchable/PooledClass.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
- package/Libraries/Components/View/ViewPropTypes.js +16 -6
- package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +2 -2
- package/Libraries/Image/Image.ios.js +2 -2
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/RCTImagePlugins.h +1 -0
- package/Libraries/Image/RCTImagePlugins.mm +30 -17
- package/Libraries/Interaction/InteractionManager.js +3 -3
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +31 -4
- package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
- package/Libraries/LogBox/LogBox.js +7 -7
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
- package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
- package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
- package/Libraries/Network/RCTNetworking.android.js +3 -3
- package/Libraries/Network/RCTNetworking.ios.js +2 -2
- package/Libraries/Network/RCTNetworking.js.flow +2 -2
- package/Libraries/Pressability/Pressability.js +9 -9
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/RCTSettingsManager.mm +1 -1
- package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
- package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
- package/Libraries/StyleSheet/processFilter.js +1 -1
- package/Libraries/Text/Text.js +46 -6
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -2
- package/Libraries/Text/TextNativeComponent.js +1 -1
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +31 -0
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +2 -2
- package/Libraries/Utilities/DevLoadingView.js +8 -1
- package/Libraries/Utilities/DevSettings.js +3 -3
- package/Libraries/Utilities/HMRClient.js +4 -3
- package/Libraries/Utilities/RCTLog.js +3 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +7 -7
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
- package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
- package/Libraries/promiseRejectionTrackingOptions.js +8 -8
- package/Libraries/vendor/core/ErrorUtils.js +10 -10
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/README.md +56 -18
- package/React/Base/RCTAssert.m +2 -2
- package/React/Base/RCTBridge.h +0 -4
- package/React/Base/RCTBridge.mm +1 -12
- package/React/Base/RCTBundleManager.h +59 -7
- package/React/Base/RCTBundleManager.m +112 -1
- package/React/Base/RCTBundleURLProvider.h +24 -0
- package/React/Base/RCTBundleURLProvider.mm +49 -4
- package/React/Base/RCTConvert.mm +2 -0
- package/React/Base/RCTModuleData.mm +2 -2
- package/React/Base/RCTUtils.h +4 -0
- package/React/Base/RCTUtils.mm +60 -3
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/CoreModulesPlugins.mm +97 -35
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/RCTAccessibilityManager.mm +18 -1
- package/React/CoreModules/RCTAppState.mm +1 -1
- package/React/CoreModules/RCTDevLoadingView.mm +116 -36
- package/React/CoreModules/RCTDevSettings.h +36 -1
- package/React/CoreModules/RCTDevSettings.mm +44 -8
- package/React/CoreModules/RCTExceptionsManager.mm +5 -2
- package/React/CoreModules/RCTPlatform.mm +3 -2
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +1 -2
- package/React/CxxModule/RCTCxxMethod.mm +1 -1
- package/React/CxxModule/RCTCxxUtils.mm +2 -12
- package/React/DevSupport/RCTDevLoadingViewProtocol.h +4 -1
- package/React/DevSupport/RCTPackagerConnection.h +4 -2
- package/React/DevSupport/RCTPackagerConnection.mm +30 -33
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +9 -2
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +62 -17
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +529 -494
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +1 -0
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +14 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +11 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +39 -2
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +5 -7
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +5 -7
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +6 -2
- package/React/Modules/RCTEventEmitter.m +1 -0
- package/React/Views/RCTModalHostView.h +2 -0
- package/React/Views/RCTTVView.m +2 -0
- package/ReactAndroid/api/ReactAndroid.api +14 -73
- package/ReactAndroid/build.gradle.kts +2 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +97 -29
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -119
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +43 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +6 -96
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +17 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -33
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +58 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +144 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +7 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +63 -45
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -76
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +22 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +23 -17
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +117 -84
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +22 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
- package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
- package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
- package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
- package/ReactCommon/cmake-utils/react-native-flags.cmake +3 -0
- package/ReactCommon/cxxreact/JSBigString.h +14 -5
- package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
- package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -0
- package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -0
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
- package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
- package/ReactCommon/jsi/jsi/jsi.h +73 -0
- package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
- package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
- package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
- package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
- package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
- package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
- package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
- package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
- package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
- package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
- package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
- package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
- package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
- package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
- package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
- package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
- package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
- package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
- package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
- package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
- package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
- package/ReactCommon/react/networking/React-networking.podspec +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
- package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
- package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
- package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
- package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
- package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
- package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
- package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
- package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
- package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
- package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
- package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +715 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +298 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +90 -94
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
- package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
- package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
- package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
- package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
- package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
- package/ReactCommon/react/renderer/core/Props.cpp +23 -8
- package/ReactCommon/react/renderer/core/Props.h +6 -4
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
- package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
- package/ReactCommon/react/renderer/debug/flags.h +3 -2
- package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
- package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
- package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
- package/ReactCommon/react/runtime/ReactInstance.h +5 -1
- package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
- package/ReactCommon/react/runtime/TimerManager.h +7 -12
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
- package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
- package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
- package/ReactCommon/yoga/yoga/style/Style.h +8 -8
- package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
- package/flow/HermesInternalType.js +6 -6
- package/flow/bom.js.flow +35 -28
- package/flow/cssom.js.flow +3 -3
- package/flow/dom.js.flow +34 -33
- package/index.js +3 -0
- package/index.js.flow +8 -0
- package/jest/mock.js +2 -2
- package/jest/mockComponent.js +1 -1
- package/jest/setup.js +1 -1
- package/package.json +11 -11
- package/react-native.config.js +0 -17
- package/scripts/cocoapods/new_architecture.rb +7 -1
- package/scripts/cocoapods/spm.rb +28 -10
- package/scripts/cocoapods/utils.rb +4 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +5 -5
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
- package/scripts/ios-configure-glog.sh +24 -1
- package/scripts/react_native_pods.rb +13 -0
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +53 -36
- package/sdks/hermes-engine/hermes-utils.rb +8 -15
- package/sdks/hermes-engine/version.properties +1 -1
- package/src/private/animated/NativeAnimatedHelper.js +130 -125
- package/src/private/animated/NativeAnimatedValidation.js +7 -4
- package/src/private/animated/createAnimatedPropsHook.js +13 -5
- package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
- package/src/private/components/virtualview/VirtualView.js +16 -9
- package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
- package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
- package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
- package/src/private/webapis/dom/events/CustomEvent.js +3 -3
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
- package/src/private/webapis/html/events/MessageEvent.js +3 -3
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
- package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
- package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
- package/src/private/webapis/performance/Performance.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
- package/src/private/webapis/structuredClone/structuredClone.js +3 -3
- package/src/types/globals.d.ts +30 -1
- package/third-party-podspecs/RCT-Folly.podspec +1 -0
- package/third-party-podspecs/glog.podspec +1 -0
- package/React/CxxModule/RCTCxxModule.h +0 -29
- package/React/CxxModule/RCTCxxModule.mm +0 -87
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
- package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
- package/tvosCommands.js +0 -51
- /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<
|
|
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<
|
|
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<
|
|
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:
|
|
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<
|
|
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
|
-
}):
|
|
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<
|
|
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:
|
|
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:
|
|
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]:
|
|
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:
|
|
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:
|
|
114
|
+
const stringifySafe: unknown => string = createStringifySafeWithLimits({
|
|
115
115
|
maxDepth: 10,
|
|
116
116
|
maxStringLimit: 100,
|
|
117
117
|
maxArrayLimit: 50,
|
|
@@ -13,20 +13,17 @@
|
|
|
13
13
|
|
|
14
14
|
#import "RCTVibrationPlugins.h"
|
|
15
15
|
|
|
16
|
-
#import <
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
37
|
-
*
|
|
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
|
-
|
|
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:
|
|
13
|
-
type Fn<Args: $ReadOnlyArray<
|
|
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<
|
|
15
|
+
applyWithGuard<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
16
16
|
fun: Fn<TArgs, TOut>,
|
|
17
|
-
context?:
|
|
17
|
+
context?: unknown,
|
|
18
18
|
args?: ?TArgs,
|
|
19
19
|
unused_onError?: null,
|
|
20
20
|
unused_name?: ?string,
|
|
21
21
|
): ?TOut,
|
|
22
|
-
applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<
|
|
22
|
+
applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
23
23
|
fun: Fn<TArgs, TOut>,
|
|
24
|
-
context?:
|
|
24
|
+
context?: unknown,
|
|
25
25
|
args?: ?TArgs,
|
|
26
26
|
): ?TOut,
|
|
27
27
|
getGlobalHandler(): ErrorHandler,
|
|
28
|
-
guard<TArgs: $ReadOnlyArray<
|
|
28
|
+
guard<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
29
29
|
fun: Fn<TArgs, TOut>,
|
|
30
30
|
name?: ?string,
|
|
31
|
-
context?:
|
|
31
|
+
context?: unknown,
|
|
32
32
|
): ?(...TArgs) => ?TOut,
|
|
33
33
|
inGuard(): boolean,
|
|
34
|
-
reportError(error:
|
|
35
|
-
reportFatalError(error:
|
|
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]) =>
|
|
24
|
-
context?:
|
|
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:
|
|
39
|
-
+listener: (...args: TArgs) =>
|
|
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]) =>
|
|
89
|
-
context:
|
|
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`
|
|
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
|
|
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
|
-
###
|
|
97
|
+
### Project creation using the React Native Community CLI
|
|
98
98
|
|
|
99
|
-
|
|
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
|
-
>
|
|
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
|
-
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
package/React/Base/RCTAssert.m
CHANGED
|
@@ -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 *
|
|
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 *
|
|
219
|
+
} @catch (NSException *) {
|
|
220
220
|
}
|
|
221
221
|
#endif
|
|
222
222
|
}
|
package/React/Base/RCTBridge.h
CHANGED
|
@@ -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
|
|
package/React/Base/RCTBridge.mm
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|