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
|
@@ -19,6 +19,8 @@ class TurboModule;
|
|
|
19
19
|
|
|
20
20
|
@interface RCTAnimatedModuleProvider : NSObject
|
|
21
21
|
|
|
22
|
+
- (void)invalidate;
|
|
23
|
+
|
|
22
24
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
|
23
25
|
jsInvoker:
|
|
24
26
|
(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker;
|
|
@@ -24,11 +24,38 @@
|
|
|
24
24
|
CADisplayLink *_displayLink;
|
|
25
25
|
#endif
|
|
26
26
|
std::function<void()> _onRender;
|
|
27
|
+
|
|
28
|
+
std::weak_ptr<facebook::react::NativeAnimatedNodesManagerProvider> _nativeAnimatedNodesManagerProvider;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
- (void)dealloc
|
|
32
|
+
{
|
|
33
|
+
[self invalidate];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)invalidate
|
|
37
|
+
{
|
|
38
|
+
if (_displayLink != nil) {
|
|
39
|
+
#if TARGET_OS_OSX
|
|
40
|
+
RCTPlatformDisplayLink *displayLink = _displayLink;
|
|
41
|
+
#else
|
|
42
|
+
CADisplayLink *displayLink = _displayLink;
|
|
43
|
+
#endif
|
|
44
|
+
_displayLink = nil;
|
|
45
|
+
if ([NSThread isMainThread]) {
|
|
46
|
+
[displayLink invalidate];
|
|
47
|
+
} else {
|
|
48
|
+
dispatch_sync(dispatch_get_main_queue(), ^{
|
|
49
|
+
[displayLink invalidate];
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
_onRender = nullptr;
|
|
53
|
+
}
|
|
27
54
|
}
|
|
28
55
|
|
|
29
56
|
- (void)_onDisplayLinkTick
|
|
30
57
|
{
|
|
31
|
-
if (_displayLink != nullptr && _onRender != nullptr) {
|
|
58
|
+
if (_nativeAnimatedNodesManagerProvider.lock() != nullptr && _displayLink != nullptr && _onRender != nullptr) {
|
|
32
59
|
_onRender();
|
|
33
60
|
}
|
|
34
61
|
}
|
|
@@ -69,11 +96,16 @@
|
|
|
69
96
|
const auto stop_render = [weakSelf]() {
|
|
70
97
|
RCTAnimatedModuleProvider *strongSelf = weakSelf;
|
|
71
98
|
if (strongSelf) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
99
|
+
#if TARGET_OS_OSX
|
|
100
|
+
RCTPlatformDisplayLink *displayLink = strongSelf->_displayLink;
|
|
101
|
+
#else
|
|
102
|
+
CADisplayLink *displayLink = strongSelf->_displayLink;
|
|
103
|
+
#endif
|
|
104
|
+
strongSelf->_displayLink = nil;
|
|
105
|
+
if (displayLink != nil) {
|
|
106
|
+
[displayLink invalidate];
|
|
76
107
|
}
|
|
108
|
+
strongSelf->_onRender = nullptr;
|
|
77
109
|
}
|
|
78
110
|
};
|
|
79
111
|
|
|
@@ -85,6 +117,7 @@
|
|
|
85
117
|
stop_render();
|
|
86
118
|
}
|
|
87
119
|
});
|
|
120
|
+
_nativeAnimatedNodesManagerProvider = provider;
|
|
88
121
|
return std::make_shared<facebook::react::AnimatedModule>(std::move(jsInvoker), std::move(provider));
|
|
89
122
|
}
|
|
90
123
|
}
|
|
@@ -32,4 +32,7 @@ function(target_compile_reactnative_options target_name scope)
|
|
|
32
32
|
if(ANDROID)
|
|
33
33
|
target_compile_definitions(${target_name} ${scope} RN_SERIALIZABLE_STATE)
|
|
34
34
|
endif()
|
|
35
|
+
if(HERMES_V1_ENABLED)
|
|
36
|
+
target_compile_definitions(${target_name} ${scope} HERMES_V1_ENABLED=1)
|
|
37
|
+
endif()
|
|
35
38
|
endfunction()
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
#include <memory>
|
|
11
11
|
#include <string>
|
|
12
12
|
|
|
13
|
+
#include <jsi/jsi.h>
|
|
14
|
+
|
|
13
15
|
#ifndef RN_EXPORT
|
|
14
16
|
#ifdef _MSC_VER
|
|
15
17
|
#define RN_EXPORT
|
|
@@ -27,15 +29,17 @@ namespace facebook::react {
|
|
|
27
29
|
// large string needs to be curried into a std::function<>, which must
|
|
28
30
|
// by CopyConstructible.
|
|
29
31
|
|
|
30
|
-
class JSBigString {
|
|
32
|
+
class JSBigString : public facebook::jsi::Buffer {
|
|
31
33
|
public:
|
|
32
34
|
JSBigString() = default;
|
|
33
35
|
|
|
34
|
-
// Not copyable
|
|
36
|
+
// Not copyable or movable
|
|
35
37
|
JSBigString(const JSBigString &) = delete;
|
|
36
38
|
JSBigString &operator=(const JSBigString &) = delete;
|
|
39
|
+
JSBigString(JSBigString &&) = delete;
|
|
40
|
+
JSBigString &operator=(JSBigString &&) = delete;
|
|
37
41
|
|
|
38
|
-
|
|
42
|
+
~JSBigString() override = default;
|
|
39
43
|
|
|
40
44
|
virtual bool isAscii() const = 0;
|
|
41
45
|
|
|
@@ -43,7 +47,12 @@ class JSBigString {
|
|
|
43
47
|
virtual const char *c_str() const = 0;
|
|
44
48
|
|
|
45
49
|
// Length of the c_str without the NULL byte.
|
|
46
|
-
|
|
50
|
+
size_t size() const override = 0;
|
|
51
|
+
|
|
52
|
+
const uint8_t *data() const final
|
|
53
|
+
{
|
|
54
|
+
return reinterpret_cast<const uint8_t *>(c_str());
|
|
55
|
+
}
|
|
47
56
|
};
|
|
48
57
|
|
|
49
58
|
// Concrete JSBigString implementation which holds a std::string
|
|
@@ -105,7 +114,7 @@ class RN_EXPORT JSBigBufferString : public JSBigString {
|
|
|
105
114
|
return m_size;
|
|
106
115
|
}
|
|
107
116
|
|
|
108
|
-
char *
|
|
117
|
+
char *mutableData()
|
|
109
118
|
{
|
|
110
119
|
return m_data;
|
|
111
120
|
}
|
|
@@ -60,8 +60,8 @@ void JSIndexedRAMBundle::init() {
|
|
|
60
60
|
"header size must exactly match the input file format");
|
|
61
61
|
|
|
62
62
|
readBundle(reinterpret_cast<char*>(header), sizeof(header));
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
size_t numTableEntries = folly::Endian::little(header[1]);
|
|
64
|
+
std::streamsize startupCodeSize = folly::Endian::little(header[2]);
|
|
65
65
|
|
|
66
66
|
// allocate memory for meta data and lookup table.
|
|
67
67
|
m_table = ModuleTable(numTableEntries);
|
|
@@ -73,7 +73,7 @@ void JSIndexedRAMBundle::init() {
|
|
|
73
73
|
// read the startup code
|
|
74
74
|
m_startupCode = std::make_unique<JSBigBufferString>(startupCodeSize - 1);
|
|
75
75
|
|
|
76
|
-
readBundle(m_startupCode->
|
|
76
|
+
readBundle(m_startupCode->mutableData(), startupCodeSize - 1);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
JSIndexedRAMBundle::Module JSIndexedRAMBundle::getModule(
|
|
@@ -109,8 +109,7 @@ std::string JSIndexedRAMBundle::getModuleCode(const uint32_t id) const {
|
|
|
109
109
|
return ret;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
void JSIndexedRAMBundle::readBundle(char* buffer,
|
|
113
|
-
const {
|
|
112
|
+
void JSIndexedRAMBundle::readBundle(char* buffer, std::streamsize bytes) const {
|
|
114
113
|
if (!m_bundle->read(buffer, bytes)) {
|
|
115
114
|
if ((m_bundle->rdstate() & std::ios::eofbit) != 0) {
|
|
116
115
|
throw std::ios_base::failure("Unexpected end of RAM Bundle file");
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
#include <string_view>
|
|
14
14
|
|
|
15
15
|
#define REACT_NATIVE_VERSION_MAJOR 0
|
|
16
|
-
#define REACT_NATIVE_VERSION_MINOR
|
|
17
|
-
#define REACT_NATIVE_VERSION_PATCH
|
|
16
|
+
#define REACT_NATIVE_VERSION_MINOR 84
|
|
17
|
+
#define REACT_NATIVE_VERSION_PATCH 0
|
|
18
18
|
|
|
19
19
|
namespace facebook::react {
|
|
20
20
|
|
|
21
21
|
constexpr struct {
|
|
22
22
|
int32_t Major = 0;
|
|
23
|
-
int32_t Minor =
|
|
24
|
-
int32_t Patch =
|
|
23
|
+
int32_t Minor = 84;
|
|
24
|
+
int32_t Patch = 0;
|
|
25
25
|
std::string_view Prerelease = "0";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
@@ -14,7 +14,7 @@ void DevToolsRuntimeSettings::setReloadAndProfileConfig(
|
|
|
14
14
|
if (config.shouldReloadAndProfile.has_value()) {
|
|
15
15
|
_config.shouldReloadAndProfile = config.shouldReloadAndProfile.value();
|
|
16
16
|
}
|
|
17
|
-
if (config.
|
|
17
|
+
if (config.recordChangeDescriptions.has_value()) {
|
|
18
18
|
_config.recordChangeDescriptions = config.recordChangeDescriptions.value();
|
|
19
19
|
}
|
|
20
20
|
};
|
|
@@ -47,6 +47,7 @@ Pod::Spec.new do |s|
|
|
|
47
47
|
s.dependency "React-jsi"
|
|
48
48
|
add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
|
|
49
49
|
add_dependency(s, "React-oscompat")
|
|
50
|
+
add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
|
|
50
51
|
|
|
51
52
|
add_rn_third_party_dependencies(s)
|
|
52
53
|
add_rncore_dependency(s)
|
|
@@ -32,10 +32,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
|
|
|
32
32
|
PRIVATE
|
|
33
33
|
-DHERMES_ENABLE_DEBUGGER=1
|
|
34
34
|
)
|
|
35
|
-
|
|
36
|
-
if (HERMES_V1_ENABLED)
|
|
37
|
-
target_compile_options(hermes_executor_common PRIVATE -DHERMES_V1_ENABLED=1)
|
|
38
|
-
endif()
|
|
39
35
|
else()
|
|
40
36
|
target_compile_options(
|
|
41
37
|
hermes_executor_common
|
|
@@ -23,10 +23,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
|
|
|
23
23
|
PRIVATE
|
|
24
24
|
-DHERMES_ENABLE_DEBUGGER=1
|
|
25
25
|
)
|
|
26
|
-
|
|
27
|
-
if (HERMES_V1_ENABLED)
|
|
28
|
-
target_compile_options(hermes_inspector_modern PRIVATE -DHERMES_V1_ENABLED=1)
|
|
29
|
-
endif()
|
|
30
26
|
endif()
|
|
31
27
|
|
|
32
28
|
target_include_directories(hermes_inspector_modern PUBLIC ${REACT_COMMON_DIR})
|
|
@@ -231,8 +231,9 @@ inline char hexDigit(unsigned x) {
|
|
|
231
231
|
// ASCII characters
|
|
232
232
|
bool isAllASCII(const char16_t* utf16, size_t length) {
|
|
233
233
|
for (const char16_t* e = utf16 + length; utf16 != e; ++utf16) {
|
|
234
|
-
if (*utf16 > 0x7F)
|
|
234
|
+
if (*utf16 > 0x7F) {
|
|
235
235
|
return false;
|
|
236
|
+
}
|
|
236
237
|
}
|
|
237
238
|
return true;
|
|
238
239
|
}
|
|
@@ -284,6 +285,10 @@ HostObject::~HostObject() {}
|
|
|
284
285
|
|
|
285
286
|
NativeState::~NativeState() {}
|
|
286
287
|
|
|
288
|
+
#ifdef JSI_UNSTABLE
|
|
289
|
+
Serialized::~Serialized() {}
|
|
290
|
+
#endif
|
|
291
|
+
|
|
287
292
|
Runtime::~Runtime() {}
|
|
288
293
|
|
|
289
294
|
ICast* Runtime::castInterface(const UUID& /*interfaceUUID*/) {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
#include <cassert>
|
|
11
|
+
#include <cstdint>
|
|
11
12
|
#include <cstring>
|
|
12
13
|
#include <exception>
|
|
13
14
|
#include <functional>
|
|
@@ -252,6 +253,78 @@ class JSI_EXPORT NativeState {
|
|
|
252
253
|
virtual ~NativeState();
|
|
253
254
|
};
|
|
254
255
|
|
|
256
|
+
// JSI_UNSTABLE gates features that will be released with a Hermes version in
|
|
257
|
+
// the future. Until released, these features may be subject to change. After
|
|
258
|
+
// release, these features will be moved out of JSI_UNSTABLE and become frozen.
|
|
259
|
+
#ifdef JSI_UNSTABLE
|
|
260
|
+
/// Opaque class that is used to store serialized object from a runtime. The
|
|
261
|
+
/// lifetime of this object is orthogonal to the original runtime object, and
|
|
262
|
+
/// may outlive the original object.
|
|
263
|
+
class JSI_EXPORT Serialized {
|
|
264
|
+
public:
|
|
265
|
+
/// Uses \p secretAddr to validate if the Serialized data is supported. If so,
|
|
266
|
+
/// return the pointer to the underlying serialized data. Otherwise, return a
|
|
267
|
+
/// nullptr. This should be used by the runtime to deserialize the data.
|
|
268
|
+
virtual void* getPrivate(const void* secretAddr) = 0;
|
|
269
|
+
virtual ~Serialized();
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
/// Provides a set of APIs that allows copying objects between different
|
|
273
|
+
/// runtime instances. The runtimes instances must be of the same type. As an
|
|
274
|
+
/// example, a serialized object from Hermes runtime may only be deserialized by
|
|
275
|
+
/// another Hermes runtime.
|
|
276
|
+
class JSI_EXPORT ISerialization : public ICast {
|
|
277
|
+
public:
|
|
278
|
+
static constexpr jsi::UUID uuid{
|
|
279
|
+
0xd40fe0ec,
|
|
280
|
+
0xa47c,
|
|
281
|
+
0x42c9,
|
|
282
|
+
0x8c09,
|
|
283
|
+
0x661aeab832d8};
|
|
284
|
+
|
|
285
|
+
/// Serializes the given Value \p value using the structured clone algorithm.
|
|
286
|
+
/// It returns a shared pointer of an opaque Serialized object that can be
|
|
287
|
+
/// deserialized multiple times. The lifetime of the Serialized object is not
|
|
288
|
+
/// tied to the lifetime of the original object.
|
|
289
|
+
virtual std::shared_ptr<Serialized> serialize(Value& value) = 0;
|
|
290
|
+
|
|
291
|
+
/// Given a Serialized object provided by \p serialized, deserialize it using
|
|
292
|
+
/// the structured clone algorithm into a JS value in the current runtime.
|
|
293
|
+
/// Returns the deserialized JS value.
|
|
294
|
+
virtual Value deserialize(const std::shared_ptr<Serialized>& serialized) = 0;
|
|
295
|
+
|
|
296
|
+
/// Serializes the given jsi::Value \p value using the structured clone
|
|
297
|
+
/// algorithm. \p transferList must be a JS Array. Given the length property
|
|
298
|
+
/// of \p transferList, this API will transfer everything at index [0, length
|
|
299
|
+
/// - 1] to the serialized object. The transferred values will no longer be
|
|
300
|
+
/// usable in the original runtime. It returns a unique pointer of an opaque
|
|
301
|
+
/// Serialized object that can be deserialized once only by
|
|
302
|
+
/// deserializeWithTransfer. The lifetime of the Serialized object is not tied
|
|
303
|
+
/// to the lifetime of the original object.
|
|
304
|
+
virtual std::unique_ptr<Serialized> serializeWithTransfer(
|
|
305
|
+
Value& value,
|
|
306
|
+
const Array& transferList) = 0;
|
|
307
|
+
|
|
308
|
+
/// Using the structure clone algorithm, deserialize the object provided by \p
|
|
309
|
+
/// serialized into a JS value in the current runtime. \p serialized must be
|
|
310
|
+
/// created by serializeWithTransfer. If the current runtime does not support
|
|
311
|
+
/// the serialization scheme in \p serialized, then this method will throw and
|
|
312
|
+
/// \p serialized will remain unmodified. Otherwise, this will consume the
|
|
313
|
+
/// serialized data entirely and make the serialized objects in the current
|
|
314
|
+
/// runtime. Any transferred values in the serialized object will be owned by
|
|
315
|
+
/// the current runtime.
|
|
316
|
+
// This method returns an Array containing the deserialized values, where the
|
|
317
|
+
// first element is the value passed into serializeWithTransfer,
|
|
318
|
+
/// followed by all transferred values.
|
|
319
|
+
virtual Array deserializeWithTransfer(
|
|
320
|
+
std::unique_ptr<Serialized>& serialized) = 0;
|
|
321
|
+
|
|
322
|
+
protected:
|
|
323
|
+
~ISerialization() = default;
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
#endif // JSI_UNSTABLE
|
|
327
|
+
|
|
255
328
|
/// Represents a JS runtime. Movable, but not copyable. Note that
|
|
256
329
|
/// this object may not be thread-aware, but cannot be used safely from
|
|
257
330
|
/// multiple threads at once. The application is responsible for
|
|
@@ -1455,7 +1455,7 @@ TEST_P(JSITest, MicrotasksTest) {
|
|
|
1455
1455
|
EXPECT_EQ(
|
|
1456
1456
|
rt.global().getProperty(rt, "globalValue").asString(rt).utf8(rt),
|
|
1457
1457
|
"hello world");
|
|
1458
|
-
} catch (const JSINativeException&
|
|
1458
|
+
} catch (const JSINativeException&) {
|
|
1459
1459
|
// queueMicrotask() is unimplemented by some runtimes, ignore such failures.
|
|
1460
1460
|
}
|
|
1461
1461
|
}
|
|
@@ -1550,7 +1550,7 @@ TEST_P(JSITest, ArrayBufferSizeTest) {
|
|
|
1550
1550
|
try {
|
|
1551
1551
|
// Ensure we can safely write some data to the buffer.
|
|
1552
1552
|
memset(ab.data(rt), 0xab, 10);
|
|
1553
|
-
} catch (const JSINativeException&
|
|
1553
|
+
} catch (const JSINativeException&) {
|
|
1554
1554
|
// data() is unimplemented by some runtimes, ignore such failures.
|
|
1555
1555
|
}
|
|
1556
1556
|
|
|
@@ -30,7 +30,9 @@ Pod::Spec.new do |s|
|
|
|
30
30
|
s.header_dir = "jsireact"
|
|
31
31
|
|
|
32
32
|
s.dependency "React-cxxreact"
|
|
33
|
+
s.dependency "React-jserrorhandler"
|
|
33
34
|
s.dependency "React-jsi"
|
|
35
|
+
s.dependency "React-jsitooling"
|
|
34
36
|
s.dependency "React-perflogger"
|
|
35
37
|
add_dependency(s, "React-debug")
|
|
36
38
|
add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
|
|
@@ -38,6 +40,7 @@ Pod::Spec.new do |s|
|
|
|
38
40
|
add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
|
|
39
41
|
add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
|
|
40
42
|
add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
|
|
43
|
+
add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
|
|
41
44
|
if use_hermes()
|
|
42
45
|
s.dependency 'hermes-engine'
|
|
43
46
|
end
|
|
@@ -168,8 +168,7 @@ void JSIExecutor::loadBundle(
|
|
|
168
168
|
ReactMarker::logTaggedMarker(
|
|
169
169
|
ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
|
|
170
170
|
}
|
|
171
|
-
runtime_->evaluateJavaScript(
|
|
172
|
-
std::make_unique<BigStringBuffer>(std::move(script)), sourceURL);
|
|
171
|
+
runtime_->evaluateJavaScript(std::move(script), sourceURL);
|
|
173
172
|
flush();
|
|
174
173
|
if (hasLogger) {
|
|
175
174
|
ReactMarker::logTaggedMarker(
|
|
@@ -212,7 +211,7 @@ void JSIExecutor::registerBundle(
|
|
|
212
211
|
"Empty bundle registered with ID " + tag + " from " + bundlePath);
|
|
213
212
|
}
|
|
214
213
|
runtime_->evaluateJavaScript(
|
|
215
|
-
std::
|
|
214
|
+
std::move(script),
|
|
216
215
|
JSExecutor::getSyntheticBundlePath(bundleId, bundlePath));
|
|
217
216
|
}
|
|
218
217
|
ReactMarker::logTaggedMarker(
|
|
@@ -577,44 +576,4 @@ void JSIExecutor::flush() {}
|
|
|
577
576
|
|
|
578
577
|
#endif // RCT_REMOVE_LEGACY_ARCH
|
|
579
578
|
|
|
580
|
-
void bindNativeLogger(Runtime& runtime, Logger logger) {
|
|
581
|
-
runtime.global().setProperty(
|
|
582
|
-
runtime,
|
|
583
|
-
"nativeLoggingHook",
|
|
584
|
-
Function::createFromHostFunction(
|
|
585
|
-
runtime,
|
|
586
|
-
PropNameID::forAscii(runtime, "nativeLoggingHook"),
|
|
587
|
-
2,
|
|
588
|
-
[logger = std::move(logger)](
|
|
589
|
-
jsi::Runtime& runtime,
|
|
590
|
-
const jsi::Value&,
|
|
591
|
-
const jsi::Value* args,
|
|
592
|
-
size_t count) {
|
|
593
|
-
if (count != 2) {
|
|
594
|
-
throw std::invalid_argument(
|
|
595
|
-
"nativeLoggingHook takes 2 arguments");
|
|
596
|
-
}
|
|
597
|
-
logger(
|
|
598
|
-
args[0].asString(runtime).utf8(runtime),
|
|
599
|
-
static_cast<unsigned int>(args[1].asNumber()));
|
|
600
|
-
return Value::undefined();
|
|
601
|
-
}));
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
void bindNativePerformanceNow(Runtime& runtime) {
|
|
605
|
-
runtime.global().setProperty(
|
|
606
|
-
runtime,
|
|
607
|
-
"nativePerformanceNow",
|
|
608
|
-
Function::createFromHostFunction(
|
|
609
|
-
runtime,
|
|
610
|
-
PropNameID::forAscii(runtime, "nativePerformanceNow"),
|
|
611
|
-
0,
|
|
612
|
-
[](jsi::Runtime& runtime,
|
|
613
|
-
const jsi::Value&,
|
|
614
|
-
const jsi::Value* args,
|
|
615
|
-
size_t /*count*/) {
|
|
616
|
-
return HighResTimeStamp::now().toDOMHighResTimeStamp();
|
|
617
|
-
}));
|
|
618
|
-
}
|
|
619
|
-
|
|
620
579
|
} // namespace facebook::react
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
#include <cxxreact/RAMBundleRegistry.h>
|
|
13
13
|
#include <jsi/jsi.h>
|
|
14
14
|
#include <jsireact/JSINativeModules.h>
|
|
15
|
+
#include <react/runtime/JSRuntimeBindings.h>
|
|
15
16
|
#include <functional>
|
|
16
17
|
#include <mutex>
|
|
17
18
|
#include <optional>
|
|
@@ -49,7 +50,7 @@ namespace facebook::react {
|
|
|
49
50
|
using JSIScopedTimeoutInvoker =
|
|
50
51
|
std::function<void(const std::function<void()> &invokee, std::function<std::string()> errorMessageProducer)>;
|
|
51
52
|
|
|
52
|
-
class BigStringBuffer : public jsi::Buffer {
|
|
53
|
+
class [[deprecated("JSBigString implements jsi::Buffer directly")]] BigStringBuffer : public jsi::Buffer {
|
|
53
54
|
public:
|
|
54
55
|
BigStringBuffer(std::unique_ptr<const JSBigString> script) : script_(std::move(script)) {}
|
|
55
56
|
|
|
@@ -60,7 +61,7 @@ class BigStringBuffer : public jsi::Buffer {
|
|
|
60
61
|
|
|
61
62
|
const uint8_t *data() const override
|
|
62
63
|
{
|
|
63
|
-
return
|
|
64
|
+
return script_->data();
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
private:
|
|
@@ -127,10 +128,4 @@ class [[deprecated("This API will be removed along with the legacy architecture.
|
|
|
127
128
|
#endif // RCT_REMOVE_LEGACY_ARCH
|
|
128
129
|
};
|
|
129
130
|
|
|
130
|
-
using Logger = std::function<void(const std::string &message, unsigned int logLevel)>;
|
|
131
|
-
void bindNativeLogger(jsi::Runtime &runtime, Logger logger);
|
|
132
|
-
|
|
133
|
-
void bindNativePerformanceNow(jsi::Runtime &runtime);
|
|
134
|
-
|
|
135
|
-
double performanceNow();
|
|
136
131
|
} // namespace facebook::react
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "ConsoleTask.h"
|
|
9
|
+
#include "ConsoleTaskOrchestrator.h"
|
|
10
|
+
|
|
11
|
+
namespace facebook::react::jsinspector_modern {
|
|
12
|
+
|
|
13
|
+
ConsoleTask::ConsoleTask(std::shared_ptr<ConsoleTaskContext> taskContext)
|
|
14
|
+
: taskContext_(std::move(taskContext)),
|
|
15
|
+
orchestrator_(ConsoleTaskOrchestrator::getInstance()) {
|
|
16
|
+
if (taskContext_) {
|
|
17
|
+
orchestrator_.startTask(taskContext_->id());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ConsoleTask::~ConsoleTask() {
|
|
22
|
+
if (taskContext_) {
|
|
23
|
+
orchestrator_.finishTask(taskContext_->id());
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
} // namespace facebook::react::jsinspector_modern
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <memory>
|
|
11
|
+
|
|
12
|
+
namespace facebook::react::jsinspector_modern {
|
|
13
|
+
|
|
14
|
+
class ConsoleTaskContext;
|
|
15
|
+
class RuntimeTargetDelegate;
|
|
16
|
+
class ConsoleTaskOrchestrator;
|
|
17
|
+
|
|
18
|
+
class ConsoleTask {
|
|
19
|
+
public:
|
|
20
|
+
/**
|
|
21
|
+
* \param runtimeTargetDelegate The delegate to the corresponding runtime.
|
|
22
|
+
* \param taskContext The context that tracks the task.
|
|
23
|
+
*/
|
|
24
|
+
explicit ConsoleTask(std::shared_ptr<ConsoleTaskContext> taskContext);
|
|
25
|
+
~ConsoleTask();
|
|
26
|
+
|
|
27
|
+
ConsoleTask(const ConsoleTask &) = default;
|
|
28
|
+
ConsoleTask &operator=(const ConsoleTask &) = delete;
|
|
29
|
+
|
|
30
|
+
ConsoleTask(ConsoleTask &&) = default;
|
|
31
|
+
ConsoleTask &operator=(ConsoleTask &&) = delete;
|
|
32
|
+
|
|
33
|
+
private:
|
|
34
|
+
std::shared_ptr<ConsoleTaskContext> taskContext_;
|
|
35
|
+
ConsoleTaskOrchestrator &orchestrator_;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
} // namespace facebook::react::jsinspector_modern
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "ConsoleTaskContext.h"
|
|
9
|
+
#include "ConsoleTaskOrchestrator.h"
|
|
10
|
+
#include "RuntimeTarget.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react::jsinspector_modern {
|
|
13
|
+
|
|
14
|
+
ConsoleTaskContext::ConsoleTaskContext(
|
|
15
|
+
jsi::Runtime& runtime,
|
|
16
|
+
RuntimeTargetDelegate& runtimeTargetDelegate,
|
|
17
|
+
std::string name)
|
|
18
|
+
: runtimeTargetDelegate_(runtimeTargetDelegate),
|
|
19
|
+
name_(std::move(name)),
|
|
20
|
+
orchestrator_(ConsoleTaskOrchestrator::getInstance()) {
|
|
21
|
+
stackTrace_ = runtimeTargetDelegate_.captureStackTrace(runtime);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
ConsoleTaskContext::~ConsoleTaskContext() {
|
|
25
|
+
orchestrator_.cancelTask(id());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
ConsoleTaskId ConsoleTaskContext::id() const {
|
|
29
|
+
return ConsoleTaskId{(void*)this};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
std::optional<folly::dynamic> ConsoleTaskContext::getSerializedStackTrace()
|
|
33
|
+
const {
|
|
34
|
+
auto maybeValue = runtimeTargetDelegate_.serializeStackTrace(*stackTrace_);
|
|
35
|
+
if (maybeValue) {
|
|
36
|
+
maybeValue.value()["description"] = name_;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return maybeValue;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
void ConsoleTaskContext::schedule() {
|
|
43
|
+
orchestrator_.scheduleTask(id(), weak_from_this());
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
} // namespace facebook::react::jsinspector_modern
|