Improve the quality of invite suggestions by filtering out DMs

This helps the small rooms from being scored highly, bringing out users you've not seen in a long while.
This commit is contained in:
Travis Ralston 2020-01-13 21:04:13 -07:00
parent 9cedfeb007
commit 9188183c9b

View file

@ -332,6 +332,11 @@ export default class DMInviteDialog extends React.PureComponent {
// Generates { userId: {member, rooms[]} } // Generates { userId: {member, rooms[]} }
const memberRooms = joinedRooms.reduce((members, room) => { const memberRooms = joinedRooms.reduce((members, room) => {
// Filter out DMs (we'll handle these in the recents section)
if (!!DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
return members; // Do nothing
}
const joinedMembers = room.getJoinedMembers().filter(u => !excludedUserIds.includes(u.userId)); const joinedMembers = room.getJoinedMembers().filter(u => !excludedUserIds.includes(u.userId));
for (const member of joinedMembers) { for (const member of joinedMembers) {
if (!members[member.userId]) { if (!members[member.userId]) {
@ -377,6 +382,7 @@ export default class DMInviteDialog extends React.PureComponent {
} }
return b.score - a.score; return b.score - a.score;
}); });
return members.map(m => ({userId: m.member.userId, user: m.member})); return members.map(m => ({userId: m.member.userId, user: m.member}));
} }