support clearing unread when focusing a room

This commit is contained in:
Bruno Windels 2020-10-07 12:30:46 +02:00
parent 614ec08238
commit dc1357bb31

View File

@ -51,10 +51,18 @@ export class RoomViewModel extends ViewModel {
this._timelineError = err;
this.emitChange("error");
}
this._clearUnreadAfterDelay();
}
async _clearUnreadAfterDelay() {
if (this._clearUnreadTimout) {
return;
}
this._clearUnreadTimout = this.clock.createTimeout(2000);
try {
await this._clearUnreadTimout.elapsed();
await this._room.clearUnread();
this._clearUnreadTimout = null;
} catch (err) {
if (err.name !== "AbortError") {
throw err;
@ -62,6 +70,10 @@ export class RoomViewModel extends ViewModel {
}
}
focus() {
this._clearUnreadAfterDelay();
}
dispose() {
super.dispose();
if (this._clearUnreadTimout) {