From 262885679cd8bedaa7b99aab5432daf7bf514a05 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 16 Aug 2019 22:35:44 +0200 Subject: only invoke afterCommitCallback for transactions that change data --- packages/idb-bridge/src/MemoryBackend.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'packages/idb-bridge/src') diff --git a/packages/idb-bridge/src/MemoryBackend.ts b/packages/idb-bridge/src/MemoryBackend.ts index e09a28988..4154435a0 100644 --- a/packages/idb-bridge/src/MemoryBackend.ts +++ b/packages/idb-bridge/src/MemoryBackend.ts @@ -1416,7 +1416,8 @@ export class MemoryBackend implements Backend { if (!db) { throw Error("db not found"); } - if (db.txLevel < TransactionLevel.Read) { + const txLevel = db.txLevel; + if (txLevel < TransactionLevel.Read) { throw Error("only allowed while running a transaction"); } @@ -1455,7 +1456,7 @@ export class MemoryBackend implements Backend { delete this.connectionsByTransaction[btx.transactionCookie]; this.transactionDoneCond.trigger(); - if (this.afterCommitCallback) { + if (this.afterCommitCallback && txLevel >= TransactionLevel.Write) { await this.afterCommitCallback(); } } -- cgit v1.2.3