diff --git a/src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts b/src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts index 443434dcc9..06b9ea8efe 100644 --- a/src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts +++ b/src/components/viewmodels/settings/encryption/KeyStoragePanelViewModel.ts @@ -99,13 +99,10 @@ export function useKeyStoragePanelViewModel(): KeyStoragePanelState { await matrixClient.deleteAccountData("m.megolm_backup.v1"); // Delete the key information - const defaultKeyEvent = matrixClient.getAccountData("m.secret_storage.default_key"); - if (defaultKeyEvent) { - if (defaultKeyEvent.getContent()?.key) { - await matrixClient.deleteAccountData( - `m.secret_storage.key.${defaultKeyEvent.getContent().key}`, - ); - } + const defaultKey = await matrixClient.secretStorage.getDefaultKeyId(); + if (defaultKey) { + await matrixClient.deleteAccountData(`m.secret_storage.key.${defaultKey}`); + // ...and the default key pointer await matrixClient.deleteAccountData("m.secret_storage.default_key"); } diff --git a/test/unit-tests/components/viewmodels/settings/encryption/KeyStoragePanelViewModel-test.ts b/test/unit-tests/components/viewmodels/settings/encryption/KeyStoragePanelViewModel-test.ts index aa848d8775..a414ced921 100644 --- a/test/unit-tests/components/viewmodels/settings/encryption/KeyStoragePanelViewModel-test.ts +++ b/test/unit-tests/components/viewmodels/settings/encryption/KeyStoragePanelViewModel-test.ts @@ -89,13 +89,7 @@ describe("KeyStoragePanelViewModel", () => { it("should delete data stored in 4s when disabling", async () => { mocked(matrixClient.getCrypto()!.checkKeyBackupAndEnable).mockResolvedValue({} as KeyBackupCheck); mocked(matrixClient.getCrypto()!.getKeyBackupInfo).mockResolvedValue({ version: "99" } as KeyBackupInfo); - mocked(matrixClient.getAccountData).mockImplementation((k): MatrixEvent | undefined => { - if (k === "m.secret_storage.default_key") { - return new MatrixEvent({ content: { key: "thekey" } }); - } - - return undefined; - }); + mocked(matrixClient.secretStorage.getDefaultKeyId).mockResolvedValue("thekey"); const { result } = renderHook( () => useKeyStoragePanelViewModel(),