forked from mystiq/hydrogen-web
support clearing unread when focusing a room
This commit is contained in:
parent
614ec08238
commit
dc1357bb31
1 changed files with 12 additions and 0 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue