mirror of https://github.com/vector-im/riot-web
Handle push rule changes in the RoomNotificationState
parent
a5001e50aa
commit
a6e0799b57
|
@ -37,6 +37,7 @@ export class RoomNotificationState extends EventEmitter implements IDestroyable,
|
|||
this.room.on("Room.timeline", this.handleRoomEventUpdate);
|
||||
this.room.on("Room.redaction", this.handleRoomEventUpdate);
|
||||
MatrixClientPeg.get().on("Event.decrypted", this.handleRoomEventUpdate);
|
||||
MatrixClientPeg.get().on("accountData", this.handleAccountDataUpdate);
|
||||
this.updateNotificationState();
|
||||
}
|
||||
|
||||
|
@ -62,6 +63,7 @@ export class RoomNotificationState extends EventEmitter implements IDestroyable,
|
|||
this.room.removeListener("Room.redaction", this.handleRoomEventUpdate);
|
||||
if (MatrixClientPeg.get()) {
|
||||
MatrixClientPeg.get().removeListener("Event.decrypted", this.handleRoomEventUpdate);
|
||||
MatrixClientPeg.get().removeListener("accountData", this.handleAccountDataUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,6 +80,12 @@ export class RoomNotificationState extends EventEmitter implements IDestroyable,
|
|||
this.updateNotificationState();
|
||||
};
|
||||
|
||||
private handleAccountDataUpdate = (ev: MatrixEvent) => {
|
||||
if (ev.getType() === "m.push_rules") {
|
||||
this.updateNotificationState();
|
||||
}
|
||||
};
|
||||
|
||||
private updateNotificationState() {
|
||||
const before = {count: this.count, symbol: this.symbol, color: this.color};
|
||||
|
||||
|
|
Loading…
Reference in New Issue