From 24c537cdb7e474b6220ca89f4b8787a6aa9048f7 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 6 Jan 2025 14:35:41 +0100 Subject: [PATCH] Assert that the crypto module is defined --- .../views/settings/encryption/ChangeRecoveryKey.tsx | 8 +------- .../views/settings/encryption/RecoveryPanel.tsx | 3 +-- .../settings/tabs/user/EncryptionUserSettingsTab.tsx | 4 +--- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx index 7bbd998183..aec2aef078 100644 --- a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx +++ b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx @@ -65,13 +65,7 @@ export function ChangeRecoveryKey({ const [state, setState] = useState(isSetupFlow ? "inform_user" : "save_key_change_flow"); // We create a new recovery key, the recovery key will be displayed to the user - const recoveryKey = useAsyncMemo(() => { - const crypto = matrixClient.getCrypto(); - if (!crypto) return Promise.resolve(undefined); - - return crypto.createRecoveryKeyFromPassphrase(); - }, []); - + const recoveryKey = useAsyncMemo(() => matrixClient.getCrypto()!.createRecoveryKeyFromPassphrase(), []); if (!recoveryKey?.encodedPrivateKey) return null; let content: JSX.Element; diff --git a/src/components/views/settings/encryption/RecoveryPanel.tsx b/src/components/views/settings/encryption/RecoveryPanel.tsx index df555a583a..960a0c2637 100644 --- a/src/components/views/settings/encryption/RecoveryPanel.tsx +++ b/src/components/views/settings/encryption/RecoveryPanel.tsx @@ -46,8 +46,7 @@ export function RecoveryPanel({ onSetUpRecoveryClick, onChangingRecoveryKeyClick const matrixClient = useMatrixClientContext(); const checkEncryption = useCallback(async () => { - const crypto = matrixClient.getCrypto(); - if (!crypto) return; + const crypto = matrixClient.getCrypto()!; // Check if the user has a backup const hasBackup = Boolean(await crypto.checkKeyBackupAndEnable()); diff --git a/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx b/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx index 97e6ed1ab5..3908646dae 100644 --- a/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx +++ b/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx @@ -78,9 +78,7 @@ function useVerificationRequired(setState: (state: State) => void): () => Promis const matrixClient = useMatrixClientContext(); const checkVerificationRequired = useCallback(async () => { - const crypto = matrixClient.getCrypto(); - if (!crypto) return; - + const crypto = matrixClient.getCrypto()!; const isCrossSigningReady = await crypto.isCrossSigningReady(); if (isCrossSigningReady) setState("main"); else setState("verification_required");