1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-11-08 21:42:24 +03:00
This commit is contained in:
Matthew Hodgson
2016-01-22 17:01:28 +00:00
2 changed files with 39 additions and 4 deletions

View File

@@ -51,6 +51,7 @@ module.exports = React.createClass({
var cli = MatrixClientPeg.get();
cli.on("RoomState.members", this.onRoomStateMember);
cli.on("RoomMember.name", this.onRoomMemberName);
cli.on("RoomState.events", this.onRoomStateEvent);
cli.on("Room", this.onRoom); // invites
},
@@ -60,6 +61,7 @@ module.exports = React.createClass({
MatrixClientPeg.get().removeListener("RoomState.members", this.onRoomStateMember);
MatrixClientPeg.get().removeListener("RoomMember.name", this.onRoomMemberName);
MatrixClientPeg.get().removeListener("User.presence", this.userPresenceFn);
MatrixClientPeg.get().removeListener("RoomState.events", this.onRoomStateEvent);
}
},
@@ -69,11 +71,13 @@ module.exports = React.createClass({
// Lazy-load in more than the first N members
setTimeout(function() {
if (!self.isMounted()) return;
// lazy load to prevent it blocking the first render
self._loadUserList();
self.setState({
members: self.roomMembers()
});
// lazy load to prevent it blocking the first render
self._loadUserList();
}, 50);
// Attach a SINGLE listener for global presence changes then locate the
@@ -133,6 +137,12 @@ module.exports = React.createClass({
this._updateList();
},
onRoomStateEvent: function(event, state) {
if (event.getType() === "m.room.third_party_invite") {
this._updateList();
}
},
_updateList: function() {
this.memberDict = this.getMemberDict();