Room List Store: Fix bug where left rooms appear in room list (#29452)
* Write failing test * Remove room when membership changes from JOIN to LEAVE
This commit is contained in:
@@ -192,6 +192,11 @@ export class RoomListStoreV3Class extends AsyncStoreWithClient<EmptyObject> {
|
||||
case "MatrixActions.Room.myMembership": {
|
||||
const oldMembership = getEffectiveMembership(payload.oldMembership);
|
||||
const newMembership = getEffectiveMembershipTag(payload.room, payload.membership);
|
||||
if (oldMembership === EffectiveMembership.Join && newMembership === EffectiveMembership.Leave) {
|
||||
this.roomSkipList.removeRoom(payload.room);
|
||||
this.emit(LISTS_UPDATE_EVENT);
|
||||
return;
|
||||
}
|
||||
if (oldMembership !== EffectiveMembership.Join && newMembership === EffectiveMembership.Join) {
|
||||
// If we're joining an upgraded room, we'll want to make sure we don't proliferate
|
||||
// the dead room in the list.
|
||||
|
||||
Reference in New Issue
Block a user