Skip to content

Commit ab73561

Browse files
committed
Merge branch 'main' of https://github.com/Expensify/App into chore/bump-onyx-to-3.0.68
2 parents 2584619 + c0f0d68 commit ab73561

135 files changed

Lines changed: 155 additions & 20 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/eslint/eslint.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ const restrictedImportPaths = [
5555
'ActivityIndicator',
5656
'Animated',
5757
'findNodeHandle',
58+
'InteractionManager',
5859
],
5960
message: [
6061
'',
@@ -65,6 +66,7 @@ const restrictedImportPaths = [
6566
"For 'ScrollView', please use '@components/ScrollView' instead.",
6667
"For 'ActivityIndicator', please use '@components/ActivityIndicator' instead.",
6768
"For 'Animated', please use 'Animated' from 'react-native-reanimated' instead.",
69+
"For 'InteractionManager', please use afterTransition callbacks on Navigation/KeyboardUtils or other alternatives. See contributingGuides/INTERACTION_MANAGER.md.",
6870
].join('\n'),
6971
},
7072
{
@@ -155,6 +157,11 @@ const restrictedImportPaths = [
155157
];
156158

157159
const restrictedImportPatterns = [
160+
{
161+
group: ['**/TransitionTracker', './TransitionTracker', '../TransitionTracker'],
162+
message:
163+
"TransitionTracker is an internal primitive. Please use higher-level APIs (Navigation with 'afterTransition'/'waitForTransition', KeyboardUtils, useConfirmModal). See contributingGuides/INTERACTION_MANAGER.md.",
164+
},
158165
{
159166
group: ['**/assets/animations/**/*.json'],
160167
message: "Do not import animations directly. Please use the '@components/LottieAnimations' import instead.",

src/components/AddUnreportedExpenseFooter.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
// eslint-disable-next-line no-restricted-imports
23
import {InteractionManager} from 'react-native';
34
import type {OnyxCollection, OnyxEntry} from 'react-native-onyx';
45
import useLocalize from '@hooks/useLocalize';

src/components/AutoSubmitModal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, {useCallback, useMemo} from 'react';
2+
// eslint-disable-next-line no-restricted-imports
23
import {InteractionManager, View} from 'react-native';
34
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
45
import useLocalize from '@hooks/useLocalize';

src/components/AvatarCropModal/AvatarCropModal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, {useCallback, useEffect, useMemo, useState} from 'react';
2+
// eslint-disable-next-line no-restricted-imports
23
import {InteractionManager, View} from 'react-native';
34
import type {LayoutChangeEvent} from 'react-native';
45
import {Gesture, GestureHandlerRootView} from 'react-native-gesture-handler';

src/components/ContactPermissionModal/index.native.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, {useEffect, useState} from 'react';
2+
// eslint-disable-next-line no-restricted-imports
23
import {InteractionManager} from 'react-native';
34
import {RESULTS} from 'react-native-permissions';
45
import ConfirmModal from '@components/ConfirmModal';

src/components/DatePicker/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {format, setYear} from 'date-fns';
22
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
3+
// eslint-disable-next-line no-restricted-imports
34
import {InteractionManager, View} from 'react-native';
45
import TextInput from '@components/TextInput';
56
import type {BaseTextInputRef} from '@components/TextInput/BaseTextInput/types';

src/components/FeatureTrainingModal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type {ImageContentFit} from 'expo-image';
22
import type {SourceLoadEventPayload} from 'expo-video';
33
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
4+
// eslint-disable-next-line no-restricted-imports
45
import {Image, InteractionManager, View} from 'react-native';
56
// eslint-disable-next-line no-restricted-imports
67
import type {ImageResizeMode, ImageSourcePropType, LayoutChangeEvent, ScrollView as RNScrollView, StyleProp, TextStyle, ViewStyle} from 'react-native';

src/components/Form/FormProvider.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {deepEqual} from 'fast-equals';
22
import type {ForwardedRef, ReactNode, RefObject} from 'react';
33
import React, {createRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react';
4+
// eslint-disable-next-line no-restricted-imports
45
import {InteractionManager} from 'react-native';
56
import type {StyleProp, TextInputSubmitEditingEvent, ViewStyle} from 'react-native';
67
import type {ValueOf} from 'type-fest';

src/components/Form/FormWrapper.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, {useContext, useImperativeHandle, useRef} from 'react';
22
import type {ForwardedRef, RefObject} from 'react';
33
// eslint-disable-next-line no-restricted-imports
44
import type {ScrollView as RNScrollView, StyleProp, ViewStyle} from 'react-native';
5+
// eslint-disable-next-line no-restricted-imports
56
import {InteractionManager, Keyboard, View} from 'react-native';
67
import FormAlertWithSubmitButton from '@components/FormAlertWithSubmitButton';
78
import FormElement from '@components/FormElement';

src/components/Lottie/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {NavigationContainerRefContext, NavigationContext} from '@react-navigatio
22
import type {AnimationObject, LottieViewProps} from 'lottie-react-native';
33
import LottieView from 'lottie-react-native';
44
import React, {useContext, useEffect, useRef, useState} from 'react';
5+
// eslint-disable-next-line no-restricted-imports
56
import {InteractionManager, View} from 'react-native';
67
import type DotLottieAnimation from '@components/LottieAnimations/types';
78
import useAppState from '@hooks/useAppState';

0 commit comments

Comments
 (0)