Only set selected tags state when updating rooms
instead of every time we get an update from a GroupStore/otherwise. This was leading to many setStates and renders at startup when we receive many group /members /rooms etc. responses. Also, use the rate limited version of refreshRoomList.
This commit is contained in:
parent
952f2c6a21
commit
408f13f68c
1 changed files with 4 additions and 6 deletions
|
@ -324,12 +324,7 @@ module.exports = React.createClass({
|
||||||
// Show all rooms
|
// Show all rooms
|
||||||
this._visibleRooms = MatrixClientPeg.get().getRooms();
|
this._visibleRooms = MatrixClientPeg.get().getRooms();
|
||||||
}
|
}
|
||||||
|
this._delayedRefreshRoomList();
|
||||||
this.setState({
|
|
||||||
selectedTags,
|
|
||||||
}, () => {
|
|
||||||
this.refreshRoomList();
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
refreshRoomList: function() {
|
refreshRoomList: function() {
|
||||||
|
@ -345,6 +340,9 @@ module.exports = React.createClass({
|
||||||
this.setState({
|
this.setState({
|
||||||
lists: this.getRoomLists(),
|
lists: this.getRoomLists(),
|
||||||
totalRoomCount: totalRooms,
|
totalRoomCount: totalRooms,
|
||||||
|
// Do this here so as to not render every time the selected tags
|
||||||
|
// themselves change.
|
||||||
|
selectedTags: TagOrderStore.getSelectedTags(),
|
||||||
});
|
});
|
||||||
|
|
||||||
// this._lastRefreshRoomListTs = Date.now();
|
// this._lastRefreshRoomListTs = Date.now();
|
||||||
|
|
Loading…
Reference in a new issue