react-native-windows 0.84.0-preview.9 → 0.85.0-preview.1
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/.flowconfig +1 -5
- package/Common/unicode.cpp +36 -0
- package/Common/unicode.h +8 -0
- package/Directory.Build.props +1 -16
- package/Directory.Build.targets +12 -4
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.windows.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/Switch/Switch.windows.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.windows.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +4 -0
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +7 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
- 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.windows.js +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.windows.js +342 -717
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.windows.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.windows.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +94 -26
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -5
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +28 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +80 -0
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.h +17 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +3 -8
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -63
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
- package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
- package/Microsoft.ReactNative/QuirkSettings.h +0 -43
- package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
- package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
- package/Microsoft.ReactNative/RedBox.cpp +0 -9
- package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
- package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +33 -25
- package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +3 -3
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +10 -10
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +8 -0
- package/PropertySheets/React.Cpp.props +8 -7
- package/PropertySheets/ReactNativeArchitecture.props +6 -24
- package/PropertySheets/WinUI.props +2 -2
- package/ReactCommon/ReactCommon.vcxproj +5 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
- package/Scripts/JustMyXaml.ps1 +8 -8
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
- package/Scripts/UnitTest.ps1 +3 -1
- package/Scripts/creaternwapp.cmd +1 -9
- package/Scripts/creaternwlib.cmd +4 -24
- package/Scripts/rnw-dependencies.ps1 +15 -16
- package/Shared/DevSettings.h +0 -3
- package/Shared/DevSupportManager.cpp +55 -48
- package/Shared/DevSupportManager.h +0 -1
- package/Shared/Modules/IWebSocketModuleContentHandler.h +15 -0
- package/Shared/Modules/WebSocketModule.cpp +8 -3
- package/Shared/Networking/DefaultBlobResource.cpp +37 -0
- package/Shared/Networking/DefaultBlobResource.h +12 -0
- package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
- package/Shared/Networking/WinRTWebSocketResource.h +8 -120
- package/Shared/Shared.vcxitems +63 -38
- package/Shared/Shared.vcxitems.filters +54 -0
- package/Shared/Utils.cpp +0 -88
- package/Shared/Utils.h +0 -14
- package/Shared/WebSocketResourceFactory.cpp +28 -0
- package/Shared/tracing/fbsystrace.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
- package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
- package/codegen/react/components/rnwcore/Props.cpp +17 -7
- package/codegen/react/components/rnwcore/Props.h +3 -1
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
- package/codegen/rnwcoreJSI.h +93 -77
- package/index.js +9 -0
- package/index.windows.js +9 -0
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/just-task.js +13 -2
- package/package.json +25 -20
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- 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 +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/template/metro.config.js +12 -2
- package/templates/cpp-app/metro.config.js +12 -2
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +2 -2
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +12 -2
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +2 -2
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/types/index.d.ts +2 -0
- package/Folly/.clang-format +0 -2
- package/Folly/Folly.natvis +0 -25
- package/Folly/Folly.vcxproj +0 -378
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
- package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
- package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
- package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
- package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
- package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
- package/Folly/cgmanifest.json +0 -25
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
- package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
- package/Microsoft.ReactNative/ReactSupport.h +0 -13
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
- package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
- package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -22
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
- package/Microsoft.ReactNative/XamlUIService.h +0 -37
- package/Microsoft.ReactNative/XamlUIService.idl +0 -53
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
- package/fmt/.clang-format +0 -2
- package/fmt/cgmanifest.json +0 -15
- package/fmt/fmt.vcxproj +0 -153
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {ExceptionData} from '../../Core/NativeExceptionsManager';
|
|
12
12
|
import type {LogBoxLogData} from './LogBoxLog';
|
|
13
|
+
import type {Stack} from './LogBoxSymbolication';
|
|
13
14
|
|
|
14
15
|
import parseErrorStack from '../../Core/Devtools/parseErrorStack';
|
|
15
16
|
import UTFSequence from '../../UTFSequence';
|
|
@@ -19,10 +20,7 @@ import ansiRegex from 'ansi-regex';
|
|
|
19
20
|
const ANSI_REGEX = ansiRegex().source;
|
|
20
21
|
|
|
21
22
|
const RE_TRANSFORM_ERROR = /^TransformError /;
|
|
22
|
-
const RE_COMPONENT_STACK_LINE = /\n {4}
|
|
23
|
-
const RE_COMPONENT_STACK_LINE_GLOBAL = /\n {4}(in|at) /g;
|
|
24
|
-
const RE_COMPONENT_STACK_LINE_OLD = / {4}in/;
|
|
25
|
-
const RE_COMPONENT_STACK_LINE_NEW = / {4}at/;
|
|
23
|
+
const RE_COMPONENT_STACK_LINE = /\n {4}at/;
|
|
26
24
|
const RE_COMPONENT_STACK_LINE_STACK_FRAME = /@.*\n/;
|
|
27
25
|
|
|
28
26
|
// "TransformError " (Optional) and either "SyntaxError: " or "ReferenceError: "
|
|
@@ -36,20 +34,6 @@ const RE_COMPONENT_STACK_LINE_STACK_FRAME = /@.*\n/;
|
|
|
36
34
|
const RE_BABEL_TRANSFORM_ERROR_FORMAT =
|
|
37
35
|
/^(?:TransformError )?(?:SyntaxError: |ReferenceError: )(.*): (.*) \((\d+):(\d+)\)\n\n([\s\S]+)/;
|
|
38
36
|
|
|
39
|
-
// Capturing groups:
|
|
40
|
-
// 1: component name
|
|
41
|
-
// "at"
|
|
42
|
-
// 2: file path including extension
|
|
43
|
-
// 3: line number
|
|
44
|
-
const RE_COMPONENT_STACK_WITH_SOURCE =
|
|
45
|
-
/(.*) \(at (.*\.(?:js|jsx|ts|tsx)):([\d]+)\)/;
|
|
46
|
-
|
|
47
|
-
// Capturing groups:
|
|
48
|
-
// 1: component name
|
|
49
|
-
// "at"
|
|
50
|
-
// 2: parent component name
|
|
51
|
-
const RE_COMPONENT_STACK_NO_SOURCE = /(.*) \(created by .*\)/;
|
|
52
|
-
|
|
53
37
|
// Capturing groups:
|
|
54
38
|
// - non-capturing "TransformError " (optional)
|
|
55
39
|
// - non-capturing Error message
|
|
@@ -93,21 +77,12 @@ const RE_BABEL_CODE_FRAME_MARKER_PATTERN = new RegExp(
|
|
|
93
77
|
'm',
|
|
94
78
|
);
|
|
95
79
|
|
|
96
|
-
export function hasComponentStack(args: $ReadOnlyArray<unknown>): boolean {
|
|
97
|
-
for (const arg of args) {
|
|
98
|
-
if (typeof arg === 'string' && isComponentStack(arg)) {
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
80
|
export type ExtendedExceptionData = ExceptionData & {
|
|
106
81
|
isComponentError: boolean,
|
|
107
82
|
...
|
|
108
83
|
};
|
|
109
84
|
export type Category = string;
|
|
110
|
-
export type CodeFrame =
|
|
85
|
+
export type CodeFrame = Readonly<{
|
|
111
86
|
content: string,
|
|
112
87
|
location: ?{
|
|
113
88
|
row: number,
|
|
@@ -121,22 +96,19 @@ export type CodeFrame = $ReadOnly<{
|
|
|
121
96
|
// it is not integrated into the LogBox UI.
|
|
122
97
|
collapse?: boolean,
|
|
123
98
|
}>;
|
|
124
|
-
export type Message =
|
|
99
|
+
export type Message = Readonly<{
|
|
125
100
|
content: string,
|
|
126
|
-
substitutions:
|
|
127
|
-
|
|
101
|
+
substitutions: ReadonlyArray<
|
|
102
|
+
Readonly<{
|
|
128
103
|
length: number,
|
|
129
104
|
offset: number,
|
|
130
105
|
}>,
|
|
131
106
|
>,
|
|
132
107
|
}>;
|
|
133
108
|
|
|
134
|
-
export type ComponentStack = $ReadOnlyArray<CodeFrame>;
|
|
135
|
-
export type ComponentStackType = 'legacy' | 'stack';
|
|
136
|
-
|
|
137
109
|
const SUBSTITUTION = UTFSequence.BOM + '%s';
|
|
138
110
|
|
|
139
|
-
export function parseInterpolation(args:
|
|
111
|
+
export function parseInterpolation(args: ReadonlyArray<unknown>): Readonly<{
|
|
140
112
|
category: Category,
|
|
141
113
|
message: Message,
|
|
142
114
|
}> {
|
|
@@ -212,75 +184,21 @@ export function parseInterpolation(args: $ReadOnlyArray<unknown>): $ReadOnly<{
|
|
|
212
184
|
}
|
|
213
185
|
|
|
214
186
|
function isComponentStack(consoleArgument: string) {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
RE_COMPONENT_STACK_LINE_NEW.test(consoleArgument);
|
|
219
|
-
const isNewJSCComponentStackFormat =
|
|
220
|
-
RE_COMPONENT_STACK_LINE_STACK_FRAME.test(consoleArgument);
|
|
221
|
-
|
|
187
|
+
// Component stacks are formatted as call stack frames:
|
|
188
|
+
// - Hermes format: " at Component (/path/to/file.js:1:2)"
|
|
189
|
+
// - JSC format: "Component@/path/to/file.js:1:2"
|
|
222
190
|
return (
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
isNewJSCComponentStackFormat
|
|
191
|
+
RE_COMPONENT_STACK_LINE.test(consoleArgument) ||
|
|
192
|
+
RE_COMPONENT_STACK_LINE_STACK_FRAME.test(consoleArgument)
|
|
226
193
|
);
|
|
227
194
|
}
|
|
228
195
|
|
|
229
196
|
export function parseComponentStack(message: string): {
|
|
230
|
-
|
|
231
|
-
stack: ComponentStack,
|
|
197
|
+
stack: Stack,
|
|
232
198
|
} {
|
|
233
|
-
// In newer versions of React, the component stack is formatted as a call stack frame.
|
|
234
|
-
// First try to parse the component stack as a call stack frame, and if that doesn't
|
|
235
|
-
// work then we'll fallback to the old custom component stack format parsing.
|
|
236
199
|
const stack = parseErrorStack(message);
|
|
237
|
-
if (stack && stack.length > 0) {
|
|
238
|
-
return {
|
|
239
|
-
type: 'stack',
|
|
240
|
-
stack: stack.map(frame => ({
|
|
241
|
-
content: frame.methodName,
|
|
242
|
-
collapse: frame.collapse || false,
|
|
243
|
-
fileName: frame.file == null ? 'unknown' : frame.file,
|
|
244
|
-
location: {
|
|
245
|
-
column: frame.column == null ? -1 : frame.column,
|
|
246
|
-
row: frame.lineNumber == null ? -1 : frame.lineNumber,
|
|
247
|
-
},
|
|
248
|
-
})),
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
const legacyStack = message
|
|
252
|
-
.split(RE_COMPONENT_STACK_LINE_GLOBAL)
|
|
253
|
-
.map(s => {
|
|
254
|
-
if (!s) {
|
|
255
|
-
return null;
|
|
256
|
-
}
|
|
257
|
-
const match = s.match(RE_COMPONENT_STACK_WITH_SOURCE);
|
|
258
|
-
if (match) {
|
|
259
|
-
let [content, fileName, row] = match.slice(1);
|
|
260
|
-
return {
|
|
261
|
-
content,
|
|
262
|
-
fileName,
|
|
263
|
-
location: {column: -1, row: parseInt(row, 10)},
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
// In some cases, the component stack doesn't have a source.
|
|
268
|
-
const matchWithoutSource = s.match(RE_COMPONENT_STACK_NO_SOURCE);
|
|
269
|
-
if (matchWithoutSource) {
|
|
270
|
-
return {
|
|
271
|
-
content: matchWithoutSource[1],
|
|
272
|
-
fileName: '',
|
|
273
|
-
location: null,
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
return null;
|
|
278
|
-
})
|
|
279
|
-
.filter(Boolean);
|
|
280
|
-
|
|
281
200
|
return {
|
|
282
|
-
|
|
283
|
-
stack: legacyStack,
|
|
201
|
+
stack: stack ?? [],
|
|
284
202
|
};
|
|
285
203
|
}
|
|
286
204
|
|
|
@@ -300,7 +218,6 @@ export function parseLogBoxException(
|
|
|
300
218
|
type: 'Metro Error',
|
|
301
219
|
stack: [],
|
|
302
220
|
isComponentError: false,
|
|
303
|
-
componentStackType: 'legacy',
|
|
304
221
|
componentStack: [],
|
|
305
222
|
codeFrame: {
|
|
306
223
|
fileName,
|
|
@@ -329,7 +246,6 @@ export function parseLogBoxException(
|
|
|
329
246
|
level: 'syntax',
|
|
330
247
|
stack: [],
|
|
331
248
|
isComponentError: false,
|
|
332
|
-
componentStackType: 'legacy',
|
|
333
249
|
componentStack: [],
|
|
334
250
|
codeFrame: {
|
|
335
251
|
fileName,
|
|
@@ -360,7 +276,6 @@ export function parseLogBoxException(
|
|
|
360
276
|
level: 'syntax',
|
|
361
277
|
stack: [],
|
|
362
278
|
isComponentError: false,
|
|
363
|
-
componentStackType: 'legacy',
|
|
364
279
|
componentStack: [],
|
|
365
280
|
codeFrame: {
|
|
366
281
|
fileName,
|
|
@@ -382,7 +297,6 @@ export function parseLogBoxException(
|
|
|
382
297
|
level: 'syntax',
|
|
383
298
|
stack: error.stack,
|
|
384
299
|
isComponentError: error.isComponentError,
|
|
385
|
-
componentStackType: 'legacy',
|
|
386
300
|
componentStack: [],
|
|
387
301
|
message: {
|
|
388
302
|
content: message,
|
|
@@ -396,12 +310,11 @@ export function parseLogBoxException(
|
|
|
396
310
|
const componentStack = error.componentStack;
|
|
397
311
|
if (error.isFatal || error.isComponentError) {
|
|
398
312
|
if (componentStack != null) {
|
|
399
|
-
const {
|
|
313
|
+
const {stack} = parseComponentStack(componentStack);
|
|
400
314
|
return {
|
|
401
315
|
level: 'fatal',
|
|
402
316
|
stack: error.stack,
|
|
403
317
|
isComponentError: error.isComponentError,
|
|
404
|
-
componentStackType: type,
|
|
405
318
|
componentStack: stack,
|
|
406
319
|
extraData: error.extraData,
|
|
407
320
|
...parseInterpolation([message]),
|
|
@@ -411,7 +324,6 @@ export function parseLogBoxException(
|
|
|
411
324
|
level: 'fatal',
|
|
412
325
|
stack: error.stack,
|
|
413
326
|
isComponentError: error.isComponentError,
|
|
414
|
-
componentStackType: 'legacy',
|
|
415
327
|
componentStack: [],
|
|
416
328
|
extraData: error.extraData,
|
|
417
329
|
...parseInterpolation([message]),
|
|
@@ -421,12 +333,11 @@ export function parseLogBoxException(
|
|
|
421
333
|
|
|
422
334
|
if (componentStack != null) {
|
|
423
335
|
// It is possible that console errors have a componentStack.
|
|
424
|
-
const {
|
|
336
|
+
const {stack} = parseComponentStack(componentStack);
|
|
425
337
|
return {
|
|
426
338
|
level: 'error',
|
|
427
339
|
stack: error.stack,
|
|
428
340
|
isComponentError: error.isComponentError,
|
|
429
|
-
componentStackType: type,
|
|
430
341
|
componentStack: stack,
|
|
431
342
|
extraData: error.extraData,
|
|
432
343
|
...parseInterpolation([message]),
|
|
@@ -456,16 +367,14 @@ export function withoutANSIColorStyles(message: unknown): unknown {
|
|
|
456
367
|
);
|
|
457
368
|
}
|
|
458
369
|
|
|
459
|
-
export function parseLogBoxLog(args:
|
|
460
|
-
componentStack:
|
|
461
|
-
componentStackType: ComponentStackType,
|
|
370
|
+
export function parseLogBoxLog(args: ReadonlyArray<unknown>): {
|
|
371
|
+
componentStack: Stack,
|
|
462
372
|
category: Category,
|
|
463
373
|
message: Message,
|
|
464
374
|
} {
|
|
465
375
|
const message = withoutANSIColorStyles(args[0]);
|
|
466
376
|
let argsWithoutComponentStack: Array<unknown> = [];
|
|
467
|
-
let componentStack:
|
|
468
|
-
let componentStackType = 'legacy';
|
|
377
|
+
let componentStack: Stack = [];
|
|
469
378
|
|
|
470
379
|
// Extract component stack from warnings like "Some warning%s".
|
|
471
380
|
if (
|
|
@@ -477,9 +386,8 @@ export function parseLogBoxLog(args: $ReadOnlyArray<unknown>): {
|
|
|
477
386
|
if (typeof lastArg === 'string' && isComponentStack(lastArg)) {
|
|
478
387
|
argsWithoutComponentStack = args.slice(0, -1);
|
|
479
388
|
argsWithoutComponentStack[0] = message.slice(0, -2);
|
|
480
|
-
const {
|
|
389
|
+
const {stack} = parseComponentStack(lastArg);
|
|
481
390
|
componentStack = stack;
|
|
482
|
-
componentStackType = type;
|
|
483
391
|
}
|
|
484
392
|
}
|
|
485
393
|
|
|
@@ -497,9 +405,8 @@ export function parseLogBoxLog(args: $ReadOnlyArray<unknown>): {
|
|
|
497
405
|
argsWithoutComponentStack.push(arg.slice(0, messageEndIndex));
|
|
498
406
|
}
|
|
499
407
|
|
|
500
|
-
const {
|
|
408
|
+
const {stack} = parseComponentStack(arg);
|
|
501
409
|
componentStack = stack;
|
|
502
|
-
componentStackType = type;
|
|
503
410
|
} else {
|
|
504
411
|
argsWithoutComponentStack.push(arg);
|
|
505
412
|
}
|
|
@@ -509,8 +416,5 @@ export function parseLogBoxLog(args: $ReadOnlyArray<unknown>): {
|
|
|
509
416
|
return {
|
|
510
417
|
...parseInterpolation(argsWithoutComponentStack),
|
|
511
418
|
componentStack,
|
|
512
|
-
/* $FlowFixMe[incompatible-type] Natural Inference rollout. See
|
|
513
|
-
* https://fburl.com/workplace/6291gfvu */
|
|
514
|
-
componentStackType,
|
|
515
419
|
};
|
|
516
420
|
}
|
|
@@ -9,12 +9,41 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {IgnorePattern, LogData} from './Data/LogBoxData';
|
|
12
|
+
import type {Stack} from './Data/LogBoxSymbolication';
|
|
12
13
|
import type {ExtendedExceptionData} from './Data/parseLogBoxLog';
|
|
13
14
|
|
|
15
|
+
import toExtendedError from '../../src/private/utilities/toExtendedError';
|
|
14
16
|
import Platform from '../Utilities/Platform';
|
|
15
17
|
import RCTLog from '../Utilities/RCTLog';
|
|
16
18
|
import * as React from 'react';
|
|
17
19
|
|
|
20
|
+
// TODO: Remove support for LegacyComponentStackFrame in a future version.
|
|
21
|
+
// This is kept for backward compatibility with external callers of LogBox.addLog.
|
|
22
|
+
function convertLegacyComponentStack(componentStack: Stack): Stack {
|
|
23
|
+
if (componentStack.length === 0) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
// Detect legacy format by checking for 'content' property
|
|
27
|
+
const firstFrame = componentStack[0];
|
|
28
|
+
if (
|
|
29
|
+
firstFrame != null &&
|
|
30
|
+
typeof firstFrame === 'object' &&
|
|
31
|
+
// $FlowExpectedError[prop-missing]
|
|
32
|
+
typeof firstFrame.content === 'string'
|
|
33
|
+
) {
|
|
34
|
+
// Convert from legacy ComponentStack to Stack format
|
|
35
|
+
return (componentStack: $FlowFixMe).map(frame => ({
|
|
36
|
+
methodName: frame.content,
|
|
37
|
+
lineNumber: frame.location.row,
|
|
38
|
+
column: frame.location.column,
|
|
39
|
+
file: frame.fileName,
|
|
40
|
+
collapse: frame.collapse ?? false,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
// Already in the new Stack format
|
|
44
|
+
return componentStack;
|
|
45
|
+
}
|
|
46
|
+
|
|
18
47
|
export type {LogData, ExtendedExceptionData, IgnorePattern};
|
|
19
48
|
|
|
20
49
|
let LogBox;
|
|
@@ -23,7 +52,7 @@ interface ILogBox {
|
|
|
23
52
|
install(): void;
|
|
24
53
|
uninstall(): void;
|
|
25
54
|
isInstalled(): boolean;
|
|
26
|
-
ignoreLogs(
|
|
55
|
+
ignoreLogs(ReadonlyArray<IgnorePattern>): void;
|
|
27
56
|
ignoreAllLogs(value?: boolean): void;
|
|
28
57
|
clearAllLogs(): void;
|
|
29
58
|
addLog(log: LogData): void;
|
|
@@ -117,7 +146,7 @@ if (__DEV__) {
|
|
|
117
146
|
/**
|
|
118
147
|
* Silence any logs that match the given strings or regexes.
|
|
119
148
|
*/
|
|
120
|
-
ignoreLogs(patterns:
|
|
149
|
+
ignoreLogs(patterns: ReadonlyArray<IgnorePattern>): void {
|
|
121
150
|
LogBoxData.addIgnorePatterns(patterns);
|
|
122
151
|
},
|
|
123
152
|
|
|
@@ -136,7 +165,10 @@ if (__DEV__) {
|
|
|
136
165
|
|
|
137
166
|
addLog(log: LogData): void {
|
|
138
167
|
if (isLogBoxInstalled) {
|
|
139
|
-
LogBoxData.addLog(
|
|
168
|
+
LogBoxData.addLog({
|
|
169
|
+
...log,
|
|
170
|
+
componentStack: convertLegacyComponentStack(log.componentStack),
|
|
171
|
+
});
|
|
140
172
|
}
|
|
141
173
|
},
|
|
142
174
|
|
|
@@ -147,11 +179,7 @@ if (__DEV__) {
|
|
|
147
179
|
let format = args[0];
|
|
148
180
|
if (typeof format === 'string') {
|
|
149
181
|
const filterResult =
|
|
150
|
-
require('../LogBox/Data/LogBoxData').checkWarningFilter(
|
|
151
|
-
// For legacy reasons, we strip the warning prefix from the message.
|
|
152
|
-
// Can remove this once we remove the warning module altogether.
|
|
153
|
-
format.replace(/^Warning: /, ''),
|
|
154
|
-
);
|
|
182
|
+
require('../LogBox/Data/LogBoxData').checkWarningFilter(format);
|
|
155
183
|
if (filterResult.monitorEvent !== 'warning_unhandled') {
|
|
156
184
|
if (filterResult.suppressCompletely) {
|
|
157
185
|
return;
|
|
@@ -169,7 +197,6 @@ if (__DEV__) {
|
|
|
169
197
|
const result = parseLogBoxLog(args);
|
|
170
198
|
const category = result.category;
|
|
171
199
|
const message = result.message;
|
|
172
|
-
let componentStackType = result.componentStackType;
|
|
173
200
|
let componentStack = result.componentStack;
|
|
174
201
|
if (
|
|
175
202
|
(!componentStack || componentStack.length === 0) &&
|
|
@@ -180,7 +207,6 @@ if (__DEV__) {
|
|
|
180
207
|
if (ownerStack != null && ownerStack.length > 0) {
|
|
181
208
|
const parsedComponentStack = parseComponentStack(ownerStack);
|
|
182
209
|
componentStack = parsedComponentStack.stack;
|
|
183
|
-
componentStackType = parsedComponentStack.type;
|
|
184
210
|
}
|
|
185
211
|
}
|
|
186
212
|
if (!LogBoxData.isMessageIgnored(message.content)) {
|
|
@@ -189,11 +215,10 @@ if (__DEV__) {
|
|
|
189
215
|
category,
|
|
190
216
|
message,
|
|
191
217
|
componentStack,
|
|
192
|
-
componentStackType,
|
|
193
218
|
});
|
|
194
219
|
}
|
|
195
|
-
} catch (err) {
|
|
196
|
-
LogBoxData.reportLogBoxError(err);
|
|
220
|
+
} catch (err: unknown) {
|
|
221
|
+
LogBoxData.reportLogBoxError(toExtendedError(err));
|
|
197
222
|
}
|
|
198
223
|
}
|
|
199
224
|
},
|
|
@@ -224,8 +249,7 @@ if (__DEV__) {
|
|
|
224
249
|
|
|
225
250
|
try {
|
|
226
251
|
if (!isRCTLogAdviceWarning(...args)) {
|
|
227
|
-
const {category, message, componentStack
|
|
228
|
-
parseLogBoxLog(args);
|
|
252
|
+
const {category, message, componentStack} = parseLogBoxLog(args);
|
|
229
253
|
|
|
230
254
|
if (!LogBoxData.isMessageIgnored(message.content)) {
|
|
231
255
|
LogBoxData.addLog({
|
|
@@ -233,12 +257,11 @@ if (__DEV__) {
|
|
|
233
257
|
category,
|
|
234
258
|
message,
|
|
235
259
|
componentStack,
|
|
236
|
-
componentStackType,
|
|
237
260
|
});
|
|
238
261
|
}
|
|
239
262
|
}
|
|
240
|
-
} catch (err) {
|
|
241
|
-
LogBoxData.reportLogBoxError(err);
|
|
263
|
+
} catch (err: unknown) {
|
|
264
|
+
LogBoxData.reportLogBoxError(toExtendedError(err));
|
|
242
265
|
}
|
|
243
266
|
};
|
|
244
267
|
} else {
|
|
@@ -255,7 +278,7 @@ if (__DEV__) {
|
|
|
255
278
|
return false;
|
|
256
279
|
},
|
|
257
280
|
|
|
258
|
-
ignoreLogs(patterns:
|
|
281
|
+
ignoreLogs(patterns: ReadonlyArray<IgnorePattern>): void {
|
|
259
282
|
// Do nothing.
|
|
260
283
|
},
|
|
261
284
|
|
|
@@ -16,8 +16,8 @@ import * as LogBoxData from './Data/LogBoxData';
|
|
|
16
16
|
import LogBoxInspector from './UI/LogBoxInspector';
|
|
17
17
|
import * as React from 'react';
|
|
18
18
|
|
|
19
|
-
type Props =
|
|
20
|
-
logs:
|
|
19
|
+
type Props = Readonly<{
|
|
20
|
+
logs: ReadonlyArray<LogBoxLog>,
|
|
21
21
|
selectedLogIndex: number,
|
|
22
22
|
isDisabled?: ?boolean,
|
|
23
23
|
}>;
|
|
@@ -16,8 +16,8 @@ import LogBoxLog from './Data/LogBoxLog';
|
|
|
16
16
|
import LogBoxLogNotification from './UI/LogBoxNotification';
|
|
17
17
|
import * as React from 'react';
|
|
18
18
|
|
|
19
|
-
type Props =
|
|
20
|
-
logs:
|
|
19
|
+
type Props = Readonly<{
|
|
20
|
+
logs: ReadonlyArray<LogBoxLog>,
|
|
21
21
|
selectedLogIndex: number,
|
|
22
22
|
isDisabled?: ?boolean,
|
|
23
23
|
}>;
|
|
@@ -19,9 +19,9 @@ import * as LogBoxStyle from './LogBoxStyle';
|
|
|
19
19
|
import * as React from 'react';
|
|
20
20
|
import {useState} from 'react';
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
component LogBoxButton(
|
|
23
23
|
id?: string,
|
|
24
|
-
backgroundColor:
|
|
24
|
+
backgroundColor: Readonly<{
|
|
25
25
|
default: string,
|
|
26
26
|
pressed: string,
|
|
27
27
|
}>,
|
|
@@ -29,14 +29,12 @@ type Props = $ReadOnly<{
|
|
|
29
29
|
hitSlop?: ?EdgeInsetsProp,
|
|
30
30
|
onPress?: ?(event: GestureResponderEvent) => void,
|
|
31
31
|
style?: ViewStyleProp,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function LogBoxButton(props: Props): React.Node {
|
|
32
|
+
) {
|
|
35
33
|
const [pressed, setPressed] = useState(false);
|
|
36
34
|
|
|
37
|
-
let
|
|
38
|
-
if (!
|
|
39
|
-
|
|
35
|
+
let resolvedBackgroundColor = backgroundColor;
|
|
36
|
+
if (!resolvedBackgroundColor) {
|
|
37
|
+
resolvedBackgroundColor = {
|
|
40
38
|
default: LogBoxStyle.getBackgroundColor(0.95),
|
|
41
39
|
pressed: LogBoxStyle.getBackgroundColor(0.6),
|
|
42
40
|
};
|
|
@@ -44,25 +42,25 @@ function LogBoxButton(props: Props): React.Node {
|
|
|
44
42
|
|
|
45
43
|
const content = (
|
|
46
44
|
<View
|
|
47
|
-
id={
|
|
45
|
+
id={id}
|
|
48
46
|
style={StyleSheet.compose(
|
|
49
47
|
{
|
|
50
48
|
backgroundColor: pressed
|
|
51
|
-
?
|
|
52
|
-
:
|
|
49
|
+
? resolvedBackgroundColor.pressed
|
|
50
|
+
: resolvedBackgroundColor.default,
|
|
53
51
|
},
|
|
54
|
-
|
|
52
|
+
style,
|
|
55
53
|
)}>
|
|
56
|
-
{
|
|
54
|
+
{children}
|
|
57
55
|
</View>
|
|
58
56
|
);
|
|
59
57
|
|
|
60
|
-
return
|
|
58
|
+
return onPress == null ? (
|
|
61
59
|
content
|
|
62
60
|
) : (
|
|
63
61
|
<TouchableWithoutFeedback
|
|
64
|
-
hitSlop={
|
|
65
|
-
onPress={
|
|
62
|
+
hitSlop={hitSlop}
|
|
63
|
+
onPress={onPress}
|
|
66
64
|
onPressIn={() => setPressed(true)}
|
|
67
65
|
onPressOut={() => setPressed(false)}>
|
|
68
66
|
{content}
|
|
@@ -20,11 +20,11 @@ import * as LogBoxStyle from './LogBoxStyle';
|
|
|
20
20
|
import * as React from 'react';
|
|
21
21
|
import {useEffect} from 'react';
|
|
22
22
|
|
|
23
|
-
type Props =
|
|
23
|
+
type Props = Readonly<{
|
|
24
24
|
onDismiss: () => void,
|
|
25
25
|
onChangeSelectedIndex: (index: number) => void,
|
|
26
26
|
onMinimize: () => void,
|
|
27
|
-
logs:
|
|
27
|
+
logs: ReadonlyArray<LogBoxLog>,
|
|
28
28
|
selectedIndex: number,
|
|
29
29
|
fatalType?: ?LogLevel,
|
|
30
30
|
}>;
|
|
@@ -23,12 +23,7 @@ import LogBoxInspectorSection from './LogBoxInspectorSection';
|
|
|
23
23
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
componentCodeFrame: ?CodeFrame,
|
|
28
|
-
codeFrame: ?CodeFrame,
|
|
29
|
-
}>;
|
|
30
|
-
|
|
31
|
-
function CodeFrameDisplay({codeFrame}: {codeFrame: CodeFrame}): React.Node {
|
|
26
|
+
component CodeFrameDisplay(codeFrame: CodeFrame) {
|
|
32
27
|
function getFileName() {
|
|
33
28
|
// $FlowFixMe[incompatible-use]
|
|
34
29
|
const matches = /[^/]*$/.exec(codeFrame.fileName);
|
|
@@ -77,8 +72,10 @@ function CodeFrameDisplay({codeFrame}: {codeFrame: CodeFrame}): React.Node {
|
|
|
77
72
|
);
|
|
78
73
|
}
|
|
79
74
|
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
component LogBoxInspectorCodeFrame(
|
|
76
|
+
componentCodeFrame: ?CodeFrame,
|
|
77
|
+
codeFrame: ?CodeFrame,
|
|
78
|
+
) {
|
|
82
79
|
let sources = [];
|
|
83
80
|
if (codeFrame != null) {
|
|
84
81
|
sources.push(codeFrame);
|
|
@@ -103,7 +100,7 @@ function LogBoxInspectorCodeFrame(props: Props): React.Node {
|
|
|
103
100
|
);
|
|
104
101
|
}
|
|
105
102
|
|
|
106
|
-
|
|
103
|
+
component AppInfo() {
|
|
107
104
|
const appInfo = LogBoxData.getAppInfo();
|
|
108
105
|
if (appInfo == null) {
|
|
109
106
|
return null;
|
|
@@ -23,12 +23,7 @@ import LogBoxInspectorSection from './LogBoxInspectorSection';
|
|
|
23
23
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
componentCodeFrame: ?CodeFrame,
|
|
28
|
-
codeFrame: ?CodeFrame,
|
|
29
|
-
}>;
|
|
30
|
-
|
|
31
|
-
function CodeFrameDisplay({codeFrame}: {codeFrame: CodeFrame}): React.Node {
|
|
26
|
+
component CodeFrameDisplay(codeFrame: CodeFrame) {
|
|
32
27
|
function getFileName() {
|
|
33
28
|
// $FlowFixMe[incompatible-use]
|
|
34
29
|
const matches = /[^/]*$/.exec(codeFrame.fileName);
|
|
@@ -77,8 +72,10 @@ function CodeFrameDisplay({codeFrame}: {codeFrame: CodeFrame}): React.Node {
|
|
|
77
72
|
);
|
|
78
73
|
}
|
|
79
74
|
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
component LogBoxInspectorCodeFrame(
|
|
76
|
+
componentCodeFrame: ?CodeFrame,
|
|
77
|
+
codeFrame: ?CodeFrame,
|
|
78
|
+
) {
|
|
82
79
|
let sources = [];
|
|
83
80
|
if (codeFrame != null) {
|
|
84
81
|
sources.push(codeFrame);
|
|
@@ -103,7 +100,7 @@ function LogBoxInspectorCodeFrame(props: Props): React.Node {
|
|
|
103
100
|
);
|
|
104
101
|
}
|
|
105
102
|
|
|
106
|
-
|
|
103
|
+
component AppInfo() {
|
|
107
104
|
const appInfo = LogBoxData.getAppInfo();
|
|
108
105
|
if (appInfo == null) {
|
|
109
106
|
return null;
|
|
@@ -17,7 +17,7 @@ import LogBoxInspectorFooterButton from './LogBoxInspectorFooterButton';
|
|
|
17
17
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
18
18
|
import * as React from 'react';
|
|
19
19
|
|
|
20
|
-
type Props =
|
|
20
|
+
type Props = Readonly<{
|
|
21
21
|
onDismiss: () => void,
|
|
22
22
|
onMinimize: () => void,
|
|
23
23
|
level?: ?LogLevel,
|
|
@@ -20,7 +20,7 @@ import LogBoxInspectorHeaderButton from './LogBoxInspectorHeaderButton';
|
|
|
20
20
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
21
21
|
import * as React from 'react';
|
|
22
22
|
|
|
23
|
-
type Props =
|
|
23
|
+
type Props = Readonly<{
|
|
24
24
|
onSelectIndex: (selectedIndex: number) => void,
|
|
25
25
|
selectedIndex: number,
|
|
26
26
|
total: number,
|
|
@@ -20,7 +20,7 @@ import LogBoxInspectorHeaderButton from './LogBoxInspectorHeaderButton';
|
|
|
20
20
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
21
21
|
import * as React from 'react';
|
|
22
22
|
|
|
23
|
-
type Props =
|
|
23
|
+
type Props = Readonly<{
|
|
24
24
|
onSelectIndex: (selectedIndex: number) => void,
|
|
25
25
|
selectedIndex: number,
|
|
26
26
|
total: number,
|