react-native-windows 0.83.0-preview.2 → 0.84.0-preview.2
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 +2 -2
- package/Folly/Folly.vcxproj +2 -0
- package/Libraries/Animated/AnimatedEvent.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
- package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
- package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +24 -22
- package/Libraries/Blob/URL.js +34 -3
- package/Libraries/Blob/URLSearchParams.js +1 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +6 -1
- package/Libraries/Components/Button.js +2 -5
- package/Libraries/Components/Button.windows.js +2 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
- package/Libraries/Components/Keyboard/Keyboard.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -8
- package/Libraries/Components/Pressable/Pressable.windows.js +14 -13
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +19 -18
- package/Libraries/Components/TextInput/TextInput.js +33 -34
- package/Libraries/Components/TextInput/TextInput.windows.js +40 -39
- package/Libraries/Components/Touchable/PooledClass.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +3 -3
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +3 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -9
- package/Libraries/Components/View/ViewPropTypes.js +16 -6
- package/Libraries/Components/View/ViewPropTypes.windows.js +21 -11
- package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +6 -3
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +2 -2
- package/Libraries/Image/Image.ios.js +2 -2
- package/Libraries/Image/Image.windows.js +2 -2
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Interaction/InteractionManager.js +3 -3
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +31 -4
- package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
- package/Libraries/LogBox/LogBox.js +7 -7
- package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.windows.js +1 -1
- package/Libraries/Network/RCTNetworking.android.js +3 -3
- package/Libraries/Network/RCTNetworking.ios.js +2 -2
- package/Libraries/Network/RCTNetworking.js.flow +2 -2
- package/Libraries/Network/RCTNetworking.windows.js +2 -2
- package/Libraries/Pressability/Pressability.js +9 -9
- package/Libraries/Pressability/Pressability.windows.js +17 -16
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.windows.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
- package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
- package/Libraries/StyleSheet/processFilter.js +1 -1
- package/Libraries/Text/Text.js +46 -6
- package/Libraries/Text/Text.windows.js +46 -6
- package/Libraries/Text/TextNativeComponent.js +1 -1
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/Text/TextProps.windows.js +7 -7
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +31 -0
- package/Libraries/Types/CoreEventTypes.windows.js +31 -13
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +2 -2
- package/Libraries/Utilities/DevLoadingView.js +8 -1
- package/Libraries/Utilities/DevSettings.js +3 -3
- package/Libraries/Utilities/HMRClient.js +4 -3
- package/Libraries/Utilities/RCTLog.js +3 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +7 -7
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
- package/Libraries/promiseRejectionTrackingOptions.js +8 -8
- package/Libraries/vendor/core/ErrorUtils.js +10 -10
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +25 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +6 -0
- package/Microsoft.ReactNative/ViewProps.idl +9 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +12 -2
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/ReactCommon/ReactCommon.vcxproj +7 -1
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +5 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +12 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/attributedstring/TextAttributes.cpp +291 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +1 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/propsConversions.h +199 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +6 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +17 -10
- package/Scripts/creaternwapp.cmd +8 -1
- package/Scripts/creaternwlib.cmd +21 -2
- package/Shared/DevSettings.h +0 -3
- package/Shared/Modules/WebSocketModule.cpp +0 -1
- package/Shared/Modules/WebSocketModule.h +62 -3
- package/Shared/OInstance.cpp +5 -0
- package/Shared/Shared.vcxitems +4 -6
- package/Shared/Shared.vcxitems.filters +218 -709
- package/codegen/NativeAccessibilityManagerSpec.g.h +2 -0
- package/codegen/NativeAnimatedModuleSpec.g.h +21 -15
- package/codegen/NativeDevLoadingViewSpec.g.h +3 -3
- package/codegen/NativeIntentAndroidSpec.g.h +16 -3
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +209 -191
- package/codegen/react/components/rnwcore/EventEmitters.h +1 -0
- package/codegen/react/components/rnwcore/Props.h +14 -0
- package/codegen/rnwcoreJSI.h +246 -211
- package/index.js +3 -0
- package/index.windows.js +3 -0
- package/jest/mock.js +2 -2
- package/jest/mockComponent.js +1 -1
- package/jest/setup.js +1 -1
- package/package.json +22 -21
- package/src/private/animated/NativeAnimatedHelper.js +130 -125
- package/src/private/animated/NativeAnimatedValidation.js +7 -4
- package/src/private/animated/createAnimatedPropsHook.js +13 -5
- package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
- package/src/private/components/virtualview/VirtualView.js +16 -9
- package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
- package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
- package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
- package/src/private/webapis/dom/events/CustomEvent.js +3 -3
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
- package/src/private/webapis/html/events/MessageEvent.js +3 -3
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
- package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
- package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
- package/src/private/webapis/performance/Performance.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
- package/src/private/webapis/structuredClone/structuredClone.js +3 -3
- package/src/types/globals.d.ts +30 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +0 -178
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +0 -183
- package/Shared/Modules/WebSocketTurboModule.h +0 -71
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
|
@@ -15,6 +15,7 @@ import type {NativeModeChangeEvent} from './VirtualViewNativeComponent';
|
|
|
15
15
|
|
|
16
16
|
import StyleSheet from '../../../../Libraries/StyleSheet/StyleSheet';
|
|
17
17
|
import * as ReactNativeFeatureFlags from '../../featureflags/ReactNativeFeatureFlags';
|
|
18
|
+
import {useVirtualViewLogging} from './logger/VirtualViewLogger';
|
|
18
19
|
import VirtualViewExperimentalNativeComponent from './VirtualViewExperimentalNativeComponent';
|
|
19
20
|
import VirtualViewClassicNativeComponent from './VirtualViewNativeComponent';
|
|
20
21
|
import nullthrows from 'nullthrows';
|
|
@@ -45,6 +46,7 @@ export type Rect = $ReadOnly<{
|
|
|
45
46
|
|
|
46
47
|
export type ModeChangeEvent = $ReadOnly<{
|
|
47
48
|
...Omit<NativeModeChangeEvent, 'mode'>,
|
|
49
|
+
renderState: VirtualViewRenderState,
|
|
48
50
|
mode: VirtualViewMode,
|
|
49
51
|
target: HostInstance,
|
|
50
52
|
}>;
|
|
@@ -90,21 +92,26 @@ function createVirtualView(initialState: State): VirtualViewComponent {
|
|
|
90
92
|
_logs.states?.push(state);
|
|
91
93
|
}
|
|
92
94
|
const isHidden = state !== NotHidden;
|
|
95
|
+
const loggingCallbacksRef = useVirtualViewLogging(isHidden, nativeID);
|
|
93
96
|
|
|
94
97
|
const handleModeChange = (
|
|
95
98
|
event: NativeSyntheticEvent<NativeModeChangeEvent>,
|
|
96
99
|
) => {
|
|
97
100
|
const mode = nullthrows(VirtualViewMode.cast(event.nativeEvent.mode));
|
|
101
|
+
const modeChangeEvent: ModeChangeEvent = {
|
|
102
|
+
mode,
|
|
103
|
+
renderState: isHidden
|
|
104
|
+
? VirtualViewRenderState.None
|
|
105
|
+
: VirtualViewRenderState.Rendered,
|
|
106
|
+
// $FlowFixMe[incompatible-type] - we know this is a HostInstance
|
|
107
|
+
target: event.currentTarget as HostInstance,
|
|
108
|
+
targetRect: event.nativeEvent.targetRect,
|
|
109
|
+
thresholdRect: event.nativeEvent.thresholdRect,
|
|
110
|
+
};
|
|
111
|
+
loggingCallbacksRef.current?.logModeChange(modeChangeEvent);
|
|
112
|
+
|
|
98
113
|
const emitModeChange =
|
|
99
|
-
onModeChange == null
|
|
100
|
-
? null
|
|
101
|
-
: onModeChange.bind(null, {
|
|
102
|
-
mode,
|
|
103
|
-
// $FlowFixMe[incompatible-type] - we know this is a HostInstance
|
|
104
|
-
target: event.currentTarget as HostInstance,
|
|
105
|
-
targetRect: event.nativeEvent.targetRect,
|
|
106
|
-
thresholdRect: event.nativeEvent.thresholdRect,
|
|
107
|
-
});
|
|
114
|
+
onModeChange == null ? null : onModeChange.bind(null, modeChangeEvent);
|
|
108
115
|
|
|
109
116
|
match (mode) {
|
|
110
117
|
VirtualViewMode.Visible => {
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type {IVirtualViewLogFunctions} from './VirtualViewLoggerTypes';
|
|
13
|
+
|
|
14
|
+
import {useRef} from 'react';
|
|
15
|
+
|
|
16
|
+
export hook useVirtualViewLogging(
|
|
17
|
+
initiallyHidden: boolean,
|
|
18
|
+
nativeID?: string,
|
|
19
|
+
): React.RefObject<?IVirtualViewLogFunctions> {
|
|
20
|
+
return useRef(null);
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type {ModeChangeEvent} from '../../../../..';
|
|
13
|
+
|
|
14
|
+
export interface IVirtualViewLogFunctions {
|
|
15
|
+
logMount: () => void;
|
|
16
|
+
logModeChange: (event: ModeChangeEvent) => void;
|
|
17
|
+
logUnmount: () => void;
|
|
18
|
+
}
|
|
19
|
+
export interface IVirtualViewLogger {
|
|
20
|
+
getVirtualViewLoggingCallbacks(
|
|
21
|
+
initiallyHidden: boolean,
|
|
22
|
+
nativeID?: string,
|
|
23
|
+
): IVirtualViewLogFunctions;
|
|
24
|
+
}
|
|
@@ -39,10 +39,6 @@ const InspectorPanel = require('./InspectorPanel').default;
|
|
|
39
39
|
const {useState} = React;
|
|
40
40
|
|
|
41
41
|
type PanelPosition = 'top' | 'bottom';
|
|
42
|
-
type SelectedTab =
|
|
43
|
-
| 'elements-inspector'
|
|
44
|
-
| 'network-profiling'
|
|
45
|
-
| 'performance-profiling';
|
|
46
42
|
|
|
47
43
|
export type InspectedElementFrame = TouchedViewDataAtPoint['frame'];
|
|
48
44
|
export type InspectedElement = $ReadOnly<{
|
|
@@ -62,8 +58,7 @@ function Inspector({
|
|
|
62
58
|
onRequestRerenderApp,
|
|
63
59
|
reactDevToolsAgent,
|
|
64
60
|
}: Props): React.Node {
|
|
65
|
-
const [
|
|
66
|
-
useState<?SelectedTab>('elements-inspector');
|
|
61
|
+
const [inspecting, setInspecting] = useState<boolean>(true);
|
|
67
62
|
|
|
68
63
|
const [panelPosition, setPanelPosition] = useState<PanelPosition>('bottom');
|
|
69
64
|
const [inspectedElement, setInspectedElement] =
|
|
@@ -137,18 +132,8 @@ function Inspector({
|
|
|
137
132
|
);
|
|
138
133
|
};
|
|
139
134
|
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
setInspectedElement(null);
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
const setPerfing = (enabled: boolean) => {
|
|
146
|
-
setSelectedTab(enabled ? 'performance-profiling' : null);
|
|
147
|
-
setInspectedElement(null);
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const setNetworking = (enabled: boolean) => {
|
|
151
|
-
setSelectedTab(enabled ? 'network-profiling' : null);
|
|
135
|
+
const handleSetInspecting = (enabled: boolean) => {
|
|
136
|
+
setInspecting(enabled);
|
|
152
137
|
setInspectedElement(null);
|
|
153
138
|
};
|
|
154
139
|
|
|
@@ -164,7 +149,7 @@ function Inspector({
|
|
|
164
149
|
|
|
165
150
|
return (
|
|
166
151
|
<View style={styles.container} pointerEvents="box-none">
|
|
167
|
-
{
|
|
152
|
+
{inspecting && (
|
|
168
153
|
<InspectorOverlay
|
|
169
154
|
inspected={inspectedElement}
|
|
170
155
|
onTouchPoint={onTouchPoint}
|
|
@@ -174,18 +159,14 @@ function Inspector({
|
|
|
174
159
|
<SafeAreaView style={[styles.panelContainer, panelContainerStyle]}>
|
|
175
160
|
<InspectorPanel
|
|
176
161
|
devtoolsIsOpen={!!reactDevToolsAgent}
|
|
177
|
-
inspecting={
|
|
178
|
-
|
|
179
|
-
setPerfing={setPerfing}
|
|
180
|
-
setInspecting={setInspecting}
|
|
162
|
+
inspecting={inspecting}
|
|
163
|
+
setInspecting={handleSetInspecting}
|
|
181
164
|
inspected={inspectedElement}
|
|
182
165
|
hierarchy={elementsHierarchy}
|
|
183
166
|
selection={selectionIndex}
|
|
184
167
|
setSelection={setSelection}
|
|
185
168
|
touchTargeting={PressabilityDebug.isEnabled()}
|
|
186
169
|
setTouchTargeting={setTouchTargeting}
|
|
187
|
-
networking={selectedTab === 'network-profiling'}
|
|
188
|
-
setNetworking={setNetworking}
|
|
189
170
|
/>
|
|
190
171
|
</SafeAreaView>
|
|
191
172
|
</View>
|
|
@@ -23,23 +23,17 @@ const View = require('../../../../../Libraries/Components/View/View').default;
|
|
|
23
23
|
const StyleSheet =
|
|
24
24
|
require('../../../../../Libraries/StyleSheet/StyleSheet').default;
|
|
25
25
|
const Text = require('../../../../../Libraries/Text/Text').default;
|
|
26
|
-
const PerformanceOverlay = require('../perfmonitor/PerformanceOverlay').default;
|
|
27
26
|
const ElementProperties = require('./ElementProperties').default;
|
|
28
|
-
const NetworkOverlay = require('./NetworkOverlay').default;
|
|
29
27
|
|
|
30
28
|
type Props = $ReadOnly<{
|
|
31
29
|
devtoolsIsOpen: boolean,
|
|
32
30
|
inspecting: boolean,
|
|
33
31
|
setInspecting: (val: boolean) => void,
|
|
34
|
-
perfing: boolean,
|
|
35
|
-
setPerfing: (val: boolean) => void,
|
|
36
32
|
touchTargeting: boolean,
|
|
37
33
|
setTouchTargeting: (val: boolean) => void,
|
|
38
|
-
networking: boolean,
|
|
39
|
-
setNetworking: (val: boolean) => void,
|
|
40
34
|
hierarchy?: ?ElementsHierarchy,
|
|
41
35
|
selection?: ?number,
|
|
42
|
-
setSelection: number =>
|
|
36
|
+
setSelection: number => unknown,
|
|
43
37
|
inspected?: ?InspectedElement,
|
|
44
38
|
}>;
|
|
45
39
|
|
|
@@ -67,10 +61,6 @@ class InspectorPanel extends React.Component<Props> {
|
|
|
67
61
|
/>
|
|
68
62
|
</ScrollView>
|
|
69
63
|
);
|
|
70
|
-
} else if (this.props.perfing) {
|
|
71
|
-
contents = <PerformanceOverlay />;
|
|
72
|
-
} else if (this.props.networking) {
|
|
73
|
-
contents = <NetworkOverlay />;
|
|
74
64
|
} else {
|
|
75
65
|
contents = <View style={styles.waiting}>{this.renderWaiting()}</View>;
|
|
76
66
|
}
|
|
@@ -83,22 +73,6 @@ class InspectorPanel extends React.Component<Props> {
|
|
|
83
73
|
pressed={this.props.inspecting}
|
|
84
74
|
onClick={this.props.setInspecting}
|
|
85
75
|
/>
|
|
86
|
-
{global.RN$Bridgeless === true ? null : (
|
|
87
|
-
// These Inspector Panel sub-features are removed under the New Arch.
|
|
88
|
-
// See https://github.com/react-native-community/discussions-and-proposals/pull/777
|
|
89
|
-
<>
|
|
90
|
-
<InspectorPanelButton
|
|
91
|
-
title={'Perf'}
|
|
92
|
-
pressed={this.props.perfing}
|
|
93
|
-
onClick={this.props.setPerfing}
|
|
94
|
-
/>
|
|
95
|
-
<InspectorPanelButton
|
|
96
|
-
title={'Network'}
|
|
97
|
-
pressed={this.props.networking}
|
|
98
|
-
onClick={this.props.setNetworking}
|
|
99
|
-
/>
|
|
100
|
-
</>
|
|
101
|
-
)}
|
|
102
76
|
<InspectorPanelButton
|
|
103
77
|
title={'Touchables'}
|
|
104
78
|
pressed={this.props.touchTargeting}
|
|
@@ -64,10 +64,11 @@ let isInterceptorEnabled = false;
|
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* A network interceptor which monkey-patches XMLHttpRequest methods
|
|
67
|
-
* to gather all network requests/responses
|
|
68
|
-
* information in the React Native inspector development tool.
|
|
67
|
+
* to gather all network requests/responses.
|
|
69
68
|
* This supports interception with XMLHttpRequest API, including Fetch API
|
|
70
69
|
* and any other third party libraries that depend on XMLHttpRequest.
|
|
70
|
+
*
|
|
71
|
+
* @deprecated Since React Native 0.84
|
|
71
72
|
*/
|
|
72
73
|
const XHRInterceptor = {
|
|
73
74
|
/**
|
|
@@ -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<<db4650fb28b7c07c73eb75775a7e7811>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -40,6 +40,7 @@ export type ReactNativeFeatureFlagsJsOnly = $ReadOnly<{
|
|
|
40
40
|
reduceDefaultPropsInImage: Getter<boolean>,
|
|
41
41
|
reduceDefaultPropsInText: Getter<boolean>,
|
|
42
42
|
shouldUseAnimatedObjectForTransform: Getter<boolean>,
|
|
43
|
+
shouldUseLinkRoleForPressableText: Getter<boolean>,
|
|
43
44
|
shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
|
|
44
45
|
shouldUseSetNativePropsInFabric: Getter<boolean>,
|
|
45
46
|
virtualViewActivityBehavior: Getter<string>,
|
|
@@ -53,14 +54,16 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
53
54
|
commonTestFlagWithoutNativeImplementation: Getter<boolean>,
|
|
54
55
|
cdpInteractionMetricsEnabled: Getter<boolean>,
|
|
55
56
|
cxxNativeAnimatedEnabled: Getter<boolean>,
|
|
56
|
-
cxxNativeAnimatedRemoveJsSync: Getter<boolean>,
|
|
57
57
|
disableEarlyViewCommandExecution: Getter<boolean>,
|
|
58
|
-
|
|
58
|
+
disableImageViewPreallocationAndroid: Getter<boolean>,
|
|
59
59
|
disableMountItemReorderingAndroid: Getter<boolean>,
|
|
60
60
|
disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean>,
|
|
61
|
+
disableSubviewClippingAndroid: Getter<boolean>,
|
|
61
62
|
disableTextLayoutManagerCacheAndroid: Getter<boolean>,
|
|
63
|
+
disableViewPreallocationAndroid: Getter<boolean>,
|
|
62
64
|
enableAccessibilityOrder: Getter<boolean>,
|
|
63
65
|
enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean>,
|
|
66
|
+
enableAndroidAntialiasedBorderRadiusClipping: Getter<boolean>,
|
|
64
67
|
enableAndroidLinearText: Getter<boolean>,
|
|
65
68
|
enableAndroidTextMeasurementOptimizations: Getter<boolean>,
|
|
66
69
|
enableBridgelessArchitecture: Getter<boolean>,
|
|
@@ -70,12 +73,14 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
70
73
|
enableDoubleMeasurementFixAndroid: Getter<boolean>,
|
|
71
74
|
enableEagerMainQueueModulesOnIOS: Getter<boolean>,
|
|
72
75
|
enableEagerRootViewAttachment: Getter<boolean>,
|
|
76
|
+
enableExclusivePropsUpdateAndroid: Getter<boolean>,
|
|
73
77
|
enableFabricLogs: Getter<boolean>,
|
|
74
78
|
enableFabricRenderer: Getter<boolean>,
|
|
75
79
|
enableFontScaleChangesUpdatingLayout: Getter<boolean>,
|
|
76
80
|
enableIOSTextBaselineOffsetPerLine: Getter<boolean>,
|
|
77
81
|
enableIOSViewClipToPaddingBox: Getter<boolean>,
|
|
78
82
|
enableImagePrefetchingAndroid: Getter<boolean>,
|
|
83
|
+
enableImagePrefetchingJNIBatchingAndroid: Getter<boolean>,
|
|
79
84
|
enableImagePrefetchingOnUiThreadAndroid: Getter<boolean>,
|
|
80
85
|
enableImmediateUpdateModeForContentOffsetChanges: Getter<boolean>,
|
|
81
86
|
enableImperativeFocus: Getter<boolean>,
|
|
@@ -90,7 +95,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
90
95
|
enableNetworkEventReporting: Getter<boolean>,
|
|
91
96
|
enablePreparedTextLayout: Getter<boolean>,
|
|
92
97
|
enablePropsUpdateReconciliationAndroid: Getter<boolean>,
|
|
93
|
-
enableResourceTimingAPI: Getter<boolean>,
|
|
94
98
|
enableSwiftUIBasedFilters: Getter<boolean>,
|
|
95
99
|
enableViewCulling: Getter<boolean>,
|
|
96
100
|
enableViewRecycling: Getter<boolean>,
|
|
@@ -98,13 +102,13 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
98
102
|
enableViewRecyclingForScrollView: Getter<boolean>,
|
|
99
103
|
enableViewRecyclingForText: Getter<boolean>,
|
|
100
104
|
enableViewRecyclingForView: Getter<boolean>,
|
|
101
|
-
enableVirtualViewClippingWithoutScrollViewClipping: Getter<boolean>,
|
|
102
105
|
enableVirtualViewContainerStateExperimental: Getter<boolean>,
|
|
103
106
|
enableVirtualViewDebugFeatures: Getter<boolean>,
|
|
104
107
|
enableVirtualViewRenderState: Getter<boolean>,
|
|
105
108
|
enableVirtualViewWindowFocusDetection: Getter<boolean>,
|
|
106
109
|
enableWebPerformanceAPIsByDefault: Getter<boolean>,
|
|
107
110
|
fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
|
|
111
|
+
fixTextClippingAndroid15useBoundsForWidth: Getter<boolean>,
|
|
108
112
|
fuseboxAssertSingleHostState: Getter<boolean>,
|
|
109
113
|
fuseboxEnabledRelease: Getter<boolean>,
|
|
110
114
|
fuseboxNetworkInspectionEnabled: Getter<boolean>,
|
|
@@ -115,17 +119,17 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
115
119
|
preparedTextCacheSize: Getter<number>,
|
|
116
120
|
preventShadowTreeCommitExhaustion: Getter<boolean>,
|
|
117
121
|
shouldPressibilityUseW3CPointerEventsForHover: Getter<boolean>,
|
|
122
|
+
shouldResetClickableWhenRecyclingView: Getter<boolean>,
|
|
123
|
+
shouldResetOnClickListenerWhenRecyclingView: Getter<boolean>,
|
|
124
|
+
shouldSetEnabledBasedOnAccessibilityState: Getter<boolean>,
|
|
125
|
+
shouldSetIsClickableByDefault: Getter<boolean>,
|
|
118
126
|
shouldTriggerResponderTransferOnScrollAndroid: Getter<boolean>,
|
|
119
127
|
skipActivityIdentityAssertionOnHostPause: Getter<boolean>,
|
|
120
|
-
sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean>,
|
|
121
128
|
traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
|
|
122
129
|
updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
|
|
123
130
|
useAlwaysAvailableJSErrorHandling: Getter<boolean>,
|
|
124
131
|
useFabricInterop: Getter<boolean>,
|
|
125
|
-
useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean>,
|
|
126
|
-
useNativeTransformHelperAndroid: Getter<boolean>,
|
|
127
132
|
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
128
|
-
useOptimizedEventBatchingOnAndroid: Getter<boolean>,
|
|
129
133
|
useRawPropsJsiValue: Getter<boolean>,
|
|
130
134
|
useShadowNodeStateOnClone: Getter<boolean>,
|
|
131
135
|
useSharedAnimatedBackend: Getter<boolean>,
|
|
@@ -197,6 +201,11 @@ export const reduceDefaultPropsInText: Getter<boolean> = createJavaScriptFlagGet
|
|
|
197
201
|
*/
|
|
198
202
|
export const shouldUseAnimatedObjectForTransform: Getter<boolean> = createJavaScriptFlagGetter('shouldUseAnimatedObjectForTransform', false);
|
|
199
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Set accessibilityRole to "link" for pressable Text components by default.
|
|
206
|
+
*/
|
|
207
|
+
export const shouldUseLinkRoleForPressableText: Getter<boolean> = createJavaScriptFlagGetter('shouldUseLinkRoleForPressableText', true);
|
|
208
|
+
|
|
200
209
|
/**
|
|
201
210
|
* removeClippedSubviews prop will be used as the default in FlatList on iOS to match Android
|
|
202
211
|
*/
|
|
@@ -228,18 +237,14 @@ export const cdpInteractionMetricsEnabled: Getter<boolean> = createNativeFlagGet
|
|
|
228
237
|
* Use a C++ implementation of Native Animated instead of the platform implementation.
|
|
229
238
|
*/
|
|
230
239
|
export const cxxNativeAnimatedEnabled: Getter<boolean> = createNativeFlagGetter('cxxNativeAnimatedEnabled', false);
|
|
231
|
-
/**
|
|
232
|
-
* Removes JS sync at end of native animation
|
|
233
|
-
*/
|
|
234
|
-
export const cxxNativeAnimatedRemoveJsSync: Getter<boolean> = createNativeFlagGetter('cxxNativeAnimatedRemoveJsSync', false);
|
|
235
240
|
/**
|
|
236
241
|
* Dispatch view commands in mount item order.
|
|
237
242
|
*/
|
|
238
243
|
export const disableEarlyViewCommandExecution: Getter<boolean> = createNativeFlagGetter('disableEarlyViewCommandExecution', false);
|
|
239
244
|
/**
|
|
240
|
-
*
|
|
245
|
+
* Force disable view preallocation for images triggered from createNode off the main thread on Android
|
|
241
246
|
*/
|
|
242
|
-
export const
|
|
247
|
+
export const disableImageViewPreallocationAndroid: Getter<boolean> = createNativeFlagGetter('disableImageViewPreallocationAndroid', false);
|
|
243
248
|
/**
|
|
244
249
|
* Prevent FabricMountingManager from reordering mountItems, which may lead to invalid state on the UI thread
|
|
245
250
|
*/
|
|
@@ -248,10 +253,18 @@ export const disableMountItemReorderingAndroid: Getter<boolean> = createNativeFl
|
|
|
248
253
|
* Disable some workarounds for old Android versions in TextLayoutManager logic for retrieving attachment metrics
|
|
249
254
|
*/
|
|
250
255
|
export const disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean> = createNativeFlagGetter('disableOldAndroidAttachmentMetricsWorkarounds', true);
|
|
256
|
+
/**
|
|
257
|
+
* Force disable subview clipping for ReactViewGroup on Android
|
|
258
|
+
*/
|
|
259
|
+
export const disableSubviewClippingAndroid: Getter<boolean> = createNativeFlagGetter('disableSubviewClippingAndroid', false);
|
|
251
260
|
/**
|
|
252
261
|
* Turns off the global measurement cache used by TextLayoutManager on Android.
|
|
253
262
|
*/
|
|
254
263
|
export const disableTextLayoutManagerCacheAndroid: Getter<boolean> = createNativeFlagGetter('disableTextLayoutManagerCacheAndroid', false);
|
|
264
|
+
/**
|
|
265
|
+
* Force disable view preallocation triggered from createNode off the main thread on Android
|
|
266
|
+
*/
|
|
267
|
+
export const disableViewPreallocationAndroid: Getter<boolean> = createNativeFlagGetter('disableViewPreallocationAndroid', false);
|
|
255
268
|
/**
|
|
256
269
|
* When enabled, the accessibilityOrder prop will propagate to native platforms and define the accessibility order.
|
|
257
270
|
*/
|
|
@@ -260,6 +273,10 @@ export const enableAccessibilityOrder: Getter<boolean> = createNativeFlagGetter(
|
|
|
260
273
|
* When enabled, Android will accumulate updates in rawProps to reduce the number of mounting instructions for cascading re-renders.
|
|
261
274
|
*/
|
|
262
275
|
export const enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean> = createNativeFlagGetter('enableAccumulatedUpdatesInRawPropsAndroid', false);
|
|
276
|
+
/**
|
|
277
|
+
* Enable antialiased border radius clipping for Android API 28 and below using manual masking with Porter-Duff compositing
|
|
278
|
+
*/
|
|
279
|
+
export const enableAndroidAntialiasedBorderRadiusClipping: Getter<boolean> = createNativeFlagGetter('enableAndroidAntialiasedBorderRadiusClipping', false);
|
|
263
280
|
/**
|
|
264
281
|
* Enables linear text rendering on Android wherever subpixel text rendering is enabled
|
|
265
282
|
*/
|
|
@@ -296,6 +313,10 @@ export const enableEagerMainQueueModulesOnIOS: Getter<boolean> = createNativeFla
|
|
|
296
313
|
* Feature flag to configure eager attachment of the root view/initialisation of the JS code.
|
|
297
314
|
*/
|
|
298
315
|
export const enableEagerRootViewAttachment: Getter<boolean> = createNativeFlagGetter('enableEagerRootViewAttachment', false);
|
|
316
|
+
/**
|
|
317
|
+
* When enabled, Android will disable Props 1.5 raw value merging when Props 2.0 is available.
|
|
318
|
+
*/
|
|
319
|
+
export const enableExclusivePropsUpdateAndroid: Getter<boolean> = createNativeFlagGetter('enableExclusivePropsUpdateAndroid', false);
|
|
299
320
|
/**
|
|
300
321
|
* This feature flag enables logs for Fabric.
|
|
301
322
|
*/
|
|
@@ -320,6 +341,10 @@ export const enableIOSViewClipToPaddingBox: Getter<boolean> = createNativeFlagGe
|
|
|
320
341
|
* When enabled, Android will build and initiate image prefetch requests on ImageShadowNode::layout
|
|
321
342
|
*/
|
|
322
343
|
export const enableImagePrefetchingAndroid: Getter<boolean> = createNativeFlagGetter('enableImagePrefetchingAndroid', false);
|
|
344
|
+
/**
|
|
345
|
+
* When enabled, Android will build and initiate image prefetch requests on ImageShadowNode::layout and batch them together in a single JNI call
|
|
346
|
+
*/
|
|
347
|
+
export const enableImagePrefetchingJNIBatchingAndroid: Getter<boolean> = createNativeFlagGetter('enableImagePrefetchingJNIBatchingAndroid', false);
|
|
323
348
|
/**
|
|
324
349
|
* When enabled, Android will initiate image prefetch requested on ImageShadowNode::layout on the UI thread
|
|
325
350
|
*/
|
|
@@ -365,7 +390,7 @@ export const enableModuleArgumentNSNullConversionIOS: Getter<boolean> = createNa
|
|
|
365
390
|
*/
|
|
366
391
|
export const enableNativeCSSParsing: Getter<boolean> = createNativeFlagGetter('enableNativeCSSParsing', false);
|
|
367
392
|
/**
|
|
368
|
-
* Enable network event reporting hooks in each native platform through `NetworkReporter
|
|
393
|
+
* 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.
|
|
369
394
|
*/
|
|
370
395
|
export const enableNetworkEventReporting: Getter<boolean> = createNativeFlagGetter('enableNetworkEventReporting', true);
|
|
371
396
|
/**
|
|
@@ -376,10 +401,6 @@ export const enablePreparedTextLayout: Getter<boolean> = createNativeFlagGetter(
|
|
|
376
401
|
* When enabled, Android will receive prop updates based on the differences between the last rendered shadow node and the last committed shadow node.
|
|
377
402
|
*/
|
|
378
403
|
export const enablePropsUpdateReconciliationAndroid: Getter<boolean> = createNativeFlagGetter('enablePropsUpdateReconciliationAndroid', false);
|
|
379
|
-
/**
|
|
380
|
-
* Enables the reporting of network resource timings through `PerformanceObserver`.
|
|
381
|
-
*/
|
|
382
|
-
export const enableResourceTimingAPI: Getter<boolean> = createNativeFlagGetter('enableResourceTimingAPI', true);
|
|
383
404
|
/**
|
|
384
405
|
* When enabled, it will use SwiftUI for filter effects like blur on iOS.
|
|
385
406
|
*/
|
|
@@ -408,10 +429,6 @@ export const enableViewRecyclingForText: Getter<boolean> = createNativeFlagGette
|
|
|
408
429
|
* Enables View Recycling for <View> via ReactViewGroup/ReactViewManager.
|
|
409
430
|
*/
|
|
410
431
|
export const enableViewRecyclingForView: Getter<boolean> = createNativeFlagGetter('enableViewRecyclingForView', true);
|
|
411
|
-
/**
|
|
412
|
-
* Set clipping to drawingRect of ScrollView.
|
|
413
|
-
*/
|
|
414
|
-
export const enableVirtualViewClippingWithoutScrollViewClipping: Getter<boolean> = createNativeFlagGetter('enableVirtualViewClippingWithoutScrollViewClipping', true);
|
|
415
432
|
/**
|
|
416
433
|
* Enables the experimental version of `VirtualViewContainerState`.
|
|
417
434
|
*/
|
|
@@ -436,6 +453,10 @@ export const enableWebPerformanceAPIsByDefault: Getter<boolean> = createNativeFl
|
|
|
436
453
|
* Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
|
|
437
454
|
*/
|
|
438
455
|
export const fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean> = createNativeFlagGetter('fixMappingOfEventPrioritiesBetweenFabricAndReact', false);
|
|
456
|
+
/**
|
|
457
|
+
* Fix text clipping starting in Android 15 due to usage of useBoundsForWidth
|
|
458
|
+
*/
|
|
459
|
+
export const fixTextClippingAndroid15useBoundsForWidth: Getter<boolean> = createNativeFlagGetter('fixTextClippingAndroid15useBoundsForWidth', false);
|
|
439
460
|
/**
|
|
440
461
|
* 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`.
|
|
441
462
|
*/
|
|
@@ -457,7 +478,7 @@ export const hideOffscreenVirtualViewsOnIOS: Getter<boolean> = createNativeFlagG
|
|
|
457
478
|
*/
|
|
458
479
|
export const overrideBySynchronousMountPropsAtMountingAndroid: Getter<boolean> = createNativeFlagGetter('overrideBySynchronousMountPropsAtMountingAndroid', false);
|
|
459
480
|
/**
|
|
460
|
-
* Enable reporting Performance Issues (`detail.
|
|
481
|
+
* Enable reporting Performance Issues (`detail.devtools.performanceIssue`). Displayed in the V2 Performance Monitor and the "Performance Issues" sub-panel in DevTools.
|
|
461
482
|
*/
|
|
462
483
|
export const perfIssuesEnabled: Getter<boolean> = createNativeFlagGetter('perfIssuesEnabled', false);
|
|
463
484
|
/**
|
|
@@ -476,6 +497,22 @@ export const preventShadowTreeCommitExhaustion: Getter<boolean> = createNativeFl
|
|
|
476
497
|
* Function used to enable / disable Pressibility from using W3C Pointer Events for its hover callbacks
|
|
477
498
|
*/
|
|
478
499
|
export const shouldPressibilityUseW3CPointerEventsForHover: Getter<boolean> = createNativeFlagGetter('shouldPressibilityUseW3CPointerEventsForHover', false);
|
|
500
|
+
/**
|
|
501
|
+
* Reset isClickable to false when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling.
|
|
502
|
+
*/
|
|
503
|
+
export const shouldResetClickableWhenRecyclingView: Getter<boolean> = createNativeFlagGetter('shouldResetClickableWhenRecyclingView', true);
|
|
504
|
+
/**
|
|
505
|
+
* Reset OnClickListener to null when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling.
|
|
506
|
+
*/
|
|
507
|
+
export const shouldResetOnClickListenerWhenRecyclingView: Getter<boolean> = createNativeFlagGetter('shouldResetOnClickListenerWhenRecyclingView', true);
|
|
508
|
+
/**
|
|
509
|
+
* Fix BaseViewManager to properly set view.setEnabled() based on accessibilityState.disabled.
|
|
510
|
+
*/
|
|
511
|
+
export const shouldSetEnabledBasedOnAccessibilityState: Getter<boolean> = createNativeFlagGetter('shouldSetEnabledBasedOnAccessibilityState', true);
|
|
512
|
+
/**
|
|
513
|
+
* Sets isClickable=true by default on all React Native views on Android to improve UI harvesting detection while maintaining focusable=false to preserve expected behavior.
|
|
514
|
+
*/
|
|
515
|
+
export const shouldSetIsClickableByDefault: Getter<boolean> = createNativeFlagGetter('shouldSetIsClickableByDefault', false);
|
|
479
516
|
/**
|
|
480
517
|
* Do not emit touchcancel from Android ScrollView, instead native topScroll event will trigger responder transfer and terminate in RN renderer.
|
|
481
518
|
*/
|
|
@@ -484,10 +521,6 @@ export const shouldTriggerResponderTransferOnScrollAndroid: Getter<boolean> = cr
|
|
|
484
521
|
* Skip activity identity assertion in ReactHostImpl::onHostPause()
|
|
485
522
|
*/
|
|
486
523
|
export const skipActivityIdentityAssertionOnHostPause: Getter<boolean> = createNativeFlagGetter('skipActivityIdentityAssertionOnHostPause', false);
|
|
487
|
-
/**
|
|
488
|
-
* A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
|
|
489
|
-
*/
|
|
490
|
-
export const sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean> = createNativeFlagGetter('sweepActiveTouchOnChildNativeGesturesAndroid', true);
|
|
491
524
|
/**
|
|
492
525
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
493
526
|
*/
|
|
@@ -504,22 +537,10 @@ export const useAlwaysAvailableJSErrorHandling: Getter<boolean> = createNativeFl
|
|
|
504
537
|
* Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.
|
|
505
538
|
*/
|
|
506
539
|
export const useFabricInterop: Getter<boolean> = createNativeFlagGetter('useFabricInterop', true);
|
|
507
|
-
/**
|
|
508
|
-
* Use a native implementation of equals in NativeReadableArray.
|
|
509
|
-
*/
|
|
510
|
-
export const useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean> = createNativeFlagGetter('useNativeEqualsInNativeReadableArrayAndroid', true);
|
|
511
|
-
/**
|
|
512
|
-
* Use a native implementation of TransformHelper
|
|
513
|
-
*/
|
|
514
|
-
export const useNativeTransformHelperAndroid: Getter<boolean> = createNativeFlagGetter('useNativeTransformHelperAndroid', true);
|
|
515
540
|
/**
|
|
516
541
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
517
542
|
*/
|
|
518
543
|
export const useNativeViewConfigsInBridgelessMode: Getter<boolean> = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);
|
|
519
|
-
/**
|
|
520
|
-
* Uses an optimized mechanism for event batching on Android that does not need to wait for a Choreographer frame callback.
|
|
521
|
-
*/
|
|
522
|
-
export const useOptimizedEventBatchingOnAndroid: Getter<boolean> = createNativeFlagGetter('useOptimizedEventBatchingOnAndroid', false);
|
|
523
544
|
/**
|
|
524
545
|
* Instead of using folly::dynamic as internal representation in RawProps and RawValue, use jsi::Value
|
|
525
546
|
*/
|
|
@@ -527,7 +548,7 @@ export const useRawPropsJsiValue: Getter<boolean> = createNativeFlagGetter('useR
|
|
|
527
548
|
/**
|
|
528
549
|
* Use the state stored on the source shadow node when cloning it instead of reading in the most recent state on the shadow node family.
|
|
529
550
|
*/
|
|
530
|
-
export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone',
|
|
551
|
+
export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone', true);
|
|
531
552
|
/**
|
|
532
553
|
* Use shared animation backend in C++ Animated
|
|
533
554
|
*/
|
|
@@ -67,13 +67,13 @@ export function createJavaScriptFlagGetter<
|
|
|
67
67
|
);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
type NativeFeatureFlags =
|
|
70
|
+
type NativeFeatureFlags = NonNullable<typeof NativeReactNativeFeatureFlags>;
|
|
71
71
|
|
|
72
72
|
export function createNativeFlagGetter<K: $Keys<NativeFeatureFlags>>(
|
|
73
73
|
configName: K,
|
|
74
|
-
defaultValue: ReturnType
|
|
74
|
+
defaultValue: ReturnType<NonNullable<NativeFeatureFlags[K]>>,
|
|
75
75
|
skipUnavailableNativeModuleError: boolean = false,
|
|
76
|
-
): Getter<ReturnType
|
|
76
|
+
): Getter<ReturnType<NonNullable<NativeFeatureFlags[K]>>> {
|
|
77
77
|
return createGetter(
|
|
78
78
|
configName,
|
|
79
79
|
() => {
|
|
@@ -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<<14b4f8916fccd1d255b4a260556d11da>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -28,14 +28,16 @@ export interface Spec extends TurboModule {
|
|
|
28
28
|
+commonTestFlagWithoutNativeImplementation?: () => boolean;
|
|
29
29
|
+cdpInteractionMetricsEnabled?: () => boolean;
|
|
30
30
|
+cxxNativeAnimatedEnabled?: () => boolean;
|
|
31
|
-
+cxxNativeAnimatedRemoveJsSync?: () => boolean;
|
|
32
31
|
+disableEarlyViewCommandExecution?: () => boolean;
|
|
33
|
-
+
|
|
32
|
+
+disableImageViewPreallocationAndroid?: () => boolean;
|
|
34
33
|
+disableMountItemReorderingAndroid?: () => boolean;
|
|
35
34
|
+disableOldAndroidAttachmentMetricsWorkarounds?: () => boolean;
|
|
35
|
+
+disableSubviewClippingAndroid?: () => boolean;
|
|
36
36
|
+disableTextLayoutManagerCacheAndroid?: () => boolean;
|
|
37
|
+
+disableViewPreallocationAndroid?: () => boolean;
|
|
37
38
|
+enableAccessibilityOrder?: () => boolean;
|
|
38
39
|
+enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
|
|
40
|
+
+enableAndroidAntialiasedBorderRadiusClipping?: () => boolean;
|
|
39
41
|
+enableAndroidLinearText?: () => boolean;
|
|
40
42
|
+enableAndroidTextMeasurementOptimizations?: () => boolean;
|
|
41
43
|
+enableBridgelessArchitecture?: () => boolean;
|
|
@@ -45,12 +47,14 @@ export interface Spec extends TurboModule {
|
|
|
45
47
|
+enableDoubleMeasurementFixAndroid?: () => boolean;
|
|
46
48
|
+enableEagerMainQueueModulesOnIOS?: () => boolean;
|
|
47
49
|
+enableEagerRootViewAttachment?: () => boolean;
|
|
50
|
+
+enableExclusivePropsUpdateAndroid?: () => boolean;
|
|
48
51
|
+enableFabricLogs?: () => boolean;
|
|
49
52
|
+enableFabricRenderer?: () => boolean;
|
|
50
53
|
+enableFontScaleChangesUpdatingLayout?: () => boolean;
|
|
51
54
|
+enableIOSTextBaselineOffsetPerLine?: () => boolean;
|
|
52
55
|
+enableIOSViewClipToPaddingBox?: () => boolean;
|
|
53
56
|
+enableImagePrefetchingAndroid?: () => boolean;
|
|
57
|
+
+enableImagePrefetchingJNIBatchingAndroid?: () => boolean;
|
|
54
58
|
+enableImagePrefetchingOnUiThreadAndroid?: () => boolean;
|
|
55
59
|
+enableImmediateUpdateModeForContentOffsetChanges?: () => boolean;
|
|
56
60
|
+enableImperativeFocus?: () => boolean;
|
|
@@ -65,7 +69,6 @@ export interface Spec extends TurboModule {
|
|
|
65
69
|
+enableNetworkEventReporting?: () => boolean;
|
|
66
70
|
+enablePreparedTextLayout?: () => boolean;
|
|
67
71
|
+enablePropsUpdateReconciliationAndroid?: () => boolean;
|
|
68
|
-
+enableResourceTimingAPI?: () => boolean;
|
|
69
72
|
+enableSwiftUIBasedFilters?: () => boolean;
|
|
70
73
|
+enableViewCulling?: () => boolean;
|
|
71
74
|
+enableViewRecycling?: () => boolean;
|
|
@@ -73,13 +76,13 @@ export interface Spec extends TurboModule {
|
|
|
73
76
|
+enableViewRecyclingForScrollView?: () => boolean;
|
|
74
77
|
+enableViewRecyclingForText?: () => boolean;
|
|
75
78
|
+enableViewRecyclingForView?: () => boolean;
|
|
76
|
-
+enableVirtualViewClippingWithoutScrollViewClipping?: () => boolean;
|
|
77
79
|
+enableVirtualViewContainerStateExperimental?: () => boolean;
|
|
78
80
|
+enableVirtualViewDebugFeatures?: () => boolean;
|
|
79
81
|
+enableVirtualViewRenderState?: () => boolean;
|
|
80
82
|
+enableVirtualViewWindowFocusDetection?: () => boolean;
|
|
81
83
|
+enableWebPerformanceAPIsByDefault?: () => boolean;
|
|
82
84
|
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
|
85
|
+
+fixTextClippingAndroid15useBoundsForWidth?: () => boolean;
|
|
83
86
|
+fuseboxAssertSingleHostState?: () => boolean;
|
|
84
87
|
+fuseboxEnabledRelease?: () => boolean;
|
|
85
88
|
+fuseboxNetworkInspectionEnabled?: () => boolean;
|
|
@@ -90,17 +93,17 @@ export interface Spec extends TurboModule {
|
|
|
90
93
|
+preparedTextCacheSize?: () => number;
|
|
91
94
|
+preventShadowTreeCommitExhaustion?: () => boolean;
|
|
92
95
|
+shouldPressibilityUseW3CPointerEventsForHover?: () => boolean;
|
|
96
|
+
+shouldResetClickableWhenRecyclingView?: () => boolean;
|
|
97
|
+
+shouldResetOnClickListenerWhenRecyclingView?: () => boolean;
|
|
98
|
+
+shouldSetEnabledBasedOnAccessibilityState?: () => boolean;
|
|
99
|
+
+shouldSetIsClickableByDefault?: () => boolean;
|
|
93
100
|
+shouldTriggerResponderTransferOnScrollAndroid?: () => boolean;
|
|
94
101
|
+skipActivityIdentityAssertionOnHostPause?: () => boolean;
|
|
95
|
-
+sweepActiveTouchOnChildNativeGesturesAndroid?: () => boolean;
|
|
96
102
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
97
103
|
+updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
|
|
98
104
|
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
99
105
|
+useFabricInterop?: () => boolean;
|
|
100
|
-
+useNativeEqualsInNativeReadableArrayAndroid?: () => boolean;
|
|
101
|
-
+useNativeTransformHelperAndroid?: () => boolean;
|
|
102
106
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
103
|
-
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
104
107
|
+useRawPropsJsiValue?: () => boolean;
|
|
105
108
|
+useShadowNodeStateOnClone?: () => boolean;
|
|
106
109
|
+useSharedAnimatedBackend?: () => boolean;
|