diff --git a/src/matrix/session.js b/src/matrix/session.js index ee313062..8bda0d7f 100644 --- a/src/matrix/session.js +++ b/src/matrix/session.js @@ -11,14 +11,14 @@ export default class Session { // loginData has device_id, user_id, home_server, access_token async setLoginData(loginData) { console.log("session.setLoginData"); - const txn = this._storage.readWriteTxn([this._storage.storeNames.session]); + const txn = await this._storage.readWriteTxn([this._storage.storeNames.session]); const session = {loginData}; txn.session.set(session); await txn.complete(); } async load() { - const txn = this._storage.readTxn([ + const txn = await this._storage.readTxn([ this._storage.storeNames.session, this._storage.storeNames.roomSummary, this._storage.storeNames.roomState, diff --git a/src/matrix/storage/idb/storage.js b/src/matrix/storage/idb/storage.js index 8f411317..b4a6659c 100644 --- a/src/matrix/storage/idb/storage.js +++ b/src/matrix/storage/idb/storage.js @@ -19,13 +19,13 @@ export default class Storage { } } - readTxn(storeNames) { + async readTxn(storeNames) { this._validateStoreNames(storeNames); const txn = this._db.transaction(storeNames, "readonly"); return new Transaction(txn, storeNames); } - readWriteTxn(storeNames) { + async readWriteTxn(storeNames) { this._validateStoreNames(storeNames); const txn = this._db.transaction(storeNames, "readwrite"); return new Transaction(txn, storeNames); diff --git a/src/matrix/sync.js b/src/matrix/sync.js index 91d36d68..61659820 100644 --- a/src/matrix/sync.js +++ b/src/matrix/sync.js @@ -70,7 +70,7 @@ export default class Sync extends EventEmitter { const response = await this._currentRequest.response(); syncToken = response.next_batch; const storeNames = this._storage.storeNames; - const syncTxn = this._storage.readWriteTxn([ + const syncTxn = await this._storage.readWriteTxn([ storeNames.session, storeNames.roomSummary, storeNames.roomTimeline,