From e8483e0186198ce5279ced0dac7950cfb5fe9171 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 7 Feb 2025 10:54:27 +0100 Subject: [PATCH] Use higher level interface --- .../settings/encryption/KeyStoragePanelViewModel.ts | 11 ++++------- .../encryption/KeyStoragePanelViewModel-test.ts | 8 +------- 2 files changed, 5 insertions(+), 14 deletions(-) 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(),