diff --git a/src/components/views/rooms/RoomList.js b/src/components/views/rooms/RoomList.js index ac0d3e047c..a6d34f9b08 100644 --- a/src/components/views/rooms/RoomList.js +++ b/src/components/views/rooms/RoomList.js @@ -89,6 +89,7 @@ module.exports = React.createClass({ cli.on("RoomMember.name", this.onRoomMemberName); cli.on("Event.decrypted", this.onEventDecrypted); cli.on("accountData", this.onAccountData); + cli.on("Group.myMembership", this._onGroupMyMembership); this.refreshRoomList(); @@ -157,6 +158,7 @@ module.exports = React.createClass({ MatrixClientPeg.get().removeListener("RoomMember.name", this.onRoomMemberName); MatrixClientPeg.get().removeListener("Event.decrypted", this.onEventDecrypted); MatrixClientPeg.get().removeListener("accountData", this.onAccountData); + MatrixClientPeg.get().removeListener("Group.myMembership", this._onGroupMyMembership); } // cancel any pending calls to the rate_limited_funcs this._delayedRefreshRoomList.cancelPendingCall(); @@ -236,6 +238,10 @@ module.exports = React.createClass({ } }, + _onGroupMyMembership: function(group) { + this.forceUpdate(); + }, + _delayedRefreshRoomList: new rate_limited_func(function() { this.refreshRoomList(); }, 500),