react-native-tvos 0.85.2-0 → 0.86.0-0rc2
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/AnimatedImplementation.js +6 -6
- package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
- package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/RCTBlobCollector.h +1 -1
- package/Libraries/Blob/RCTBlobCollector.mm +14 -26
- package/Libraries/Blob/RCTBlobManager.mm +11 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
- package/Libraries/Components/Keyboard/Keyboard.js +4 -2
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
- package/Libraries/Components/Pressable/Pressable.js +2 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
- package/Libraries/Components/ScrollView/ScrollView.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
- package/Libraries/Components/TextInput/TextInput.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
- package/Libraries/Components/Touchable/PooledClass.js +4 -4
- package/Libraries/Components/Touchable/Touchable.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
- package/Libraries/Components/View/View.js +96 -91
- package/Libraries/Components/View/ViewPropTypes.js +3 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
- package/Libraries/Core/ExceptionsManager.js +2 -8
- package/Libraries/Core/InitializeCore.js +0 -13
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +15 -35
- package/Libraries/Image/RCTImageLoader.mm +4 -2
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
- package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
- package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
- package/Libraries/Modal/Modal.js +12 -7
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
- package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.mm +1 -2
- package/Libraries/Network/XMLHttpRequest.js +29 -12
- package/Libraries/Pressability/Pressability.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -3
- package/Libraries/ReactNative/AppContainer-prod.js +1 -2
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
- package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
- package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
- package/Libraries/ReactNative/RendererImplementation.js +26 -143
- package/Libraries/ReactNative/RendererProxy.js +4 -15
- package/Libraries/ReactNative/renderApplication.js +33 -59
- package/Libraries/ReactNative/requireNativeComponent.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
- package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
- package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
- package/Libraries/StyleSheet/processBoxShadow.js +9 -47
- package/Libraries/StyleSheet/processFilter.js +16 -8
- package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
- package/Libraries/Text/Text.js +4 -4
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
- package/Libraries/Text/TextNativeComponent.js +4 -4
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
- package/Libraries/Types/CodegenTypes.js +7 -4
- package/Libraries/Types/ReactDevToolsTypes.js +1 -1
- package/Libraries/Utilities/BackHandler.android.js +11 -3
- package/Libraries/Utilities/BackHandler.d.ts +11 -1
- package/Libraries/Utilities/BackHandler.ios.js +3 -1
- package/Libraries/Utilities/BackHandler.js.flow +6 -1
- package/Libraries/Utilities/HMRClient.js +28 -1
- package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +27 -13
- package/React/Base/RCTBundleURLProvider.h +19 -1
- package/React/Base/RCTBundleURLProvider.mm +82 -0
- package/React/Base/RCTDefines.h +1 -1
- package/React/Base/RCTMultipartDataTask.h +1 -1
- package/React/Base/RCTMultipartDataTask.m +0 -3
- package/React/Base/RCTRootView.h +4 -0
- package/React/Base/RCTRootViewDelegate.h +5 -2
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.h +3 -0
- package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
- package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
- package/React/Base/Surface/RCTSurfaceView.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
- package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
- package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
- package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
- package/React/CoreModules/RCTRedBox+Internal.h +42 -0
- package/React/CoreModules/RCTRedBox.mm +30 -471
- package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
- package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
- package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
- package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
- package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
- package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
- package/React/CoreModules/RCTRedBoxController.mm +447 -0
- package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
- package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
- package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
- package/React/Fabric/RCTConversions.h +14 -0
- package/React/Fabric/RCTScheduler.mm +18 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -1
- package/React/Profiler/RCTProfile.h +5 -0
- package/React/Profiler/RCTProfile.m +2 -1
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
- package/React/Views/RCTLayout.m +4 -3
- package/React/Views/ScrollView/RCTScrollView.h +6 -2
- package/ReactAndroid/api/ReactAndroid.api +37 -27
- package/ReactAndroid/build.gradle.kts +28 -21
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +17 -0
- package/ReactAndroid/publish.gradle +20 -46
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
- package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +13 -0
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
- package/ReactCommon/jsi/jsi/decorator.h +93 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
- package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
- package/ReactCommon/jsi/jsi/jsi.h +553 -224
- package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
- package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
- package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
- package/ReactCommon/logger/react_native_log.cpp +0 -1
- package/ReactCommon/react/bridging/Array.h +1 -1
- package/ReactCommon/react/debug/CMakeLists.txt +2 -1
- package/ReactCommon/react/debug/React-debug.podspec +7 -1
- package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
- package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
- package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
- package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
- package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
- package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
- package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
- package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
- package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
- package/ReactCommon/react/networking/NetworkReporter.h +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
- package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
- package/ReactCommon/react/renderer/animations/utils.h +12 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
- package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
- package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
- package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +53 -5
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
- package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
- package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
- package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/Props.cpp +20 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
- package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
- package/ReactCommon/react/renderer/core/conversions.h +4 -0
- package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
- package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
- package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
- package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
- package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
- package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
- package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
- package/ReactCommon/react/timing/React-timing.podspec +2 -0
- package/ReactCommon/react/timing/primitives.h +33 -1
- package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
- package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
- package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
- package/ReactCommon/yoga/yoga/YGNode.h +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
- package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
- package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
- package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
- package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
- package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
- package/ReactCommon/yoga/yoga/event/event.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/ReactCommon/yoga/yoga/node/Node.h +4 -4
- package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
- package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
- package/ReactCommon/yoga/yoga/style/Style.h +261 -71
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
- package/cli.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/bom.js.flow +95 -3
- package/flow/dom.js.flow +89 -89
- package/gradle/libs.versions.toml +3 -1
- package/index.js +30 -3
- package/index.js.flow +23 -1
- package/package.json +13 -13
- package/react-native.config.js +3 -3
- package/scripts/cocoapods/rncore.rb +65 -11
- package/scripts/cocoapods/rndependencies.rb +65 -11
- package/scripts/cocoapods/utils.rb +53 -0
- package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
- package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
- package/scripts/codegen/generate-specs-cli-executor.js +1 -1
- package/scripts/generate-codegen-artifacts.js +20 -2
- package/scripts/generate-provider-cli.js +1 -1
- package/scripts/react_native_pods.rb +26 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +91 -14
- package/scripts/xcode/with-environment.sh +7 -1
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +92 -5
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/animated/createAnimatedPropsHook.js +2 -2
- package/src/private/components/virtualcollection/FlingConstants.js +21 -0
- package/src/private/components/virtualcollection/Virtual.js +62 -0
- package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
- package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
- package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
- package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
- package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
- package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
- package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
- package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
- package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
- package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
- package/src/private/renderer/events/ReactNativeResponder.js +687 -0
- package/src/private/renderer/events/ResponderEvent.js +40 -0
- package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
- package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
- package/src/private/setup/setUpDOM.js +20 -0
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/utilities/toExtendedError.js +1 -1
- package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
- package/src/private/webapis/dom/events/Event.js +10 -1
- package/src/private/webapis/dom/events/EventTarget.js +60 -18
- package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +4 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
- package/Libraries/Renderer/shims/ReactNative.js +0 -27
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
- package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
- package/Libraries/Utilities/createPerformanceLogger.js +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
- package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
|
@@ -0,0 +1,173 @@
|
|
|
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 <gtest/gtest.h>
|
|
9
|
+
#include <react/debug/redbox/JscSafeUrl.h>
|
|
10
|
+
|
|
11
|
+
using namespace facebook::react::unstable_redbox;
|
|
12
|
+
|
|
13
|
+
// --- toNormalUrl ---
|
|
14
|
+
|
|
15
|
+
// Rewrites urls treating //& in paths as ?
|
|
16
|
+
TEST(JscSafeUrlTest, ToNormalUrl_RewritesMarkerInAbsolutePath) {
|
|
17
|
+
EXPECT_EQ(
|
|
18
|
+
toNormalUrl("/path1/path2//&foo=bar?bar=baz#frag?"),
|
|
19
|
+
"/path1/path2?foo=bar&bar=baz#frag?");
|
|
20
|
+
// Idempotent
|
|
21
|
+
EXPECT_EQ(
|
|
22
|
+
toNormalUrl("/path1/path2?foo=bar&bar=baz#frag?"),
|
|
23
|
+
"/path1/path2?foo=bar&bar=baz#frag?");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
TEST(JscSafeUrlTest, ToNormalUrl_RewritesMarkerInRelativePathWithEncoding) {
|
|
27
|
+
EXPECT_EQ(
|
|
28
|
+
toNormalUrl("relative/path/with%3B%26/encoded//&foo=bar?bar=baz#frag?"),
|
|
29
|
+
"relative/path/with%3B%26/encoded?foo=bar&bar=baz#frag?");
|
|
30
|
+
EXPECT_EQ(
|
|
31
|
+
toNormalUrl("relative/path/with%3B%26/encoded?foo=bar&bar=baz#frag?"),
|
|
32
|
+
"relative/path/with%3B%26/encoded?foo=bar&bar=baz#frag?");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
TEST(JscSafeUrlTest, ToNormalUrl_RewritesMarkerInFullUrl) {
|
|
36
|
+
EXPECT_EQ(
|
|
37
|
+
toNormalUrl(
|
|
38
|
+
"https://user:password@mydomain.com:8080/path1/path2//&foo=bar?bar=baz#frag?"),
|
|
39
|
+
"https://user:password@mydomain.com:8080/path1/path2?foo=bar&bar=baz#frag?");
|
|
40
|
+
EXPECT_EQ(
|
|
41
|
+
toNormalUrl(
|
|
42
|
+
"https://user:password@mydomain.com:8080/path1/path2?foo=bar&bar=baz#frag?"),
|
|
43
|
+
"https://user:password@mydomain.com:8080/path1/path2?foo=bar&bar=baz#frag?");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
TEST(JscSafeUrlTest, ToNormalUrl_RewritesMarkerWithoutFragment) {
|
|
47
|
+
EXPECT_EQ(
|
|
48
|
+
toNormalUrl("http://127.0.0.1/path1/path2//&foo=bar&bar=baz"),
|
|
49
|
+
"http://127.0.0.1/path1/path2?foo=bar&bar=baz");
|
|
50
|
+
EXPECT_EQ(
|
|
51
|
+
toNormalUrl("http://127.0.0.1/path1/path2?foo=bar&bar=baz"),
|
|
52
|
+
"http://127.0.0.1/path1/path2?foo=bar&bar=baz");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Returns other strings exactly as given
|
|
56
|
+
TEST(JscSafeUrlTest, ToNormalUrl_PassthroughForQueryWithMarkerAfter) {
|
|
57
|
+
auto url = "http://user:password/@mydomain.com/foo?bar=zoo?baz=quux//&";
|
|
58
|
+
EXPECT_EQ(toNormalUrl(url), url);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
TEST(JscSafeUrlTest, ToNormalUrl_PassthroughForSimpleQuery) {
|
|
62
|
+
auto url = "/foo?bar=zoo?baz=quux";
|
|
63
|
+
EXPECT_EQ(toNormalUrl(url), url);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
TEST(JscSafeUrlTest, ToNormalUrl_PassthroughForOpaqueUri) {
|
|
67
|
+
auto url = "proto:arbitrary_bad_url";
|
|
68
|
+
EXPECT_EQ(toNormalUrl(url), url);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
TEST(JscSafeUrlTest, ToNormalUrl_PassthroughForStar) {
|
|
72
|
+
EXPECT_EQ(toNormalUrl("*"), "*");
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
TEST(JscSafeUrlTest, ToNormalUrl_PassthroughForRelativePath) {
|
|
76
|
+
auto url = "relative/path";
|
|
77
|
+
EXPECT_EQ(toNormalUrl(url), url);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// --- toJscSafeUrl ---
|
|
81
|
+
|
|
82
|
+
// Replaces the first ? with a JSC-friendly delimiter, url-encodes subsequent
|
|
83
|
+
// ?, and is idempotent
|
|
84
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_FullUrlWithEncodedQuestionMark) {
|
|
85
|
+
auto input =
|
|
86
|
+
"https://user:password@mydomain.com:8080/path1/path2?foo=bar&bar=question?#frag?";
|
|
87
|
+
auto output =
|
|
88
|
+
"https://user:password@mydomain.com:8080/path1/path2//&foo=bar&bar=question%3F#frag?";
|
|
89
|
+
EXPECT_EQ(toJscSafeUrl(input), output);
|
|
90
|
+
EXPECT_EQ(toJscSafeUrl(output), output);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_SimpleUrl) {
|
|
94
|
+
auto input = "http://127.0.0.1/path1/path2?foo=bar";
|
|
95
|
+
auto output = "http://127.0.0.1/path1/path2//&foo=bar";
|
|
96
|
+
EXPECT_EQ(toJscSafeUrl(input), output);
|
|
97
|
+
EXPECT_EQ(toJscSafeUrl(output), output);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_PassthroughForStar) {
|
|
101
|
+
EXPECT_EQ(toJscSafeUrl("*"), "*");
|
|
102
|
+
EXPECT_EQ(toJscSafeUrl("*"), "*");
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_PassthroughForAbsolutePath) {
|
|
106
|
+
EXPECT_EQ(toJscSafeUrl("/absolute/path"), "/absolute/path");
|
|
107
|
+
EXPECT_EQ(toJscSafeUrl("/absolute/path"), "/absolute/path");
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_PassthroughForRelativePath) {
|
|
111
|
+
EXPECT_EQ(toJscSafeUrl("relative/path"), "relative/path");
|
|
112
|
+
EXPECT_EQ(toJscSafeUrl("relative/path"), "relative/path");
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_EmptyQueryDropped) {
|
|
116
|
+
EXPECT_EQ(toJscSafeUrl("/?"), "/");
|
|
117
|
+
EXPECT_EQ(toJscSafeUrl("/"), "/");
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_PassthroughForUrlWithoutQuery) {
|
|
121
|
+
auto url = "http://127.0.0.1/path1/path";
|
|
122
|
+
EXPECT_EQ(toJscSafeUrl(url), url);
|
|
123
|
+
EXPECT_EQ(toJscSafeUrl(url), url);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_AbsolutePathWithEncodedQuestionMark) {
|
|
127
|
+
auto input = "/path1/path2?foo=bar&bar=question?#frag?";
|
|
128
|
+
auto output = "/path1/path2//&foo=bar&bar=question%3F#frag?";
|
|
129
|
+
EXPECT_EQ(toJscSafeUrl(input), output);
|
|
130
|
+
EXPECT_EQ(toJscSafeUrl(output), output);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_RelativePathWithEncodedQuestionMark) {
|
|
134
|
+
auto input = "relative/path?foo=bar&bar=question?#frag?";
|
|
135
|
+
auto output = "relative/path//&foo=bar&bar=question%3F#frag?";
|
|
136
|
+
EXPECT_EQ(toJscSafeUrl(input), output);
|
|
137
|
+
EXPECT_EQ(toJscSafeUrl(output), output);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_AlreadySafeWithExtraQuery) {
|
|
141
|
+
auto input = "/path1/path2//&foo=bar&bar=question%3F?extra=query#frag?";
|
|
142
|
+
auto output = "/path1/path2//&foo=bar&bar=question%3F&extra=query#frag?";
|
|
143
|
+
EXPECT_EQ(toJscSafeUrl(input), output);
|
|
144
|
+
EXPECT_EQ(toJscSafeUrl(output), output);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Throws on a URL with an empty path and a query string
|
|
148
|
+
TEST(JscSafeUrlTest, ToJscSafeUrl_ThrowsForEmptyPathWithQuery) {
|
|
149
|
+
EXPECT_THROW(toJscSafeUrl("http://127.0.0.1?foo=bar"), std::invalid_argument);
|
|
150
|
+
EXPECT_THROW(toJscSafeUrl("http://127.0.0.1?q#hash"), std::invalid_argument);
|
|
151
|
+
EXPECT_THROW(toJscSafeUrl("?foo=bar"), std::invalid_argument);
|
|
152
|
+
EXPECT_THROW(toJscSafeUrl("?foo=/bar#hash"), std::invalid_argument);
|
|
153
|
+
EXPECT_THROW(toJscSafeUrl("/?bar=baz/"), std::invalid_argument);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// --- isJscSafeUrl ---
|
|
157
|
+
|
|
158
|
+
TEST(JscSafeUrlTest, IsJscSafeUrl_TrueForSafeUrls) {
|
|
159
|
+
EXPECT_TRUE(isJscSafeUrl("http://example.com//&foo=bar//#frag=//"));
|
|
160
|
+
EXPECT_TRUE(isJscSafeUrl("http://example.com/with/path//&foo=bar//#frag=//"));
|
|
161
|
+
EXPECT_TRUE(isJscSafeUrl("//&foo=bar//#frag=//"));
|
|
162
|
+
EXPECT_TRUE(isJscSafeUrl("relative/path///&foo=bar//&#frag=//&"));
|
|
163
|
+
EXPECT_TRUE(isJscSafeUrl("/absolute/path//&foo=bar//&#frag=//&"));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
TEST(JscSafeUrlTest, IsJscSafeUrl_FalseForNormalUrls) {
|
|
167
|
+
EXPECT_FALSE(isJscSafeUrl("http://example.com?foo=bar//&#frag=//"));
|
|
168
|
+
EXPECT_FALSE(
|
|
169
|
+
isJscSafeUrl("http://example.com/with/path/?foo=bar//&#frag=//"));
|
|
170
|
+
EXPECT_FALSE(isJscSafeUrl("?foo=bar//&#frag=//&"));
|
|
171
|
+
EXPECT_FALSE(isJscSafeUrl("relative/path/?foo=bar//#frag=//"));
|
|
172
|
+
EXPECT_FALSE(isJscSafeUrl("/absolute/path/?foo=bar//&#frag=//"));
|
|
173
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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 <gtest/gtest.h>
|
|
9
|
+
#include <react/debug/redbox/RedBoxErrorParser.h>
|
|
10
|
+
|
|
11
|
+
using namespace facebook::react::unstable_redbox;
|
|
12
|
+
|
|
13
|
+
TEST(RedBoxErrorParserTest, ParsesBabelTransformError) {
|
|
14
|
+
auto result = parseErrorMessage(
|
|
15
|
+
"SyntaxError: /path/to/file.js: Unexpected token (10:5)\n\n"
|
|
16
|
+
"> 10 | const x = {\n"
|
|
17
|
+
" | ^");
|
|
18
|
+
|
|
19
|
+
EXPECT_EQ(result.title, "Syntax Error");
|
|
20
|
+
EXPECT_EQ(result.message, "Unexpected token");
|
|
21
|
+
ASSERT_TRUE(result.codeFrame.has_value());
|
|
22
|
+
EXPECT_EQ(result.codeFrame->fileName, "/path/to/file.js");
|
|
23
|
+
EXPECT_EQ(result.codeFrame->row, 10);
|
|
24
|
+
EXPECT_EQ(result.codeFrame->column, 5);
|
|
25
|
+
EXPECT_TRUE(result.isCompileError);
|
|
26
|
+
EXPECT_TRUE(result.isRetryable);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
TEST(RedBoxErrorParserTest, ParsesMetroError) {
|
|
30
|
+
auto result = parseErrorMessage(
|
|
31
|
+
"InternalError Metro has encountered an error: "
|
|
32
|
+
"BundleError: Unable to resolve module (1:0)\n\n"
|
|
33
|
+
"code frame here");
|
|
34
|
+
|
|
35
|
+
EXPECT_EQ(result.title, "BundleError");
|
|
36
|
+
EXPECT_EQ(result.message, "Unable to resolve module");
|
|
37
|
+
ASSERT_TRUE(result.codeFrame.has_value());
|
|
38
|
+
EXPECT_EQ(result.codeFrame->row, 1);
|
|
39
|
+
EXPECT_TRUE(result.isCompileError);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
TEST(RedBoxErrorParserTest, ParsesBundleLoadError_SyntaxError) {
|
|
43
|
+
auto result = parseErrorMessage(
|
|
44
|
+
"SyntaxError in /app/index.js: Unexpected token (3:10)\ncode frame");
|
|
45
|
+
|
|
46
|
+
EXPECT_EQ(result.title, "Syntax Error");
|
|
47
|
+
EXPECT_EQ(result.message, "Unexpected token");
|
|
48
|
+
ASSERT_TRUE(result.codeFrame.has_value());
|
|
49
|
+
EXPECT_EQ(result.codeFrame->fileName, "/app/index.js");
|
|
50
|
+
EXPECT_EQ(result.codeFrame->row, 3);
|
|
51
|
+
EXPECT_EQ(result.codeFrame->column, 10);
|
|
52
|
+
EXPECT_TRUE(result.isCompileError);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
TEST(RedBoxErrorParserTest, ParsesBundleLoadError_UnableToResolve) {
|
|
56
|
+
auto result = parseErrorMessage(
|
|
57
|
+
"UnableToResolveError in /app/index.js: Cannot find module (1:0)");
|
|
58
|
+
|
|
59
|
+
EXPECT_EQ(result.title, "Module Not Found");
|
|
60
|
+
EXPECT_TRUE(result.isCompileError);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
TEST(RedBoxErrorParserTest, ParsesGenericTransformError) {
|
|
64
|
+
auto result = parseErrorMessage("TransformError some error message");
|
|
65
|
+
|
|
66
|
+
EXPECT_EQ(result.title, "Syntax Error");
|
|
67
|
+
EXPECT_EQ(result.message, "TransformError some error message");
|
|
68
|
+
EXPECT_FALSE(result.codeFrame.has_value());
|
|
69
|
+
EXPECT_TRUE(result.isCompileError);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
TEST(RedBoxErrorParserTest, DefaultsToUncaughtError) {
|
|
73
|
+
auto result = parseErrorMessage("TypeError: undefined is not a function");
|
|
74
|
+
|
|
75
|
+
EXPECT_EQ(result.title, "Uncaught Error");
|
|
76
|
+
EXPECT_EQ(result.message, "TypeError: undefined is not a function");
|
|
77
|
+
EXPECT_FALSE(result.codeFrame.has_value());
|
|
78
|
+
EXPECT_FALSE(result.isCompileError);
|
|
79
|
+
EXPECT_TRUE(result.isRetryable);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
TEST(RedBoxErrorParserTest, UsesNameForTitle) {
|
|
83
|
+
auto result = parseErrorMessage("something broke", "CustomError");
|
|
84
|
+
|
|
85
|
+
EXPECT_EQ(result.title, "CustomError");
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
TEST(RedBoxErrorParserTest, UsesRenderErrorForComponentStack) {
|
|
89
|
+
auto result =
|
|
90
|
+
parseErrorMessage("something broke", "", "in MyComponent\nin App");
|
|
91
|
+
|
|
92
|
+
EXPECT_EQ(result.title, "Render Error");
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
TEST(RedBoxErrorParserTest, NonFatalDefaultsToError) {
|
|
96
|
+
auto result = parseErrorMessage("warning message", "", "", false);
|
|
97
|
+
|
|
98
|
+
EXPECT_EQ(result.title, "Error");
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
TEST(RedBoxErrorParserTest, HandlesEmptyMessage) {
|
|
102
|
+
auto result = parseErrorMessage("");
|
|
103
|
+
|
|
104
|
+
EXPECT_EQ(result.title, "Uncaught Error");
|
|
105
|
+
EXPECT_EQ(result.message, "");
|
|
106
|
+
EXPECT_FALSE(result.codeFrame.has_value());
|
|
107
|
+
}
|
|
@@ -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<<ad7a835ef9cbe3a9a6121ac127038668>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -74,14 +74,6 @@ bool ReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid() {
|
|
|
74
74
|
return getAccessor().enableAccumulatedUpdatesInRawPropsAndroid();
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
bool ReactNativeFeatureFlags::enableAndroidAntialiasedBorderRadiusClipping() {
|
|
78
|
-
return getAccessor().enableAndroidAntialiasedBorderRadiusClipping();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
bool ReactNativeFeatureFlags::enableAndroidLinearText() {
|
|
82
|
-
return getAccessor().enableAndroidLinearText();
|
|
83
|
-
}
|
|
84
|
-
|
|
85
77
|
bool ReactNativeFeatureFlags::enableAndroidTextMeasurementOptimizations() {
|
|
86
78
|
return getAccessor().enableAndroidTextMeasurementOptimizations();
|
|
87
79
|
}
|
|
@@ -102,6 +94,10 @@ bool ReactNativeFeatureFlags::enableDestroyShadowTreeRevisionAsync() {
|
|
|
102
94
|
return getAccessor().enableDestroyShadowTreeRevisionAsync();
|
|
103
95
|
}
|
|
104
96
|
|
|
97
|
+
bool ReactNativeFeatureFlags::enableDifferentiatorMutationVectorPreallocation() {
|
|
98
|
+
return getAccessor().enableDifferentiatorMutationVectorPreallocation();
|
|
99
|
+
}
|
|
100
|
+
|
|
105
101
|
bool ReactNativeFeatureFlags::enableDoubleMeasurementFixAndroid() {
|
|
106
102
|
return getAccessor().enableDoubleMeasurementFixAndroid();
|
|
107
103
|
}
|
|
@@ -146,14 +142,6 @@ bool ReactNativeFeatureFlags::enableImagePrefetchingAndroid() {
|
|
|
146
142
|
return getAccessor().enableImagePrefetchingAndroid();
|
|
147
143
|
}
|
|
148
144
|
|
|
149
|
-
bool ReactNativeFeatureFlags::enableImagePrefetchingJNIBatchingAndroid() {
|
|
150
|
-
return getAccessor().enableImagePrefetchingJNIBatchingAndroid();
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
bool ReactNativeFeatureFlags::enableImagePrefetchingOnUiThreadAndroid() {
|
|
154
|
-
return getAccessor().enableImagePrefetchingOnUiThreadAndroid();
|
|
155
|
-
}
|
|
156
|
-
|
|
157
145
|
bool ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges() {
|
|
158
146
|
return getAccessor().enableImmediateUpdateModeForContentOffsetChanges();
|
|
159
147
|
}
|
|
@@ -190,10 +178,18 @@ bool ReactNativeFeatureFlags::enableModuleArgumentNSNullConversionIOS() {
|
|
|
190
178
|
return getAccessor().enableModuleArgumentNSNullConversionIOS();
|
|
191
179
|
}
|
|
192
180
|
|
|
181
|
+
bool ReactNativeFeatureFlags::enableMutationObserverByDefault() {
|
|
182
|
+
return getAccessor().enableMutationObserverByDefault();
|
|
183
|
+
}
|
|
184
|
+
|
|
193
185
|
bool ReactNativeFeatureFlags::enableNativeCSSParsing() {
|
|
194
186
|
return getAccessor().enableNativeCSSParsing();
|
|
195
187
|
}
|
|
196
188
|
|
|
189
|
+
bool ReactNativeFeatureFlags::enableNativeViewPropTransformations() {
|
|
190
|
+
return getAccessor().enableNativeViewPropTransformations();
|
|
191
|
+
}
|
|
192
|
+
|
|
197
193
|
bool ReactNativeFeatureFlags::enableNetworkEventReporting() {
|
|
198
194
|
return getAccessor().enableNetworkEventReporting();
|
|
199
195
|
}
|
|
@@ -206,6 +202,10 @@ bool ReactNativeFeatureFlags::enablePropsUpdateReconciliationAndroid() {
|
|
|
206
202
|
return getAccessor().enablePropsUpdateReconciliationAndroid();
|
|
207
203
|
}
|
|
208
204
|
|
|
205
|
+
bool ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation() {
|
|
206
|
+
return getAccessor().enableSchedulerDelegateInvalidation();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
209
|
bool ReactNativeFeatureFlags::enableSwiftUIBasedFilters() {
|
|
210
210
|
return getAccessor().enableSwiftUIBasedFilters();
|
|
211
211
|
}
|
|
@@ -242,6 +242,10 @@ bool ReactNativeFeatureFlags::enableVirtualViewDebugFeatures() {
|
|
|
242
242
|
return getAccessor().enableVirtualViewDebugFeatures();
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
+
bool ReactNativeFeatureFlags::fixDifferentiatorParentTagForUnflattenCase() {
|
|
246
|
+
return getAccessor().fixDifferentiatorParentTagForUnflattenCase();
|
|
247
|
+
}
|
|
248
|
+
|
|
245
249
|
bool ReactNativeFeatureFlags::fixFindShadowNodeByTagRaceCondition() {
|
|
246
250
|
return getAccessor().fixFindShadowNodeByTagRaceCondition();
|
|
247
251
|
}
|
|
@@ -250,8 +254,8 @@ bool ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact()
|
|
|
250
254
|
return getAccessor().fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
|
251
255
|
}
|
|
252
256
|
|
|
253
|
-
bool ReactNativeFeatureFlags::
|
|
254
|
-
return getAccessor().
|
|
257
|
+
bool ReactNativeFeatureFlags::fixYogaFlexBasisFitContentInMainAxis() {
|
|
258
|
+
return getAccessor().fixYogaFlexBasisFitContentInMainAxis();
|
|
255
259
|
}
|
|
256
260
|
|
|
257
261
|
bool ReactNativeFeatureFlags::fuseboxAssertSingleHostState() {
|
|
@@ -262,10 +266,18 @@ bool ReactNativeFeatureFlags::fuseboxEnabledRelease() {
|
|
|
262
266
|
return getAccessor().fuseboxEnabledRelease();
|
|
263
267
|
}
|
|
264
268
|
|
|
269
|
+
bool ReactNativeFeatureFlags::fuseboxFrameRecordingEnabled() {
|
|
270
|
+
return getAccessor().fuseboxFrameRecordingEnabled();
|
|
271
|
+
}
|
|
272
|
+
|
|
265
273
|
bool ReactNativeFeatureFlags::fuseboxNetworkInspectionEnabled() {
|
|
266
274
|
return getAccessor().fuseboxNetworkInspectionEnabled();
|
|
267
275
|
}
|
|
268
276
|
|
|
277
|
+
bool ReactNativeFeatureFlags::fuseboxScreenshotCaptureEnabled() {
|
|
278
|
+
return getAccessor().fuseboxScreenshotCaptureEnabled();
|
|
279
|
+
}
|
|
280
|
+
|
|
269
281
|
bool ReactNativeFeatureFlags::hideOffscreenVirtualViewsOnIOS() {
|
|
270
282
|
return getAccessor().hideOffscreenVirtualViewsOnIOS();
|
|
271
283
|
}
|
|
@@ -290,6 +302,14 @@ bool ReactNativeFeatureFlags::preventShadowTreeCommitExhaustion() {
|
|
|
290
302
|
return getAccessor().preventShadowTreeCommitExhaustion();
|
|
291
303
|
}
|
|
292
304
|
|
|
305
|
+
bool ReactNativeFeatureFlags::redBoxV2Android() {
|
|
306
|
+
return getAccessor().redBoxV2Android();
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
bool ReactNativeFeatureFlags::redBoxV2IOS() {
|
|
310
|
+
return getAccessor().redBoxV2IOS();
|
|
311
|
+
}
|
|
312
|
+
|
|
293
313
|
bool ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover() {
|
|
294
314
|
return getAccessor().shouldPressibilityUseW3CPointerEventsForHover();
|
|
295
315
|
}
|
|
@@ -302,8 +322,8 @@ bool ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause() {
|
|
|
302
322
|
return getAccessor().skipActivityIdentityAssertionOnHostPause();
|
|
303
323
|
}
|
|
304
324
|
|
|
305
|
-
bool ReactNativeFeatureFlags::
|
|
306
|
-
return getAccessor().
|
|
325
|
+
bool ReactNativeFeatureFlags::syncAndroidClipBoundsWithOverflow() {
|
|
326
|
+
return getAccessor().syncAndroidClipBoundsWithOverflow();
|
|
307
327
|
}
|
|
308
328
|
|
|
309
329
|
bool ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid() {
|
|
@@ -326,6 +346,10 @@ bool ReactNativeFeatureFlags::useFabricInterop() {
|
|
|
326
346
|
return getAccessor().useFabricInterop();
|
|
327
347
|
}
|
|
328
348
|
|
|
349
|
+
bool ReactNativeFeatureFlags::useLISAlgorithmInDifferentiator() {
|
|
350
|
+
return getAccessor().useLISAlgorithmInDifferentiator();
|
|
351
|
+
}
|
|
352
|
+
|
|
329
353
|
bool ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode() {
|
|
330
354
|
return getAccessor().useNativeViewConfigsInBridgelessMode();
|
|
331
355
|
}
|
|
@@ -334,6 +358,10 @@ bool ReactNativeFeatureFlags::useNestedScrollViewAndroid() {
|
|
|
334
358
|
return getAccessor().useNestedScrollViewAndroid();
|
|
335
359
|
}
|
|
336
360
|
|
|
361
|
+
bool ReactNativeFeatureFlags::useOptimizedViewRegistryOnAndroid() {
|
|
362
|
+
return getAccessor().useOptimizedViewRegistryOnAndroid();
|
|
363
|
+
}
|
|
364
|
+
|
|
337
365
|
bool ReactNativeFeatureFlags::useSharedAnimatedBackend() {
|
|
338
366
|
return getAccessor().useSharedAnimatedBackend();
|
|
339
367
|
}
|
|
@@ -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<<8b4288e3f5a8b26951150a3c75ad4356>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -99,16 +99,6 @@ class ReactNativeFeatureFlags {
|
|
|
99
99
|
*/
|
|
100
100
|
RN_EXPORT static bool enableAccumulatedUpdatesInRawPropsAndroid();
|
|
101
101
|
|
|
102
|
-
/**
|
|
103
|
-
* Enable antialiased border radius clipping for Android API 28 and below using manual masking with Porter-Duff compositing
|
|
104
|
-
*/
|
|
105
|
-
RN_EXPORT static bool enableAndroidAntialiasedBorderRadiusClipping();
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Enables linear text rendering on Android wherever subpixel text rendering is enabled
|
|
109
|
-
*/
|
|
110
|
-
RN_EXPORT static bool enableAndroidLinearText();
|
|
111
|
-
|
|
112
102
|
/**
|
|
113
103
|
* Enables various optimizations throughout the path of measuring text on Android.
|
|
114
104
|
*/
|
|
@@ -134,6 +124,11 @@ class ReactNativeFeatureFlags {
|
|
|
134
124
|
*/
|
|
135
125
|
RN_EXPORT static bool enableDestroyShadowTreeRevisionAsync();
|
|
136
126
|
|
|
127
|
+
/**
|
|
128
|
+
* Pre-allocate mutation vectors in the Differentiator to reduce reallocation overhead during shadow view diffing.
|
|
129
|
+
*/
|
|
130
|
+
RN_EXPORT static bool enableDifferentiatorMutationVectorPreallocation();
|
|
131
|
+
|
|
137
132
|
/**
|
|
138
133
|
* When enabled a subset of components will avoid double measurement on Android.
|
|
139
134
|
*/
|
|
@@ -189,16 +184,6 @@ class ReactNativeFeatureFlags {
|
|
|
189
184
|
*/
|
|
190
185
|
RN_EXPORT static bool enableImagePrefetchingAndroid();
|
|
191
186
|
|
|
192
|
-
/**
|
|
193
|
-
* When enabled, Android will build and initiate image prefetch requests on ImageShadowNode::layout and batch them together in a single JNI call
|
|
194
|
-
*/
|
|
195
|
-
RN_EXPORT static bool enableImagePrefetchingJNIBatchingAndroid();
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* When enabled, Android will initiate image prefetch requested on ImageShadowNode::layout on the UI thread
|
|
199
|
-
*/
|
|
200
|
-
RN_EXPORT static bool enableImagePrefetchingOnUiThreadAndroid();
|
|
201
|
-
|
|
202
187
|
/**
|
|
203
188
|
* Dispatches state updates for content offset changes synchronously on the main thread.
|
|
204
189
|
*/
|
|
@@ -244,11 +229,21 @@ class ReactNativeFeatureFlags {
|
|
|
244
229
|
*/
|
|
245
230
|
RN_EXPORT static bool enableModuleArgumentNSNullConversionIOS();
|
|
246
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Enables the MutationObserver Web API in React Native.
|
|
234
|
+
*/
|
|
235
|
+
RN_EXPORT static bool enableMutationObserverByDefault();
|
|
236
|
+
|
|
247
237
|
/**
|
|
248
238
|
* Parse CSS strings using the Fabric CSS parser instead of ViewConfig processing
|
|
249
239
|
*/
|
|
250
240
|
RN_EXPORT static bool enableNativeCSSParsing();
|
|
251
241
|
|
|
242
|
+
/**
|
|
243
|
+
* When enabled, View.js passes aria-*, id, and tabIndex props directly to native, relying on C++ prop parsing instead of JS-side transformations.
|
|
244
|
+
*/
|
|
245
|
+
RN_EXPORT static bool enableNativeViewPropTransformations();
|
|
246
|
+
|
|
252
247
|
/**
|
|
253
248
|
* Enable network event reporting hooks in each native platform through `NetworkReporter` (Web Perf APIs + CDP). This flag should be combined with `fuseboxNetworkInspectionEnabled` to enable Network CDP debugging.
|
|
254
249
|
*/
|
|
@@ -264,6 +259,11 @@ class ReactNativeFeatureFlags {
|
|
|
264
259
|
*/
|
|
265
260
|
RN_EXPORT static bool enablePropsUpdateReconciliationAndroid();
|
|
266
261
|
|
|
262
|
+
/**
|
|
263
|
+
* Gates a defensive guard around Scheduler::uiManagerDidDispatchCommand and uiManagerDidFinishTransaction that prevents queued rendering-update lambdas from dereferencing the SchedulerDelegate after it has been destroyed (use-after-free).
|
|
264
|
+
*/
|
|
265
|
+
RN_EXPORT static bool enableSchedulerDelegateInvalidation();
|
|
266
|
+
|
|
267
267
|
/**
|
|
268
268
|
* When enabled, it will use SwiftUI for filter effects like blur on iOS.
|
|
269
269
|
*/
|
|
@@ -309,6 +309,11 @@ class ReactNativeFeatureFlags {
|
|
|
309
309
|
*/
|
|
310
310
|
RN_EXPORT static bool enableVirtualViewDebugFeatures();
|
|
311
311
|
|
|
312
|
+
/**
|
|
313
|
+
* Fix incorrect parentTag passed as parentTagForUpdate in the unflatten-unflatten branch of calculateShadowViewMutationsFlattener, which causes UPDATE mutations to reference a parent being created in the same batch.
|
|
314
|
+
*/
|
|
315
|
+
RN_EXPORT static bool fixDifferentiatorParentTagForUnflattenCase();
|
|
316
|
+
|
|
312
317
|
/**
|
|
313
318
|
* Fix a use-after-free race condition in findShadowNodeByTag_DEPRECATED by using getCurrentRevision() instead of tryCommit() with a raw pointer.
|
|
314
319
|
*/
|
|
@@ -320,9 +325,9 @@ class ReactNativeFeatureFlags {
|
|
|
320
325
|
RN_EXPORT static bool fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
|
321
326
|
|
|
322
327
|
/**
|
|
323
|
-
* Fix
|
|
328
|
+
* Fix flex basis computation to not apply FitContent constraint in the main axis for non-measure container nodes, preventing unnecessary re-measurement in scroll containers.
|
|
324
329
|
*/
|
|
325
|
-
RN_EXPORT static bool
|
|
330
|
+
RN_EXPORT static bool fixYogaFlexBasisFitContentInMainAxis();
|
|
326
331
|
|
|
327
332
|
/**
|
|
328
333
|
* Enable system assertion validating that Fusebox is configured with a single host. When set, the CDP backend will dynamically disable features (Perf and Network) in the event that multiple hosts are registered (undefined behaviour), and broadcast this over `ReactNativeApplication.systemStateChanged`.
|
|
@@ -334,11 +339,21 @@ class ReactNativeFeatureFlags {
|
|
|
334
339
|
*/
|
|
335
340
|
RN_EXPORT static bool fuseboxEnabledRelease();
|
|
336
341
|
|
|
342
|
+
/**
|
|
343
|
+
* Enable frame timings and screenshots support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
|
|
344
|
+
*/
|
|
345
|
+
RN_EXPORT static bool fuseboxFrameRecordingEnabled();
|
|
346
|
+
|
|
337
347
|
/**
|
|
338
348
|
* Enable network inspection support in the React Native DevTools CDP backend. Requires `enableBridgelessArchitecture`. This flag is global and should not be changed across React Host lifetimes.
|
|
339
349
|
*/
|
|
340
350
|
RN_EXPORT static bool fuseboxNetworkInspectionEnabled();
|
|
341
351
|
|
|
352
|
+
/**
|
|
353
|
+
* Enable Page.captureScreenshot CDP method support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
|
|
354
|
+
*/
|
|
355
|
+
RN_EXPORT static bool fuseboxScreenshotCaptureEnabled();
|
|
356
|
+
|
|
342
357
|
/**
|
|
343
358
|
* Hides offscreen VirtualViews on iOS by setting hidden = YES to avoid extra cost of views
|
|
344
359
|
*/
|
|
@@ -369,6 +384,16 @@ class ReactNativeFeatureFlags {
|
|
|
369
384
|
*/
|
|
370
385
|
RN_EXPORT static bool preventShadowTreeCommitExhaustion();
|
|
371
386
|
|
|
387
|
+
/**
|
|
388
|
+
* Use the redesigned RedBox error overlay on Android, styled to match the LogBox visual language.
|
|
389
|
+
*/
|
|
390
|
+
RN_EXPORT static bool redBoxV2Android();
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Use the redesigned RedBox error overlay on iOS, styled to match the LogBox visual language.
|
|
394
|
+
*/
|
|
395
|
+
RN_EXPORT static bool redBoxV2IOS();
|
|
396
|
+
|
|
372
397
|
/**
|
|
373
398
|
* Function used to enable / disable Pressibility from using W3C Pointer Events for its hover callbacks
|
|
374
399
|
*/
|
|
@@ -385,9 +410,9 @@ class ReactNativeFeatureFlags {
|
|
|
385
410
|
RN_EXPORT static bool skipActivityIdentityAssertionOnHostPause();
|
|
386
411
|
|
|
387
412
|
/**
|
|
388
|
-
*
|
|
413
|
+
* Override getClipBounds on Android views to return the padding box when overflow is hidden
|
|
389
414
|
*/
|
|
390
|
-
RN_EXPORT static bool
|
|
415
|
+
RN_EXPORT static bool syncAndroidClipBoundsWithOverflow();
|
|
391
416
|
|
|
392
417
|
/**
|
|
393
418
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
@@ -414,6 +439,11 @@ class ReactNativeFeatureFlags {
|
|
|
414
439
|
*/
|
|
415
440
|
RN_EXPORT static bool useFabricInterop();
|
|
416
441
|
|
|
442
|
+
/**
|
|
443
|
+
* Use Longest Increasing Subsequence algorithm in the Differentiator to minimize REMOVE/INSERT mutations during child list reconciliation.
|
|
444
|
+
*/
|
|
445
|
+
RN_EXPORT static bool useLISAlgorithmInDifferentiator();
|
|
446
|
+
|
|
417
447
|
/**
|
|
418
448
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
419
449
|
*/
|
|
@@ -424,6 +454,11 @@ class ReactNativeFeatureFlags {
|
|
|
424
454
|
*/
|
|
425
455
|
RN_EXPORT static bool useNestedScrollViewAndroid();
|
|
426
456
|
|
|
457
|
+
/**
|
|
458
|
+
* Use MutableIntObjectMap with ReadWriteLock instead of ConcurrentHashMap for the view registry in SurfaceMountingManager to reduce memory overhead and GC pressure.
|
|
459
|
+
*/
|
|
460
|
+
RN_EXPORT static bool useOptimizedViewRegistryOnAndroid();
|
|
461
|
+
|
|
427
462
|
/**
|
|
428
463
|
* Use shared animation backend in C++ Animated
|
|
429
464
|
*/
|