You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-12-14 19:22:15 +03:00
emit individual events for lazily loaded members
emit individual RoomState.members/newMember events for each lazily loaded member as batch events are not a thing. This makes updating the memberlist work
This commit is contained in:
@@ -263,13 +263,19 @@ RoomState.prototype.setJoinedMembers = function(joinedMembers) {
|
||||
const avatarUrl = details.avatar_url;
|
||||
const member = new RoomMember(this.roomId, userId);
|
||||
member.setAsJoinedMember(displayName, avatarUrl, this);
|
||||
return member;
|
||||
const isNewMember = !this.members[userId];
|
||||
return {member, isNewMember};
|
||||
});
|
||||
joinedRoomMembers.forEach(member => {
|
||||
joinedRoomMembers.forEach(({member, isNewMember}) => {
|
||||
_updateDisplayNameCache(this, member.userId, member.name);
|
||||
this._updateMember(member);
|
||||
if (isNewMember) {
|
||||
this.emit('RoomState.newMember', {}, self, member);
|
||||
}
|
||||
else {
|
||||
this.emit('RoomState.members', {}, self, member);
|
||||
}
|
||||
});
|
||||
this.emit("Room");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user