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._timelineError = err;
|
||||||
this.emitChange("error");
|
this.emitChange("error");
|
||||||
}
|
}
|
||||||
|
this._clearUnreadAfterDelay();
|
||||||
|
}
|
||||||
|
|
||||||
|
async _clearUnreadAfterDelay() {
|
||||||
|
if (this._clearUnreadTimout) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this._clearUnreadTimout = this.clock.createTimeout(2000);
|
this._clearUnreadTimout = this.clock.createTimeout(2000);
|
||||||
try {
|
try {
|
||||||
await this._clearUnreadTimout.elapsed();
|
await this._clearUnreadTimout.elapsed();
|
||||||
await this._room.clearUnread();
|
await this._room.clearUnread();
|
||||||
|
this._clearUnreadTimout = null;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.name !== "AbortError") {
|
if (err.name !== "AbortError") {
|
||||||
throw err;
|
throw err;
|
||||||
|
@ -62,6 +70,10 @@ export class RoomViewModel extends ViewModel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
focus() {
|
||||||
|
this._clearUnreadAfterDelay();
|
||||||
|
}
|
||||||
|
|
||||||
dispose() {
|
dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
if (this._clearUnreadTimout) {
|
if (this._clearUnreadTimout) {
|
||||||
|
|
Loading…
Reference in a new issue