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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<8e68f8be2e5f35422ae866390c76f670>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -28,14 +28,16 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
28
28
|
virtual bool commonTestFlag() = 0;
|
|
29
29
|
virtual bool cdpInteractionMetricsEnabled() = 0;
|
|
30
30
|
virtual bool cxxNativeAnimatedEnabled() = 0;
|
|
31
|
-
virtual bool cxxNativeAnimatedRemoveJsSync() = 0;
|
|
32
31
|
virtual bool disableEarlyViewCommandExecution() = 0;
|
|
33
|
-
virtual bool
|
|
32
|
+
virtual bool disableImageViewPreallocationAndroid() = 0;
|
|
34
33
|
virtual bool disableMountItemReorderingAndroid() = 0;
|
|
35
34
|
virtual bool disableOldAndroidAttachmentMetricsWorkarounds() = 0;
|
|
35
|
+
virtual bool disableSubviewClippingAndroid() = 0;
|
|
36
36
|
virtual bool disableTextLayoutManagerCacheAndroid() = 0;
|
|
37
|
+
virtual bool disableViewPreallocationAndroid() = 0;
|
|
37
38
|
virtual bool enableAccessibilityOrder() = 0;
|
|
38
39
|
virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0;
|
|
40
|
+
virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0;
|
|
39
41
|
virtual bool enableAndroidLinearText() = 0;
|
|
40
42
|
virtual bool enableAndroidTextMeasurementOptimizations() = 0;
|
|
41
43
|
virtual bool enableBridgelessArchitecture() = 0;
|
|
@@ -45,12 +47,14 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
45
47
|
virtual bool enableDoubleMeasurementFixAndroid() = 0;
|
|
46
48
|
virtual bool enableEagerMainQueueModulesOnIOS() = 0;
|
|
47
49
|
virtual bool enableEagerRootViewAttachment() = 0;
|
|
50
|
+
virtual bool enableExclusivePropsUpdateAndroid() = 0;
|
|
48
51
|
virtual bool enableFabricLogs() = 0;
|
|
49
52
|
virtual bool enableFabricRenderer() = 0;
|
|
50
53
|
virtual bool enableFontScaleChangesUpdatingLayout() = 0;
|
|
51
54
|
virtual bool enableIOSTextBaselineOffsetPerLine() = 0;
|
|
52
55
|
virtual bool enableIOSViewClipToPaddingBox() = 0;
|
|
53
56
|
virtual bool enableImagePrefetchingAndroid() = 0;
|
|
57
|
+
virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0;
|
|
54
58
|
virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0;
|
|
55
59
|
virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0;
|
|
56
60
|
virtual bool enableImperativeFocus() = 0;
|
|
@@ -65,7 +69,6 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
65
69
|
virtual bool enableNetworkEventReporting() = 0;
|
|
66
70
|
virtual bool enablePreparedTextLayout() = 0;
|
|
67
71
|
virtual bool enablePropsUpdateReconciliationAndroid() = 0;
|
|
68
|
-
virtual bool enableResourceTimingAPI() = 0;
|
|
69
72
|
virtual bool enableSwiftUIBasedFilters() = 0;
|
|
70
73
|
virtual bool enableViewCulling() = 0;
|
|
71
74
|
virtual bool enableViewRecycling() = 0;
|
|
@@ -73,13 +76,13 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
73
76
|
virtual bool enableViewRecyclingForScrollView() = 0;
|
|
74
77
|
virtual bool enableViewRecyclingForText() = 0;
|
|
75
78
|
virtual bool enableViewRecyclingForView() = 0;
|
|
76
|
-
virtual bool enableVirtualViewClippingWithoutScrollViewClipping() = 0;
|
|
77
79
|
virtual bool enableVirtualViewContainerStateExperimental() = 0;
|
|
78
80
|
virtual bool enableVirtualViewDebugFeatures() = 0;
|
|
79
81
|
virtual bool enableVirtualViewRenderState() = 0;
|
|
80
82
|
virtual bool enableVirtualViewWindowFocusDetection() = 0;
|
|
81
83
|
virtual bool enableWebPerformanceAPIsByDefault() = 0;
|
|
82
84
|
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
|
|
85
|
+
virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0;
|
|
83
86
|
virtual bool fuseboxAssertSingleHostState() = 0;
|
|
84
87
|
virtual bool fuseboxEnabledRelease() = 0;
|
|
85
88
|
virtual bool fuseboxNetworkInspectionEnabled() = 0;
|
|
@@ -90,17 +93,17 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
90
93
|
virtual double preparedTextCacheSize() = 0;
|
|
91
94
|
virtual bool preventShadowTreeCommitExhaustion() = 0;
|
|
92
95
|
virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
|
|
96
|
+
virtual bool shouldResetClickableWhenRecyclingView() = 0;
|
|
97
|
+
virtual bool shouldResetOnClickListenerWhenRecyclingView() = 0;
|
|
98
|
+
virtual bool shouldSetEnabledBasedOnAccessibilityState() = 0;
|
|
99
|
+
virtual bool shouldSetIsClickableByDefault() = 0;
|
|
93
100
|
virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
|
|
94
101
|
virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
|
|
95
|
-
virtual bool sweepActiveTouchOnChildNativeGesturesAndroid() = 0;
|
|
96
102
|
virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0;
|
|
97
103
|
virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0;
|
|
98
104
|
virtual bool useAlwaysAvailableJSErrorHandling() = 0;
|
|
99
105
|
virtual bool useFabricInterop() = 0;
|
|
100
|
-
virtual bool useNativeEqualsInNativeReadableArrayAndroid() = 0;
|
|
101
|
-
virtual bool useNativeTransformHelperAndroid() = 0;
|
|
102
106
|
virtual bool useNativeViewConfigsInBridgelessMode() = 0;
|
|
103
|
-
virtual bool useOptimizedEventBatchingOnAndroid() = 0;
|
|
104
107
|
virtual bool useRawPropsJsiValue() = 0;
|
|
105
108
|
virtual bool useShadowNodeStateOnClone() = 0;
|
|
106
109
|
virtual bool useSharedAnimatedBackend() = 0;
|
|
@@ -38,7 +38,6 @@ enum TurboModuleMethodValueKind {
|
|
|
38
38
|
*/
|
|
39
39
|
TurboModuleMethodValueKind getTurboModuleMethodValueKind(jsi::Runtime &rt, const jsi::Value *value);
|
|
40
40
|
|
|
41
|
-
class TurboCxxModule;
|
|
42
41
|
class TurboModuleBinding;
|
|
43
42
|
|
|
44
43
|
/**
|
|
@@ -144,7 +143,13 @@ class JSI_EXPORT TurboModule : public jsi::HostObject {
|
|
|
144
143
|
/**
|
|
145
144
|
* An app/platform-specific provider function to get an instance of a module
|
|
146
145
|
* given a name.
|
|
146
|
+
*
|
|
147
|
+
* @deprecated Use TurboModuleProviderFunctionTypeWithRuntime instead.
|
|
148
|
+
* Remove after React Native 0.84 is released.
|
|
147
149
|
*/
|
|
148
|
-
using TurboModuleProviderFunctionType
|
|
150
|
+
using TurboModuleProviderFunctionType [[deprecated("Use TurboModuleProviderFunctionTypeWithRuntime instead")]] =
|
|
151
|
+
std::function<std::shared_ptr<TurboModule>(const std::string &name)>;
|
|
152
|
+
using TurboModuleProviderFunctionTypeWithRuntime =
|
|
153
|
+
std::function<std::shared_ptr<TurboModule>(jsi::Runtime &runtime, const std::string &name)>;
|
|
149
154
|
|
|
150
155
|
} // namespace facebook::react
|
|
@@ -19,24 +19,25 @@ namespace facebook::react {
|
|
|
19
19
|
|
|
20
20
|
class BridgelessNativeModuleProxy : public jsi::HostObject {
|
|
21
21
|
TurboModuleBinding turboBinding_;
|
|
22
|
-
std::
|
|
22
|
+
std::optional<TurboModuleBinding> legacyBinding_;
|
|
23
23
|
|
|
24
24
|
public:
|
|
25
25
|
BridgelessNativeModuleProxy(
|
|
26
26
|
jsi::Runtime& runtime,
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
|
|
28
|
+
TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider,
|
|
29
29
|
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection)
|
|
30
30
|
: turboBinding_(
|
|
31
31
|
runtime,
|
|
32
32
|
std::move(moduleProvider),
|
|
33
33
|
longLivedObjectCollection),
|
|
34
34
|
legacyBinding_(
|
|
35
|
-
legacyModuleProvider
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
legacyModuleProvider
|
|
36
|
+
? std::make_optional<TurboModuleBinding>(TurboModuleBinding(
|
|
37
|
+
runtime,
|
|
38
|
+
std::move(legacyModuleProvider),
|
|
39
|
+
longLivedObjectCollection))
|
|
40
|
+
: std::nullopt) {}
|
|
40
41
|
|
|
41
42
|
jsi::Value get(jsi::Runtime& runtime, const jsi::PropNameID& name) override {
|
|
42
43
|
/**
|
|
@@ -88,7 +89,7 @@ class BridgelessNativeModuleProxy : public jsi::HostObject {
|
|
|
88
89
|
|
|
89
90
|
TurboModuleBinding::TurboModuleBinding(
|
|
90
91
|
jsi::Runtime& runtime,
|
|
91
|
-
|
|
92
|
+
TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
|
|
92
93
|
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection)
|
|
93
94
|
: runtime_(runtime),
|
|
94
95
|
moduleProvider_(std::move(moduleProvider)),
|
|
@@ -99,6 +100,25 @@ void TurboModuleBinding::install(
|
|
|
99
100
|
TurboModuleProviderFunctionType&& moduleProvider,
|
|
100
101
|
TurboModuleProviderFunctionType&& legacyModuleProvider,
|
|
101
102
|
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection) {
|
|
103
|
+
install(
|
|
104
|
+
runtime,
|
|
105
|
+
[moduleProvider = std::move(moduleProvider)](
|
|
106
|
+
jsi::Runtime& runtime, const std::string& name) {
|
|
107
|
+
return moduleProvider(name);
|
|
108
|
+
},
|
|
109
|
+
legacyModuleProvider == nullptr
|
|
110
|
+
? (TurboModuleProviderFunctionTypeWithRuntime) nullptr
|
|
111
|
+
: [legacyModuleProvider = std::move(legacyModuleProvider)](
|
|
112
|
+
jsi::Runtime& runtime,
|
|
113
|
+
const std::string& name) { return legacyModuleProvider(name); },
|
|
114
|
+
longLivedObjectCollection);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
void TurboModuleBinding::install(
|
|
118
|
+
jsi::Runtime& runtime,
|
|
119
|
+
TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider,
|
|
120
|
+
TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider,
|
|
121
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection) {
|
|
102
122
|
// TODO(T208105802): We can get this information from the native side!
|
|
103
123
|
auto isBridgeless = runtime.global().hasProperty(runtime, "RN$Bridgeless");
|
|
104
124
|
|
|
@@ -153,7 +173,7 @@ jsi::Value TurboModuleBinding::getModule(
|
|
|
153
173
|
std::shared_ptr<TurboModule> module;
|
|
154
174
|
{
|
|
155
175
|
TraceSection s("TurboModuleBinding::moduleProvider", "module", moduleName);
|
|
156
|
-
module = moduleProvider_(moduleName);
|
|
176
|
+
module = moduleProvider_(runtime, moduleName);
|
|
157
177
|
}
|
|
158
178
|
if (module) {
|
|
159
179
|
TurboModuleWithJSIBindings::installJSIBindings(module, runtime);
|
|
@@ -21,28 +21,39 @@ class BridgelessNativeModuleProxy;
|
|
|
21
21
|
/**
|
|
22
22
|
* Represents the JavaScript binding for the TurboModule system.
|
|
23
23
|
*/
|
|
24
|
-
class TurboModuleBinding {
|
|
24
|
+
class TurboModuleBinding final {
|
|
25
25
|
public:
|
|
26
26
|
/*
|
|
27
27
|
* Installs TurboModuleBinding into JavaScript runtime.
|
|
28
28
|
* Thread synchronization must be enforced externally.
|
|
29
|
+
*
|
|
30
|
+
* @deprecated Use the overload that takes
|
|
31
|
+
* TurboModuleProviderFunctionTypeWithRuntime instead.
|
|
32
|
+
* Remove after React Native 0.84 is released.
|
|
29
33
|
*/
|
|
34
|
+
[[deprecated("Use the overload that takes TurboModuleProviderFunctionTypeWithRuntime instead")]]
|
|
30
35
|
static void install(
|
|
31
36
|
jsi::Runtime &runtime,
|
|
32
37
|
TurboModuleProviderFunctionType &&moduleProvider,
|
|
33
38
|
TurboModuleProviderFunctionType &&legacyModuleProvider = nullptr,
|
|
34
39
|
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection = nullptr);
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
static void install(
|
|
37
42
|
jsi::Runtime &runtime,
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
TurboModuleProviderFunctionTypeWithRuntime &&moduleProvider,
|
|
44
|
+
TurboModuleProviderFunctionTypeWithRuntime &&legacyModuleProvider = nullptr,
|
|
45
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection = nullptr);
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
~TurboModuleBinding();
|
|
42
48
|
|
|
43
49
|
private:
|
|
44
50
|
friend BridgelessNativeModuleProxy;
|
|
45
51
|
|
|
52
|
+
TurboModuleBinding(
|
|
53
|
+
jsi::Runtime &runtime,
|
|
54
|
+
TurboModuleProviderFunctionTypeWithRuntime &&moduleProvider,
|
|
55
|
+
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection);
|
|
56
|
+
|
|
46
57
|
/**
|
|
47
58
|
* A lookup function exposed to JS to get an instance of a TurboModule
|
|
48
59
|
* for the given name.
|
|
@@ -50,7 +61,7 @@ class TurboModuleBinding {
|
|
|
50
61
|
jsi::Value getModule(jsi::Runtime &runtime, const std::string &moduleName) const;
|
|
51
62
|
|
|
52
63
|
jsi::Runtime &runtime_;
|
|
53
|
-
|
|
64
|
+
TurboModuleProviderFunctionTypeWithRuntime moduleProvider_;
|
|
54
65
|
std::shared_ptr<LongLivedObjectCollection> longLivedObjectCollection_;
|
|
55
66
|
};
|
|
56
67
|
|
|
@@ -58,7 +58,6 @@ class StubNativeMethodCallInvoker : public NativeMethodCallInvoker {
|
|
|
58
58
|
.jsInvoker = nullptr,
|
|
59
59
|
.nativeMethodCallInvoker = std::make_shared<StubNativeMethodCallInvoker>(),
|
|
60
60
|
.isSyncModule = false,
|
|
61
|
-
.shouldVoidMethodsExecuteSync = true,
|
|
62
61
|
};
|
|
63
62
|
module_ = std::make_unique<ObjCTurboModule>(params);
|
|
64
63
|
}
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm
CHANGED
|
@@ -600,10 +600,6 @@ jsi::Value ObjCInteropTurboModule::convertReturnIdToJSIValue(
|
|
|
600
600
|
TurboModuleMethodValueKind returnType,
|
|
601
601
|
id result)
|
|
602
602
|
{
|
|
603
|
-
std::string methodJsSignature = name_ + "." + methodNameCStr + "()";
|
|
604
|
-
std::string errorPrefix =
|
|
605
|
-
methodJsSignature + ": Error while converting return Objective C value to JavaScript type. ";
|
|
606
|
-
|
|
607
603
|
if (returnType == VoidKind) {
|
|
608
604
|
return jsi::Value::undefined();
|
|
609
605
|
}
|
|
@@ -617,6 +613,7 @@ jsi::Value ObjCInteropTurboModule::convertReturnIdToJSIValue(
|
|
|
617
613
|
return returnValue;
|
|
618
614
|
}
|
|
619
615
|
|
|
616
|
+
std::string methodJsSignature = name_ + "." + methodNameCStr + "()";
|
|
620
617
|
throw jsi::JSError(runtime, methodJsSignature + "Objective C type was unsupported.");
|
|
621
618
|
}
|
|
622
619
|
|
|
@@ -58,7 +58,6 @@ class JSI_EXPORT ObjCTurboModule : public TurboModule {
|
|
|
58
58
|
std::shared_ptr<CallInvoker> jsInvoker;
|
|
59
59
|
std::shared_ptr<NativeMethodCallInvoker> nativeMethodCallInvoker;
|
|
60
60
|
bool isSyncModule;
|
|
61
|
-
bool shouldVoidMethodsExecuteSync;
|
|
62
61
|
};
|
|
63
62
|
|
|
64
63
|
ObjCTurboModule(const InitParams ¶ms);
|
|
@@ -128,9 +127,6 @@ class JSI_EXPORT ObjCTurboModule : public TurboModule {
|
|
|
128
127
|
// Does the NativeModule dispatch async methods to the JS thread?
|
|
129
128
|
const bool isSyncModule_;
|
|
130
129
|
|
|
131
|
-
// Should void methods execute synchronously?
|
|
132
|
-
const bool shouldVoidMethodsExecuteSync_;
|
|
133
|
-
|
|
134
130
|
/**
|
|
135
131
|
* TODO(ramanpreet):
|
|
136
132
|
* Investigate an optimization that'll let us get rid of this NSMutableDictionary.
|
|
@@ -199,7 +199,7 @@ id convertJSIValueToObjCObject(
|
|
|
199
199
|
return convertJSIObjectToNSDictionary(runtime, o, jsInvoker, useNSNull);
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
throw
|
|
202
|
+
throw jsi::JSError(runtime, "Unsupported jsi::Value kind");
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
static jsi::Value createJSRuntimeError(jsi::Runtime &runtime, const std::string &message)
|
|
@@ -268,24 +268,17 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
|
|
|
268
268
|
jsi::PropNameID::forAscii(runtime, "fn"),
|
|
269
269
|
2,
|
|
270
270
|
[invokeCopy, jsInvoker = jsInvoker_, moduleName = name_, methodName](
|
|
271
|
-
jsi::Runtime &rt, const jsi::Value
|
|
272
|
-
// FIXME: do not allocate this upfront
|
|
273
|
-
std::string moduleMethod = moduleName + "." + methodName + "()";
|
|
274
|
-
|
|
271
|
+
jsi::Runtime &rt, const jsi::Value &, const jsi::Value *args, size_t count) {
|
|
275
272
|
if (count != 2) {
|
|
276
|
-
throw
|
|
277
|
-
|
|
278
|
-
" args."
|
|
279
|
-
|
|
280
|
-
if (!invokeCopy) {
|
|
281
|
-
return jsi::Value::undefined();
|
|
273
|
+
throw jsi::JSError(
|
|
274
|
+
rt,
|
|
275
|
+
moduleName + "." + methodName + "(): Promise must pass constructor function two args. Passed " +
|
|
276
|
+
std::to_string(count) + " args.");
|
|
282
277
|
}
|
|
283
278
|
|
|
284
279
|
__block BOOL resolveWasCalled = NO;
|
|
285
|
-
__block std::optional<AsyncCallback<>> resolve(
|
|
286
|
-
|
|
287
|
-
__block std::optional<AsyncCallback<>> reject(
|
|
288
|
-
{rt, args[1].getObject(rt).getFunction(rt), std::move(jsInvoker)});
|
|
280
|
+
__block std::optional<AsyncCallback<>> resolve({rt, args[0].getObject(rt).getFunction(rt), jsInvoker});
|
|
281
|
+
__block std::optional<AsyncCallback<>> reject({rt, args[1].getObject(rt).getFunction(rt), jsInvoker});
|
|
289
282
|
__block std::shared_ptr<std::mutex> mutex = std::make_shared<std::mutex>();
|
|
290
283
|
|
|
291
284
|
RCTPromiseResolveBlock resolveBlock = ^(id result) {
|
|
@@ -306,12 +299,14 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
|
|
|
306
299
|
}
|
|
307
300
|
|
|
308
301
|
if (alreadyResolved) {
|
|
309
|
-
RCTLogError(
|
|
302
|
+
RCTLogError(
|
|
303
|
+
@"%s.%s(): Tried to resolve a promise more than once.", moduleName.c_str(), methodName.c_str());
|
|
310
304
|
return;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
305
|
+
} else if (alreadyRejected) {
|
|
306
|
+
RCTLogError(
|
|
307
|
+
@"%s.%s(): Tried to resolve a promise after it's already been rejected.",
|
|
308
|
+
moduleName.c_str(),
|
|
309
|
+
methodName.c_str());
|
|
315
310
|
return;
|
|
316
311
|
}
|
|
317
312
|
|
|
@@ -339,16 +334,16 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
|
|
|
339
334
|
|
|
340
335
|
if (alreadyResolved) {
|
|
341
336
|
RCTLogError(
|
|
342
|
-
@"%s
|
|
343
|
-
|
|
337
|
+
@"%s.%s() Tried to reject a promise after it's already been resolved. Message: %s",
|
|
338
|
+
moduleName.c_str(),
|
|
339
|
+
methodName.c_str(),
|
|
344
340
|
message.UTF8String);
|
|
345
341
|
return;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
if (alreadyRejected) {
|
|
342
|
+
} else if (alreadyRejected) {
|
|
349
343
|
RCTLogError(
|
|
350
|
-
@"%s
|
|
351
|
-
|
|
344
|
+
@"%s.%s() Tried to reject a promise more than once. Message: %s",
|
|
345
|
+
moduleName.c_str(),
|
|
346
|
+
methodName.c_str(),
|
|
352
347
|
message.UTF8String);
|
|
353
348
|
return;
|
|
354
349
|
}
|
|
@@ -461,11 +456,7 @@ void ObjCTurboModule::performVoidMethodInvocation(
|
|
|
461
456
|
return;
|
|
462
457
|
}
|
|
463
458
|
|
|
464
|
-
|
|
465
|
-
TurboModulePerfLogger::syncMethodCallExecutionStart(moduleName, methodName);
|
|
466
|
-
} else {
|
|
467
|
-
TurboModulePerfLogger::asyncMethodCallExecutionStart(moduleName, methodName, asyncCallCounter);
|
|
468
|
-
}
|
|
459
|
+
TurboModulePerfLogger::asyncMethodCallExecutionStart(moduleName, methodName, asyncCallCounter);
|
|
469
460
|
|
|
470
461
|
@try {
|
|
471
462
|
[inv invokeWithTarget:strongModule];
|
|
@@ -475,26 +466,18 @@ void ObjCTurboModule::performVoidMethodInvocation(
|
|
|
475
466
|
[retainedObjectsForInvocation removeAllObjects];
|
|
476
467
|
}
|
|
477
468
|
|
|
478
|
-
|
|
479
|
-
TurboModulePerfLogger::syncMethodCallExecutionEnd(moduleName, methodName);
|
|
480
|
-
} else {
|
|
481
|
-
TurboModulePerfLogger::asyncMethodCallExecutionEnd(moduleName, methodName, asyncCallCounter);
|
|
482
|
-
}
|
|
469
|
+
TurboModulePerfLogger::asyncMethodCallExecutionEnd(moduleName, methodName, asyncCallCounter);
|
|
483
470
|
|
|
484
471
|
return;
|
|
485
472
|
};
|
|
486
473
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
"RCTTurboModuleAsyncMethodInvocation", "module", moduleName, "method", methodNameStr, "returnType", "void");
|
|
495
|
-
block();
|
|
496
|
-
});
|
|
497
|
-
}
|
|
474
|
+
asyncCallCounter = getUniqueId();
|
|
475
|
+
TurboModulePerfLogger::asyncMethodCallDispatch(moduleName, methodName);
|
|
476
|
+
nativeMethodCallInvoker_->invokeAsync(methodNameStr, [moduleName, methodNameStr, block]() -> void {
|
|
477
|
+
TraceSection s(
|
|
478
|
+
"RCTTurboModuleAsyncMethodInvocation", "module", moduleName, "method", methodNameStr, "returnType", "void");
|
|
479
|
+
block();
|
|
480
|
+
});
|
|
498
481
|
}
|
|
499
482
|
|
|
500
483
|
jsi::Value ObjCTurboModule::convertReturnIdToJSIValue(
|
|
@@ -539,9 +522,9 @@ jsi::Value ObjCTurboModule::convertReturnIdToJSIValue(
|
|
|
539
522
|
break;
|
|
540
523
|
}
|
|
541
524
|
case FunctionKind:
|
|
542
|
-
throw
|
|
525
|
+
throw jsi::JSError(runtime, "convertReturnIdToJSIValue: FunctionKind is not supported yet.");
|
|
543
526
|
case PromiseKind:
|
|
544
|
-
throw
|
|
527
|
+
throw jsi::JSError(runtime, "convertReturnIdToJSIValue: PromiseKind wasn't handled properly.");
|
|
545
528
|
}
|
|
546
529
|
|
|
547
530
|
return returnValue;
|
|
@@ -723,22 +706,27 @@ NSInvocation *ObjCTurboModule::createMethodInvocation(
|
|
|
723
706
|
NSMutableArray *retainedObjectsForInvocation)
|
|
724
707
|
{
|
|
725
708
|
const char *moduleName = name_.c_str();
|
|
726
|
-
const NSObject<RCTBridgeModule> *module = instance_;
|
|
727
|
-
|
|
728
709
|
if (isSync) {
|
|
729
710
|
TurboModulePerfLogger::syncMethodCallArgConversionStart(moduleName, methodName);
|
|
730
711
|
} else {
|
|
731
712
|
TurboModulePerfLogger::asyncMethodCallArgConversionStart(moduleName, methodName);
|
|
732
713
|
}
|
|
733
714
|
|
|
715
|
+
const NSObject<RCTBridgeModule> *module = instance_;
|
|
734
716
|
NSMethodSignature *methodSignature = [module methodSignatureForSelector:selector];
|
|
717
|
+
if (count > methodSignature.numberOfArguments - 2) {
|
|
718
|
+
throw jsi::JSError(
|
|
719
|
+
runtime,
|
|
720
|
+
name_ + "." + methodName + " called with too many arguments, expected up to " +
|
|
721
|
+
std::to_string(methodSignature.numberOfArguments - 2) + ", got " + std::to_string(count));
|
|
722
|
+
}
|
|
723
|
+
|
|
735
724
|
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:methodSignature];
|
|
736
725
|
[inv setSelector:selector];
|
|
737
726
|
|
|
738
727
|
for (size_t i = 0; i < count; i++) {
|
|
739
728
|
const jsi::Value &arg = args[i];
|
|
740
729
|
const std::string objCArgType = [methodSignature getArgumentTypeAtIndex:i + 2];
|
|
741
|
-
|
|
742
730
|
setInvocationArg(runtime, methodName, objCArgType, arg, i, inv, retainedObjectsForInvocation);
|
|
743
731
|
}
|
|
744
732
|
|
|
@@ -757,19 +745,14 @@ bool ObjCTurboModule::isMethodSync(TurboModuleMethodValueKind returnType)
|
|
|
757
745
|
return true;
|
|
758
746
|
}
|
|
759
747
|
|
|
760
|
-
|
|
761
|
-
return true;
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
return !(returnType == VoidKind || returnType == PromiseKind);
|
|
748
|
+
return returnType != VoidKind && returnType != PromiseKind;
|
|
765
749
|
}
|
|
766
750
|
|
|
767
751
|
ObjCTurboModule::ObjCTurboModule(const InitParams ¶ms)
|
|
768
752
|
: TurboModule(params.moduleName, params.jsInvoker),
|
|
769
753
|
instance_(params.instance),
|
|
770
754
|
nativeMethodCallInvoker_(params.nativeMethodCallInvoker),
|
|
771
|
-
isSyncModule_(params.isSyncModule)
|
|
772
|
-
shouldVoidMethodsExecuteSync_(params.shouldVoidMethodsExecuteSync)
|
|
755
|
+
isSyncModule_(params.isSyncModule)
|
|
773
756
|
{
|
|
774
757
|
}
|
|
775
758
|
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm
CHANGED
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
#import <React/RCTCallInvoker.h>
|
|
22
22
|
#import <React/RCTCallInvokerModule.h>
|
|
23
23
|
#import <React/RCTConstants.h>
|
|
24
|
-
#import <React/RCTCxxModule.h>
|
|
25
24
|
#import <React/RCTDevMenuConfigurationDecorator.h>
|
|
26
25
|
#import <React/RCTInitializing.h>
|
|
27
26
|
#import <React/RCTLog.h>
|
|
@@ -30,9 +29,7 @@
|
|
|
30
29
|
#import <React/RCTUtils.h>
|
|
31
30
|
#import <ReactCommon/CxxTurboModuleUtils.h>
|
|
32
31
|
#import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
|
|
33
|
-
#import <ReactCommon/TurboCxxModule.h>
|
|
34
32
|
#import <ReactCommon/TurboModulePerfLogger.h>
|
|
35
|
-
#import <react/featureflags/ReactNativeFeatureFlags.h>
|
|
36
33
|
|
|
37
34
|
using namespace facebook;
|
|
38
35
|
using namespace facebook::react;
|
|
@@ -387,24 +384,12 @@ typedef struct {
|
|
|
387
384
|
}
|
|
388
385
|
|
|
389
386
|
/**
|
|
390
|
-
* Step
|
|
391
|
-
* wraps CxxModule.
|
|
392
|
-
*/
|
|
393
|
-
Class moduleClass = [module class];
|
|
394
|
-
if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
|
|
395
|
-
// Use TurboCxxModule compat class to wrap the CxxModule instance.
|
|
396
|
-
// This is only for migration convenience, despite less performant.
|
|
397
|
-
auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
|
|
398
|
-
_turboModuleCache.insert({moduleName, turboModule});
|
|
399
|
-
return turboModule;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Step 2e: Return an exact sub-class of ObjC TurboModule
|
|
387
|
+
* Step 3: Return an exact sub-class of ObjC TurboModule
|
|
404
388
|
*
|
|
405
389
|
* Use respondsToSelector: below to infer conformance to @protocol(RCTTurboModule). Using conformsToProtocol: is
|
|
406
390
|
* expensive.
|
|
407
391
|
*/
|
|
392
|
+
Class moduleClass = [module class];
|
|
408
393
|
if ([module respondsToSelector:@selector(getTurboModule:)]) {
|
|
409
394
|
ObjCTurboModule::InitParams params = {
|
|
410
395
|
.moduleName = moduleName,
|
|
@@ -412,7 +397,6 @@ typedef struct {
|
|
|
412
397
|
.jsInvoker = _jsInvoker,
|
|
413
398
|
.nativeMethodCallInvoker = nativeMethodCallInvoker,
|
|
414
399
|
.isSyncModule = methodQueue == RCTJSThread,
|
|
415
|
-
.shouldVoidMethodsExecuteSync = (bool)RCTTurboModuleSyncVoidMethodsEnabled(),
|
|
416
400
|
};
|
|
417
401
|
|
|
418
402
|
auto turboModule = [(id<RCTTurboModule>)module getTurboModule:params];
|
|
@@ -467,15 +451,6 @@ typedef struct {
|
|
|
467
451
|
std::shared_ptr<NativeMethodCallInvoker> nativeMethodCallInvoker =
|
|
468
452
|
std::make_shared<LegacyModuleNativeMethodCallInvoker>(methodQueue, [self _requiresMainQueueSetup:moduleClass]);
|
|
469
453
|
|
|
470
|
-
// If module is a legacy cxx module, return TurboCxxModule
|
|
471
|
-
if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
|
|
472
|
-
// Use TurboCxxModule compat class to wrap the CxxModule instance.
|
|
473
|
-
// This is only for migration convenience, despite less performant.
|
|
474
|
-
auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
|
|
475
|
-
_legacyModuleCache.insert({moduleName, turboModule});
|
|
476
|
-
return turboModule;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
454
|
// Create interop module
|
|
480
455
|
ObjCTurboModule::InitParams params = {
|
|
481
456
|
.moduleName = moduleName,
|
|
@@ -483,7 +458,6 @@ typedef struct {
|
|
|
483
458
|
.jsInvoker = _jsInvoker,
|
|
484
459
|
.nativeMethodCallInvoker = std::move(nativeMethodCallInvoker),
|
|
485
460
|
.isSyncModule = methodQueue == RCTJSThread,
|
|
486
|
-
.shouldVoidMethodsExecuteSync = (bool)RCTTurboModuleSyncVoidMethodsEnabled(),
|
|
487
461
|
};
|
|
488
462
|
|
|
489
463
|
auto turboModule = std::make_shared<ObjCInteropTurboModule>(params);
|
|
@@ -496,7 +470,7 @@ typedef struct {
|
|
|
496
470
|
- (BOOL)_isTurboModule:(const char *)moduleName
|
|
497
471
|
{
|
|
498
472
|
Class moduleClass = [self _getModuleClassFromName:moduleName];
|
|
499
|
-
return moduleClass != nil &&
|
|
473
|
+
return moduleClass != nil && isTurboModuleClass(moduleClass);
|
|
500
474
|
}
|
|
501
475
|
|
|
502
476
|
- (BOOL)_isLegacyModule:(const char *)moduleName
|
|
@@ -507,7 +481,7 @@ typedef struct {
|
|
|
507
481
|
|
|
508
482
|
- (BOOL)_isLegacyModuleClass:(Class)moduleClass
|
|
509
483
|
{
|
|
510
|
-
return moduleClass != nil &&
|
|
484
|
+
return moduleClass != nil && !isTurboModuleClass(moduleClass);
|
|
511
485
|
}
|
|
512
486
|
|
|
513
487
|
- (id<RCTModuleProvider>)_moduleProviderForName:(const char *)moduleName
|
|
@@ -718,7 +692,7 @@ typedef struct {
|
|
|
718
692
|
} else if (_bridgeProxy) {
|
|
719
693
|
[(id)module setValue:_bridgeProxy forKey:@"bridge"];
|
|
720
694
|
}
|
|
721
|
-
} @catch (NSException *
|
|
695
|
+
} @catch (NSException *) {
|
|
722
696
|
RCTLogError(
|
|
723
697
|
@"%@ has no setter or ivar for its bridge, which is not "
|
|
724
698
|
"permitted. You must either @synthesize the bridge property, "
|
|
@@ -766,7 +740,7 @@ typedef struct {
|
|
|
766
740
|
|
|
767
741
|
@try {
|
|
768
742
|
[(id)module setValue:methodQueue forKey:@"methodQueue"];
|
|
769
|
-
} @catch (NSException *
|
|
743
|
+
} @catch (NSException *) {
|
|
770
744
|
RCTLogError(
|
|
771
745
|
@"%@ has no setter or ivar for its methodQueue, which is not "
|
|
772
746
|
"permitted. You must either @synthesize the methodQueue property, "
|
|
@@ -942,8 +916,8 @@ typedef struct {
|
|
|
942
916
|
* aren't any strong references to it in ObjC. Hence, we give
|
|
943
917
|
* __turboModuleProxy a strong reference to TurboModuleManager.
|
|
944
918
|
*/
|
|
945
|
-
auto turboModuleProvider =
|
|
946
|
-
|
|
919
|
+
auto turboModuleProvider =
|
|
920
|
+
[self](jsi::Runtime &runtime, const std::string &name) -> std::shared_ptr<react::TurboModule> {
|
|
947
921
|
auto moduleName = name.c_str();
|
|
948
922
|
|
|
949
923
|
TurboModulePerfLogger::moduleJSRequireBeginningStart(moduleName);
|
|
@@ -957,7 +931,7 @@ typedef struct {
|
|
|
957
931
|
* Additionally, if a TurboModule with the name `name` isn't found, then we
|
|
958
932
|
* trigger an assertion failure.
|
|
959
933
|
*/
|
|
960
|
-
auto turboModule = [self provideTurboModule:moduleName runtime
|
|
934
|
+
auto turboModule = [self provideTurboModule:moduleName runtime:&runtime];
|
|
961
935
|
|
|
962
936
|
if (moduleWasNotInitialized && [self moduleIsInitialized:moduleName]) {
|
|
963
937
|
[self->_bridge.performanceLogger markStopForTag:RCTPLTurboModuleSetup];
|
|
@@ -972,7 +946,8 @@ typedef struct {
|
|
|
972
946
|
};
|
|
973
947
|
|
|
974
948
|
if (RCTTurboModuleInteropEnabled()) {
|
|
975
|
-
auto legacyModuleProvider =
|
|
949
|
+
auto legacyModuleProvider =
|
|
950
|
+
[self](jsi::Runtime & /*runtime*/, const std::string &name) -> std::shared_ptr<react::TurboModule> {
|
|
976
951
|
auto moduleName = name.c_str();
|
|
977
952
|
|
|
978
953
|
TurboModulePerfLogger::moduleJSRequireBeginningStart(moduleName);
|