Skip to content

Commit 2300dfa

Browse files
authored
Merge pull request Expensify#87796 from Expensify/claude-excludeHiddenRoomsFromSearch
2 parents 383e6d0 + d80f684 commit 2300dfa

3 files changed

Lines changed: 17 additions & 9 deletions

File tree

src/components/Search/SearchRouter/SearchRouter.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import type {SearchOption} from '@libs/OptionsListUtils';
3131
import {createOptionFromReport} from '@libs/OptionsListUtils';
3232
import Parser from '@libs/Parser';
3333
import {getReportAction} from '@libs/ReportActionsUtils';
34-
import {getReportOrDraftReport} from '@libs/ReportUtils';
34+
import {getReportOrDraftReport, isHiddenForCurrentUser} from '@libs/ReportUtils';
3535
import type {OptionData} from '@libs/ReportUtils';
3636
import {getAutocompleteQueryWithComma, getTrimmedUserSearchQueryPreservingComma} from '@libs/SearchAutocompleteUtils';
3737
import {getQueryWithUpdatedValues, sanitizeSearchValue} from '@libs/SearchQueryUtils';
@@ -125,7 +125,7 @@ function SearchRouter({onRouterClose, shouldHideInputCaret, isSearchRouterDispla
125125
const reportAction = getReportAction(reportForContextualSearchReport?.parentReportID, reportForContextualSearchReport?.parentReportActionID);
126126
const shouldParserToHTML = reportAction?.actionName !== CONST.REPORT.ACTIONS.TYPE.ADD_COMMENT;
127127
if (!reportForContextualSearch) {
128-
if (!contextualReport) {
128+
if (!contextualReport || isHiddenForCurrentUser(contextualReport)) {
129129
return undefined;
130130
}
131131

src/libs/OptionsListUtils/index.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,7 +2429,7 @@ function getValidOptions(
24292429
selectedOptions = [],
24302430
shouldSeparateSelfDMChat = false,
24312431
shouldSeparateWorkspaceChat = false,
2432-
excludeHiddenThreads = false,
2432+
excludeHidden = false,
24332433
canShowManagerMcTest = false,
24342434
searchString,
24352435
searchInputValue,
@@ -2505,6 +2505,18 @@ function getValidOptions(
25052505
};
25062506

25072507
const filteringFunction = (report: SearchOption<Report>) => {
2508+
if (excludeHidden) {
2509+
if (report.isThread && report.notificationPreference === CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN) {
2510+
return false;
2511+
}
2512+
if (!report.isThread) {
2513+
const participant = report.item?.participants?.[currentUserAccountID];
2514+
if (participant && isHiddenForCurrentUser(participant.notificationPreference)) {
2515+
return false;
2516+
}
2517+
}
2518+
}
2519+
25082520
const policy = policiesCollection?.[`${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`];
25092521
if (!isSearchTermsFound(report)) {
25102522
return false;
@@ -2673,10 +2685,6 @@ function getValidOptions(
26732685
}
26742686
}
26752687

2676-
if (excludeHiddenThreads) {
2677-
recentReportOptions = recentReportOptions.filter((option) => !option.isThread || option.notificationPreference !== CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN);
2678-
}
2679-
26802688
let userToInvite: SearchOptionData | null = null;
26812689
if (includeUserToInvite) {
26822690
userToInvite = filterUserToInvite(
@@ -2771,7 +2779,7 @@ function getSearchOptions({
27712779
includeReadOnly,
27722780
includeSelfDM: true,
27732781
shouldBoldTitleByDefault: !isUsedInChatFinder,
2774-
excludeHiddenThreads: true,
2782+
excludeHidden: true,
27752783
maxElements: maxResults,
27762784
includeCurrentUser,
27772785
searchString: searchQuery,

src/libs/OptionsListUtils/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ type GetOptionsConfig = {
211211
includeRecentReports?: boolean;
212212
includeSelectedOptions?: boolean;
213213
recentAttendees?: Option[];
214-
excludeHiddenThreads?: boolean;
214+
excludeHidden?: boolean;
215215
canShowManagerMcTest?: boolean;
216216
searchString?: string;
217217
searchInputValue?: string;

0 commit comments

Comments
 (0)