You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-07-28 15:22:05 +03:00
Don't assume RoomMember has a state event in direct chat detection
Instead call the method on the member that takes lazy loading into account
This commit is contained in:
@ -749,21 +749,15 @@ module.exports = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateDMState() {
|
_updateDMState() {
|
||||||
const me = this.state.room.getMember(MatrixClientPeg.get().credentials.userId);
|
const me = this.state.room.getMember(MatrixClientPeg.get().getUserId());
|
||||||
if (!me || me.membership !== "join") {
|
if (!me || me.membership !== "join") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const roomId = this.state.room.roomId;
|
||||||
|
const dmInviter = me.getDirectChatInviter();
|
||||||
|
|
||||||
// The user may have accepted an invite with is_direct set
|
if (dmInviter) {
|
||||||
if (me.events.member.getPrevContent().membership === "invite" &&
|
Rooms.setDMRoom(roomId, dmInviter);
|
||||||
me.events.member.getPrevContent().is_direct
|
|
||||||
) {
|
|
||||||
// This is a DM with the sender of the invite event (which we assume
|
|
||||||
// preceded the join event)
|
|
||||||
Rooms.setDMRoom(
|
|
||||||
this.state.room.roomId,
|
|
||||||
me.events.member.getUnsigned().prev_sender,
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -777,11 +771,8 @@ module.exports = React.createClass({
|
|||||||
|
|
||||||
// The user may have sent an invite with is_direct sent
|
// The user may have sent an invite with is_direct sent
|
||||||
const other = invitedMembers[0];
|
const other = invitedMembers[0];
|
||||||
if (other &&
|
if (other && !!other.getDirectChatInviter()) {
|
||||||
other.membership === "invite" &&
|
Rooms.setDMRoom(roomId, other.userId);
|
||||||
other.events.member.getContent().is_direct
|
|
||||||
) {
|
|
||||||
Rooms.setDMRoom(this.state.room.roomId, other.userId);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user