Fix crash when filtering new room list too fast

Fixes https://github.com/vector-im/riot-web/issues/14092

We were simply assuming we had a reference to a notification state, which might not be the case if we're between renders.
This commit is contained in:
Travis Ralston 2020-06-18 15:52:55 -06:00
parent 69c5aecfc7
commit 7191c01265

View file

@ -240,6 +240,7 @@ export class ListNotificationState extends EventEmitter implements IDestroyable
this.rooms = rooms;
for (const oldRoom of diff.removed) {
const state = this.states[oldRoom.roomId];
if (!state) continue; // We likely just didn't have a badge (race condition)
delete this.states[oldRoom.roomId];
state.off(NOTIFICATION_STATE_UPDATE, this.onRoomNotificationStateUpdate);
state.destroy();