diff --git a/package.json b/package.json index 4c58ecf..c236782 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#404f8e130e44a78b0159c55902df1b129b3816d1", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#ebcb26f1b3b9e2d709615fde03f9ce6ac77871f1", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", diff --git a/src/matrix-utils.ts b/src/matrix-utils.ts index bfcf688..b76e913 100644 --- a/src/matrix-utils.ts +++ b/src/matrix-utils.ts @@ -1,9 +1,10 @@ import Olm from "@matrix-org/olm"; import olmWasmPath from "@matrix-org/olm/olm.wasm?url"; import { IndexedDBStore } from "matrix-js-sdk/src/store/indexeddb"; -import { WebStorageSessionStore } from "matrix-js-sdk/src/store/session/webstorage"; import { MemoryStore } from "matrix-js-sdk/src/store/memory"; import { IndexedDBCryptoStore } from "matrix-js-sdk/src/crypto/store/indexeddb-crypto-store"; +import { LocalStorageCryptoStore } from "matrix-js-sdk/src/crypto/store/localStorage-crypto-store"; +import { MemoryCryptoStore } from "matrix-js-sdk/src/crypto/store/memory-crypto-store"; import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix"; import { ICreateClientOpts } from "matrix-js-sdk/src/matrix"; import { ClientEvent } from "matrix-js-sdk/src/client"; @@ -59,14 +60,12 @@ export async function initClient( if (indexedDB && localStorage && !import.meta.env.DEV) { storeOpts.store = new IndexedDBStore({ indexedDB: window.indexedDB, - localStorage: window.localStorage, + localStorage, dbName: "element-call-sync", workerFactory: () => new IndexedDBWorker(), }); - } - - if (localStorage) { - storeOpts.sessionStore = new WebStorageSessionStore(localStorage); + } else if (localStorage) { + storeOpts.store = new MemoryStore({ localStorage }); } if (indexedDB) { @@ -74,6 +73,10 @@ export async function initClient( indexedDB, "matrix-js-sdk:crypto" ); + } else if (localStorage) { + storeOpts.cryptoStore = new LocalStorageCryptoStore(localStorage); + } else { + storeOpts.cryptoStore = new MemoryCryptoStore(); } const client = createClient({