diff options
Diffstat (limited to 'packages/idb-bridge/src/bridge-idb.ts')
-rw-r--r-- | packages/idb-bridge/src/bridge-idb.ts | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/packages/idb-bridge/src/bridge-idb.ts b/packages/idb-bridge/src/bridge-idb.ts index 02fca9d1e..836f2efa4 100644 --- a/packages/idb-bridge/src/bridge-idb.ts +++ b/packages/idb-bridge/src/bridge-idb.ts @@ -936,10 +936,6 @@ export class BridgeIDBFactory { await transaction._waitDone(); - // We don't explicitly exit the versionchange transaction, - // since this is already done by the BridgeIDBTransaction. - db._upgradeTransaction = null; - // We re-use the same transaction (as per spec) here. transaction._active = true; @@ -2425,6 +2421,11 @@ export class BridgeIDBTransaction if (this._backendTransaction) { await this._backend.commit(this._backendTransaction); } + + // We must exit the upgrade transaction here, so that the "complete" + // event handler can already do other transactions. + this._db._upgradeTransaction = null; + this._committed = true; if (!this._error) { if (BridgeIDBFactory.enableTracing) { |