Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/components/Search/FilterComponents/InSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import usePrivateIsArchivedMap from '@hooks/usePrivateIsArchivedMap';
import useReportAttributes from '@hooks/useReportAttributes';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';

import {searchInServer} from '@libs/actions/Report';
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
Expand Down Expand Up @@ -63,7 +63,8 @@ function InSelector({value = [], selectionListTextInputStyle, selectionListStyle
const [countryCode = CONST.DEFAULT_COUNTRY_CODE] = useOnyx(ONYXKEYS.COUNTRY_CODE);
const [loginList] = useOnyx(ONYXKEYS.LOGINS, {selector: expensifyLoginsSelector});
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;

const currentUserPersonalDetails = useCurrentUserPersonalDetails();
const currentUserAccountID = currentUserPersonalDetails.accountID;
Expand Down
5 changes: 3 additions & 2 deletions src/components/Search/SearchAutocompleteList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useReportAttributes from '@hooks/useReportAttributes';
import useResponsiveLayout from '@hooks/useResponsiveLayout';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';
import useThemeStyles from '@hooks/useThemeStyles';

import FS from '@libs/Fullstory';
Expand Down Expand Up @@ -195,7 +195,8 @@ function SearchAutocompleteList({
const [loginList] = useOnyx(ONYXKEYS.LOGINS, {selector: expensifyLoginsSelector});
const [policies = getEmptyObject<NonNullable<OnyxCollection<Policy>>>()] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
const [visibleReportActionsData] = useOnyx(ONYXKEYS.DERIVED.VISIBLE_REPORT_ACTIONS);
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const personalDetails = usePersonalDetails();
const [reports] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
const [personalAndWorkspaceCards] = useOnyx(ONYXKEYS.DERIVED.PERSONAL_AND_WORKSPACE_CARD_LIST);
Expand Down
5 changes: 3 additions & 2 deletions src/components/Search/SearchRouter/SearchRouter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import useReportAttributes from '@hooks/useReportAttributes';
import useReportOrReportDraft from '@hooks/useReportOrReportDraft';
import useResponsiveLayout from '@hooks/useResponsiveLayout';
import useRootNavigationState from '@hooks/useRootNavigationState';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';
import useThemeStyles from '@hooks/useThemeStyles';

import {scrollToRight} from '@libs/InputUtils';
Expand Down Expand Up @@ -103,7 +103,8 @@ function SearchRouter({onRouterClose, shouldHideInputCaret, isSearchRouterDispla
const [searchContext] = useOnyx(ONYXKEYS.SEARCH_CONTEXT);
const isSupportalSession = useIsSupportalSession();
const personalDetails = usePersonalDetails();
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const {shouldUseNarrowLayout} = useResponsiveLayout();
const listRef = useRef<SelectionListWithSectionsHandle>(null);
const expensifyIcons = useMemoizedLazyExpensifyIcons(['MagnifyingGlass', 'ConciergeAvatar']);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import useFilteredOptions from '@hooks/useFilteredOptions';
import useOnyx from '@hooks/useOnyx';
import useReportAttributes from '@hooks/useReportAttributes';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';

import {Scheduler} from '@libs/Scheduler';
import type {IdleTask} from '@libs/Scheduler';
Expand Down Expand Up @@ -35,12 +35,12 @@ function SearchRouterOptionsWarmer({onDone}: SearchRouterOptionsWarmerProps) {
const [policies] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST);
const reportAttributes = useReportAttributes();
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();

const churnVersionRef = useRef(0);
useEffect(() => {
churnVersionRef.current += 1;
}, [reports, policies, personalDetails, reportAttributes, sortedActions]);
}, [reports, policies, personalDetails, reportAttributes, sortedReportActionsData]);

useEffect(() => {
let attempts = 0;
Expand Down
5 changes: 3 additions & 2 deletions src/hooks/useAutocompleteSuggestions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import useExportedToFilterOptions from './useExportedToFilterOptions';
import useLoadSearchCategoryData from './useLoadSearchCategoryData';
import useLocalize from './useLocalize';
import useOnyx from './useOnyx';
import useSortedActions from './useSortedActions';
import useSortedReportActionsData from './useSortedReportActionsData';

type AutocompleteItemData = {
filterKey: UserFriendlyKey;
Expand Down Expand Up @@ -130,7 +130,8 @@ function useAutocompleteSuggestions({
const [allPoliciesTags] = useOnyx(ONYXKEYS.COLLECTION.POLICY_TAGS);
const [allRecentTags] = useOnyx(ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_TAGS);
const [bankAccountList] = useOnyx(ONYXKEYS.BANK_ACCOUNT_LIST);
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const {currencyList} = useCurrencyListState();
const {exportedToFilterOptions} = useExportedToFilterOptions();
const [isTrackIntentUser] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {selector: isTrackIntentUserSelector});
Expand Down
5 changes: 3 additions & 2 deletions src/hooks/useFilteredOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import useLocalize from './useLocalize';
import useOnyx from './useOnyx';
import usePrivateIsArchivedMap from './usePrivateIsArchivedMap';
import useReportAttributes from './useReportAttributes';
import useSortedActions from './useSortedActions';
import useSortedReportActionsData from './useSortedReportActionsData';

type UseFilteredOptionsConfig = {
/** Maximum number of recent reports to pre-filter and process (default: 500). */
Expand Down Expand Up @@ -96,7 +96,8 @@ function useFilteredOptions(config: UseFilteredOptionsConfig): UseFilteredOption

// Sorted report actions from the RAM_ONLY_SORTED_REPORT_ACTIONS derived value; a new reference on
// every recompute, so it doubles as the report-actions invalidation signal for the option-list cache.
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const {accountID: currentUserAccountID} = useCurrentUserPersonalDetails();

const privateIsArchivedMap = usePrivateIsArchivedMap();
Expand Down
5 changes: 3 additions & 2 deletions src/hooks/useSearchSelector/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import useDebouncedState from '@hooks/useDebouncedState';
import useFilteredOptions from '@hooks/useFilteredOptions';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';

import type {GetOptionsConfig, Option, OptionList, Options, SearchOption} from '@libs/OptionsListUtils';
import {getEmptyOptions, getSearchOptions, getSearchValueForPhoneOrEmail, getValidOptions} from '@libs/OptionsListUtils';
Expand Down Expand Up @@ -198,7 +198,8 @@ function useSearchSelectorBase({
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
const [draftComments] = useOnyx(ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT);
const [visibleReportActionsData] = useOnyx(ONYXKEYS.DERIVED.VISIBLE_REPORT_ACTIONS);
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
const currentUserAccountID = currentUserPersonalDetails.accountID;
const currentUserEmail = currentUserPersonalDetails.email ?? '';
Expand Down
13 changes: 0 additions & 13 deletions src/hooks/useSortedActions.ts

This file was deleted.

10 changes: 10 additions & 0 deletions src/hooks/useSortedReportActionsData.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import ONYXKEYS from '@src/ONYXKEYS';

import useOnyx from './useOnyx';

function useSortedReportActionsData() {
const [sortedReportActionsData] = useOnyx(ONYXKEYS.DERIVED.RAM_ONLY_SORTED_REPORT_ACTIONS);
return sortedReportActionsData;
}

export default useSortedReportActionsData;
5 changes: 3 additions & 2 deletions src/pages/Share/ShareTab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
import useOnyx from '@hooks/useOnyx';
import useScreenWrapperTransitionStatus from '@hooks/useScreenWrapperTransitionStatus';
import useSortedActions from '@hooks/useSortedActions';
import useSortedReportActionsData from '@hooks/useSortedReportActionsData';
import useThemeStyles from '@hooks/useThemeStyles';

import {getOptimisticChatReport, saveReportDraft, searchInServer} from '@libs/actions/Report';
Expand Down Expand Up @@ -51,7 +51,8 @@ function ShareTab() {
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
const [draftComments] = useOnyx(ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT);
const [visibleReportActionsData] = useOnyx(ONYXKEYS.DERIVED.VISIBLE_REPORT_ACTIONS);
const sortedActions = useSortedActions();
const sortedReportActionsData = useSortedReportActionsData();
const sortedActions = sortedReportActionsData?.sortedActions;
const [conciergeReportID] = useOnyx(ONYXKEYS.CONCIERGE_REPORT_ID);
const [rules] = useOnyx(ONYXKEYS.COLLECTION.RULE);
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/InSelectorTest.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jest.mock('@hooks/useOnyx', () => jest.fn(() => [undefined]));
jest.mock('@hooks/useDebouncedState', () => jest.fn(() => [mockSearchTerm, mockSearchTerm, jest.fn()]));
jest.mock('@hooks/useFilteredOptions', () => jest.fn(() => ({options: {recentReports: [], personalDetails: []}, isLoading: false})));
jest.mock('@hooks/useCurrentUserPersonalDetails', () => jest.fn(() => ({email: 'me@expensify.com', accountID: 999})));
jest.mock('@hooks/useSortedActions', () => jest.fn(() => ({})));
jest.mock('@hooks/useSortedReportActionsData', () => jest.fn(() => ({})));
jest.mock('@hooks/useReportAttributes', () => jest.fn(() => ({})));
jest.mock('@hooks/usePrivateIsArchivedMap', () => jest.fn(() => ({})));
jest.mock('@hooks/useLocalize', () =>
Expand Down
Loading