taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit f4d66541ed58ac71e0f8218be8ff210cdc024cb4
parent e84a1789af2a0292128807b86649a45c4da0a51c
Author: Florian Dold <florian@dold.me>
Date:   Wed, 15 Dec 2021 02:58:36 +0100

idb-bridge: avoid unhandled rejection when closing DB

Diffstat:
Mpackages/idb-bridge/src/MemoryBackend.ts | 10++++++----
Mpackages/idb-bridge/src/bridge-idb.ts | 4++--
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/packages/idb-bridge/src/MemoryBackend.ts b/packages/idb-bridge/src/MemoryBackend.ts @@ -562,10 +562,12 @@ export class MemoryBackend implements Backend { throw Error("connection not found - already closed?"); } const myDb = this.databases[myConn.dbName]; - // FIXME: what if we're still in a transaction? - myDb.connectionCookies = myDb.connectionCookies.filter( - (x) => x != conn.connectionCookie, - ); + if (myDb) { + // FIXME: what if we're still in a transaction? + myDb.connectionCookies = myDb.connectionCookies.filter( + (x) => x != conn.connectionCookie, + ); + } delete this.connections[conn.connectionCookie]; this.disconnectCond.trigger(); } diff --git a/packages/idb-bridge/src/bridge-idb.ts b/packages/idb-bridge/src/bridge-idb.ts @@ -2655,13 +2655,13 @@ export class BridgeIDBTransaction } } - await waitMacroQueue(); - if (!request._source) { // Special requests like indexes that just need to run some code, // with error handling already built into operation await operation(); } else { + await waitMacroQueue(); + let event; try { BridgeIDBFactory.enableTracing &&