Skip to content
Merged
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
23 changes: 23 additions & 0 deletions src/libs/ReportUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -1970,6 +1970,28 @@ function getChatByParticipants(newParticipantList) {
});
}

/**
* Attempts to find a report in onyx with the provided email list of participants. Does not include threads
* This is temporary function while migrating from PersonalDetails to PersonalDetailsList
*
* @deprecated - use getChatByParticipants()
*
* @param {Array} participantsLoginList
* @returns {Array|undefined}
*/
function getChatByParticipantsByLoginList(participantsLoginList) {
participantsLoginList.sort();
return _.find(allReports, (report) => {
// If the report has been deleted, or there are no participants (like an empty #admins room) then skip it
if (!report || !report.participants || isThread(report)) {

@luacmartins luacmartins Jun 21, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add !isUserCreatedPolicyRoom(report) to this early return too instead of doing the check below?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just keep it as it is as we're partially reverting this commit 73cdf02#diff-65c096044d5f69b35bcdec14c99c4fda4580759df9b1a7c36650d58eea276f1dR1890

return false;
}

// Only return the room if it has all the participants and is not a policy room
return !isUserCreatedPolicyRoom(report) && _.isEqual(participantsLoginList, _.sortBy(report.participants));
});
}

/**
* Attempts to find a report in onyx with the provided list of participants in given policy
* @param {Array} newParticipantList
Expand Down Expand Up @@ -2295,6 +2317,7 @@ export {
buildOptimisticTaskCommentReportAction,
shouldReportBeInOptionList,
getChatByParticipants,
getChatByParticipantsByLoginList,
getChatByParticipantsAndPolicy,
getAllPolicyReports,
getIOUReportActionMessage,
Expand Down
6 changes: 4 additions & 2 deletions src/libs/actions/Report.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import * as UserUtils from '../UserUtils';
import * as Welcome from './Welcome';
import * as PersonalDetailsUtils from '../PersonalDetailsUtils';
import SidebarUtils from '../SidebarUtils';
import * as OptionsListUtils from '../OptionsListUtils';

let currentUserEmail;
let currentUserAccountID;
Expand Down Expand Up @@ -479,10 +480,11 @@ function openReport(reportID, participantLoginList = [], newReportObject = {}, p
* @param {Array} userLogins list of user logins to start a chat report with.
*/
function navigateToAndOpenReport(userLogins) {
const participantAccountIDs = PersonalDetailsUtils.getAccountIDsByLogins(userLogins);
let newChat = {};
const chat = ReportUtils.getChatByParticipants(participantAccountIDs);
const formattedUserLogins = _.map(userLogins, (login) => OptionsListUtils.addSMSDomainIfPhoneNumber(login).toLowerCase());
const chat = ReportUtils.getChatByParticipantsByLoginList(formattedUserLogins);
if (!chat) {
const participantAccountIDs = PersonalDetailsUtils.getAccountIDsByLogins(userLogins);
newChat = ReportUtils.buildOptimisticChatReport(participantAccountIDs);
}
const reportID = chat ? chat.reportID : newChat.reportID;
Expand Down