only clear unread if needed

This commit is contained in:
Bruno Windels 2020-08-21 14:11:42 +02:00
parent 00e20d2088
commit 2742162c8e

View file

@ -197,20 +197,22 @@ export class Room extends EventEmitter {
}
async clearUnread() {
const txn = await this._storage.readWriteTxn([
this._storage.storeNames.roomSummary,
]);
let data;
try {
data = this._summary.writeClearUnread(txn);
} catch (err) {
txn.abort();
throw err;
if (this.isUnread) {
const txn = await this._storage.readWriteTxn([
this._storage.storeNames.roomSummary,
]);
let data;
try {
data = this._summary.writeClearUnread(txn);
} catch (err) {
txn.abort();
throw err;
}
await txn.complete();
this._summary.applyChanges(data);
this.emit("change");
this._emitCollectionChange(this);
}
await txn.complete();
this._summary.applyChanges(data);
this.emit("change");
this._emitCollectionChange(this);
}
/** @public */