diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 395ec13b54c0..eec3a3ae7387 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -352,6 +352,7 @@ function getOptions(reports, personalDetails, activeReportID, { includeRecentReports = false, prioritizePinnedReports = false, prioritizeDefaultRoomsInSearch = false, + sortByReportTypeInSearch = false, sortByLastMessageTimestamp = false, searchValue = '', showChatPreviewLine = false, @@ -508,6 +509,19 @@ function getOptions(reports, personalDetails, activeReportID, { recentReportOptions = reportsSplitByDefaultChatRoom[0].concat(reportsSplitByDefaultChatRoom[1]); } + // If we are prioritizing 1:1 chats in search, do it only once we started searching + if (sortByReportTypeInSearch && searchValue !== '') { + recentReportOptions = lodashOrderBy(recentReportOptions, [(option) => { + if (option.isDefaultChatRoom || option.isArchivedRoom) { + return 3; + } + if (!option.login) { + return 2; + } + return 1; + }], ['asc']); + } + if (includePersonalDetails) { // Next loop over all personal details removing any that are selectedUsers or recentChats _.each(allPersonalDetailsOptions, (personalDetailOption) => { @@ -576,7 +590,8 @@ function getSearchOptions( includeMultipleParticipantReports: true, maxRecentReportsToShow: 0, // Unlimited prioritizePinnedReports: false, - prioritizeDefaultRoomsInSearch: true, + prioritizeDefaultRoomsInSearch: false, + sortByReportTypeInSearch: true, showChatPreviewLine: true, showReportsWithNoComments: true, includePersonalDetails: true,