Merge branch '306-multiple-private-chat-rooms-with-the-same-guest-are-created-whenever-we-start-the-private-chat' into 'dev'
Fix private chat handling code See merge request keanuapp/keanuapp-weblite!82
This commit is contained in:
commit
2a064f4a06
1 changed files with 18 additions and 19 deletions
|
|
@ -697,10 +697,14 @@ export default {
|
|||
for (const room of this.rooms) {
|
||||
// Is the other member the one we are looking for?
|
||||
if (this.isDirectRoomWith(room, userId)) {
|
||||
var member = room.getMember(userId);
|
||||
if (member && member.membership != "join") {
|
||||
// Resend invite
|
||||
this.matrixClient.invite(room.roomId, userId);
|
||||
if (room.getMyMembership() == "invite") {
|
||||
this.matrixClient.joinRoom(room.roomId);
|
||||
} else {
|
||||
var member = room.getMember(userId);
|
||||
if (member && member.membership != "join") {
|
||||
// Resend invite
|
||||
this.matrixClient.invite(room.roomId, userId);
|
||||
}
|
||||
}
|
||||
resolve(room);
|
||||
return;
|
||||
|
|
@ -757,22 +761,17 @@ export default {
|
|||
isDirectRoomWith(room, userId) {
|
||||
if (
|
||||
room.getJoinRule() == "invite" &&
|
||||
room.selfMembership == "join" &&
|
||||
room.getInvitedAndJoinedMemberCount() == 2
|
||||
room.getMembers().length == 2
|
||||
) {
|
||||
// Is the other member the one we are looking for?
|
||||
if (
|
||||
room
|
||||
.getMembersWithMembership("join")
|
||||
.some((item) => item.userId == userId)
|
||||
) {
|
||||
return true;
|
||||
} else if (
|
||||
room
|
||||
.getMembersWithMembership("invite")
|
||||
.some((item) => item.userId == userId)
|
||||
) {
|
||||
return true;
|
||||
let other = room.getMember(userId);
|
||||
if (other) {
|
||||
if (room.getMyMembership() == "invite" && other.membership == "join") {
|
||||
return true;
|
||||
} else if (room.getMyMembership() == "join" && room.canInvite(this.currentUserId)) {
|
||||
return true;
|
||||
} else if (room.getMyMembership() == "join" && other.membership == "join") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue