mirror of https://github.com/vector-im/riot-web
Regenerate room lists when we get RoomMember.membership
parent
9982efbd8f
commit
c665c1170b
|
@ -66,6 +66,10 @@ function createRoomTagsAction(matrixClient, roomTagsEvent, room) {
|
|||
return { action: 'MatrixActions.Room.tags', room };
|
||||
}
|
||||
|
||||
function createRoomMembershipAction(matrixClient, membershipEvent, member, oldMembership) {
|
||||
return { action: 'MatrixActions.RoomMember.membership', member };
|
||||
}
|
||||
|
||||
/**
|
||||
* This object is responsible for dispatching actions when certain events are emitted by
|
||||
* the given MatrixClient.
|
||||
|
@ -83,6 +87,7 @@ export default {
|
|||
this._addMatrixClientListener(matrixClient, 'sync', createSyncAction);
|
||||
this._addMatrixClientListener(matrixClient, 'accountData', createAccountDataAction);
|
||||
this._addMatrixClientListener(matrixClient, 'Room.tags', createRoomTagsAction);
|
||||
this._addMatrixClientListener(matrixClient, 'RoomMember.membership', createRoomMembershipAction);
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -70,6 +70,11 @@ class RoomListStore extends Store {
|
|||
this._generateRoomLists();
|
||||
}
|
||||
break;
|
||||
case 'MatrixActions.RoomMember.membership': {
|
||||
if (!this._matrixClient || payload.member.userId !== this._matrixClient.credentials.userId) break;
|
||||
this._generateRoomLists();
|
||||
}
|
||||
break;
|
||||
case 'RoomListActions.tagRoom.pending': {
|
||||
this._updateRoomListsOptimistic(
|
||||
payload.request.room,
|
||||
|
|
Loading…
Reference in New Issue