From 07d91e883c60f6cc845fff29231452e4639fae31 Mon Sep 17 00:00:00 2001 From: nkdengineer <161821005+nkdengineer@users.noreply.github.com> Date: Fri, 9 Jan 2026 12:49:27 +0700 Subject: [PATCH 1/2] Revert "[CP staging] Revert "fix: User does not appears as suggestion in chat creation list when first have a chat offline"" --- src/libs/OptionsListUtils/index.ts | 4 +++- src/libs/OptionsListUtils/types.ts | 3 +++ src/libs/ReportUtils.ts | 1 + src/pages/NewChatPage.tsx | 11 ++++++++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/libs/OptionsListUtils/index.ts b/src/libs/OptionsListUtils/index.ts index 4afa797312021..5a3ff789b1955 100644 --- a/src/libs/OptionsListUtils/index.ts +++ b/src/libs/OptionsListUtils/index.ts @@ -893,6 +893,7 @@ function createOption( isSelfDM: report ? reportUtilsIsSelfDM(report) : false, isChatRoom: report ? reportUtilsIsChatRoom(report) : false, isInvoiceRoom: report ? isInvoiceRoom(report) : false, + isDM: report ? isDM(report) : false, // Status properties - used in SearchOption context private_isArchived: undefined, // Set from reportNameValuePairs below @@ -1845,6 +1846,7 @@ function isValidReport(option: SearchOption, config: IsValidReportsConfi excludeNonAdminWorkspaces, isRestrictedToPreferredPolicy, preferredPolicyID, + shouldAlwaysIncludeDM, } = config; const topmostReportId = Navigation.getTopmostReportId(); @@ -1940,7 +1942,7 @@ function isValidReport(option: SearchOption, config: IsValidReportsConfi - It doesn't have a login - It is not an invoice room that should be shown */ - if (!isCurrentUserOwnedPolicyExpenseChatThatCouldShow && !includeMultipleParticipantReports && !option.login && !shouldShowInvoiceRoom) { + if (!isCurrentUserOwnedPolicyExpenseChatThatCouldShow && !includeMultipleParticipantReports && !option.login && (!option.isDM || !shouldAlwaysIncludeDM) && !shouldShowInvoiceRoom) { return false; } diff --git a/src/libs/OptionsListUtils/types.ts b/src/libs/OptionsListUtils/types.ts index 814cc47f115e8..e56b75130757f 100644 --- a/src/libs/OptionsListUtils/types.ts +++ b/src/libs/OptionsListUtils/types.ts @@ -68,6 +68,7 @@ type SearchOptionData = Pick< | 'isChatRoom' | 'isInvoiceRoom' | 'isDefaultRoom' + | 'isDM' // Status properties | 'private_isArchived' @@ -155,6 +156,7 @@ type GetValidReportsConfig = { isRestrictedToPreferredPolicy?: boolean; preferredPolicyID?: string; shouldUnreadBeBold?: boolean; + shouldAlwaysIncludeDM?: boolean; } & GetValidOptionsSharedConfig; type IsValidReportsConfig = Pick< @@ -176,6 +178,7 @@ type IsValidReportsConfig = Pick< | 'excludeNonAdminWorkspaces' | 'isRestrictedToPreferredPolicy' | 'preferredPolicyID' + | 'shouldAlwaysIncludeDM' >; type GetOptionsConfig = { diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 56b2388d207d8..280b459265304 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -860,6 +860,7 @@ type OptionData = { isDefaultRoom?: boolean; isInvoiceRoom?: boolean; isExpenseReport?: boolean; + isDM?: boolean; isOptimisticPersonalDetail?: boolean; selected?: boolean; isOptimisticAccount?: boolean; diff --git a/src/pages/NewChatPage.tsx b/src/pages/NewChatPage.tsx index 52e05cf17f1dd..d572ddd366c45 100755 --- a/src/pages/NewChatPage.tsx +++ b/src/pages/NewChatPage.tsx @@ -100,6 +100,7 @@ function useOptions() { { betas: betas ?? [], includeSelfDM: true, + shouldAlwaysIncludeDM: true, }, countryCode, ); @@ -342,6 +343,14 @@ function NewChatPage({ref}: NewChatPageProps) { Navigation.dismissModalWithReport({reportID: option.reportID}); return; } + if (option?.reportID) { + Navigation.dismissModal({ + callback: () => { + Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(option?.reportID)); + }, + }); + return; + } if (selectedOptions.length && option) { // Prevent excluded emails from being added to groups if (option?.login && excludedGroupEmails.has(option.login)) { @@ -371,7 +380,7 @@ function NewChatPage({ref}: NewChatPageProps) { const itemRightSideComponent = useCallback( (item: ListItem & Option, isFocused?: boolean) => { - if (!!item.isSelfDM || (item.login && excludedGroupEmails.has(item.login))) { + if (!!item.isSelfDM || (item.login && excludedGroupEmails.has(item.login)) || !item.login) { return null; } From 7c3d8df290efd1aa16a84b3fd6dc1f90726ceea8 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Mon, 12 Jan 2026 14:14:55 +0700 Subject: [PATCH 2/2] fix add to group issue --- src/pages/NewChatPage.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/pages/NewChatPage.tsx b/src/pages/NewChatPage.tsx index d572ddd366c45..ecc0d103beeab 100755 --- a/src/pages/NewChatPage.tsx +++ b/src/pages/NewChatPage.tsx @@ -343,14 +343,7 @@ function NewChatPage({ref}: NewChatPageProps) { Navigation.dismissModalWithReport({reportID: option.reportID}); return; } - if (option?.reportID) { - Navigation.dismissModal({ - callback: () => { - Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(option?.reportID)); - }, - }); - return; - } + if (selectedOptions.length && option) { // Prevent excluded emails from being added to groups if (option?.login && excludedGroupEmails.has(option.login)) { @@ -360,6 +353,15 @@ function NewChatPage({ref}: NewChatPageProps) { return; } + if (option?.reportID) { + Navigation.dismissModal({ + callback: () => { + Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(option?.reportID)); + }, + }); + return; + } + let login = ''; if (option?.login) {