1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-12-14 19:22:15 +03:00

preserve member state event if available when lazy loading members

This commit is contained in:
Bruno Windels
2018-07-12 19:34:27 +02:00
parent 45d86fa270
commit 759d415d40

View File

@@ -262,6 +262,15 @@ RoomState.prototype.setJoinedMembers = function(joinedMembers) {
const displayName = details.display_name;
const avatarUrl = details.avatar_url;
const member = new RoomMember(this.roomId, userId);
// try to find the member event for the user and set it first on the member
// so inspection of the event is possible later on if we have it
const membershipEvents = this.events["m.room.member"];
const userMemberEvent = membershipEvents && membershipEvents[userId];
if (userMemberEvent) {
member.setMembershipEvent(userMemberEvent, this);
}
// override the displayName and avatarUrl from the lazily loaded members
// as this is guaranteed to be the current state
member.setAsJoinedMember(displayName, avatarUrl, this);
const isNewMember = !this.members[userId];
return {member, isNewMember};