DM guessing: prefer oldest joined member

In the DM guessing code, prefer the oldest joined member if there's
anyone in the rom other than us. Otherwise, fall back to the old
behaviour.

Fixes https://github.com/vector-im/riot-web/issues/4288
This commit is contained in:
David Baker 2017-06-13 17:35:09 +01:00
parent bd00c1d4b1
commit 5fd45233fb

View file

@ -144,7 +144,18 @@ export function guessDMRoomTarget(room, me) {
let oldestTs; let oldestTs;
let oldestUser; let oldestUser;
// Pick the user who's been here longest (and isn't us) // Pick the joined user who's been here longest (and isn't us),
for (const user of room.getJoinedMembers()) {
if (user.userId == me.userId) continue;
if (oldestTs === undefined || user.events.member.getTs() < oldestTs) {
oldestUser = user;
oldestTs = user.events.member.getTs();
}
}
if (oldestUser) return oldestUser;
// if there are no joined members other than us, use the oldest member
for (const user of room.currentState.getMembers()) { for (const user of room.currentState.getMembers()) {
if (user.userId == me.userId) continue; if (user.userId == me.userId) continue;