From a0d904e95fe34614176178eee68cde21d9a26e79 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 6 Jan 2025 15:31:13 +0100 Subject: [PATCH] Rename `ChangeRecoveryKey.isSetupFlow` into `ChangeRecoveryKey.userHasKeyBackup` --- .../settings/encryption/ChangeRecoveryKey.tsx | 18 +++++++++--------- .../tabs/user/EncryptionUserSettingsTab.tsx | 2 +- .../encryption/ChangeRecoveryKey-test.tsx | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx index dc5adb1d3c..6ed109ebb2 100644 --- a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx +++ b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx @@ -38,10 +38,10 @@ type State = "inform_user" | "save_key_setup_flow" | "save_key_change_flow" | "c interface ChangeRecoveryKeyProps { /** - * If true, the component will display the flow to set up a new recovery key. - * If false, the component will display the flow to change the recovery key. + * If true, the component will display the flow to change the recovery key. + * If false,the component will display the flow to set up a new recovery key. */ - isSetupFlow: boolean; + userHasKeyBackup: boolean; /** * Called when the recovery key is successfully changed. */ @@ -56,13 +56,13 @@ interface ChangeRecoveryKeyProps { * A component to set up or change the recovery key. */ export function ChangeRecoveryKey({ - isSetupFlow, + userHasKeyBackup, onFinish, onCancelClick, }: ChangeRecoveryKeyProps): JSX.Element | null { const matrixClient = useMatrixClientContext(); - const [state, setState] = useState(isSetupFlow ? "inform_user" : "save_key_change_flow"); + const [state, setState] = useState(userHasKeyBackup ? "save_key_change_flow" : "inform_user"); // We create a new recovery key, the recovery key will be displayed to the user const recoveryKey = useAsyncMemo(() => matrixClient.getCrypto()!.createRecoveryKeyFromPassphrase(), []); @@ -102,7 +102,7 @@ export function ChangeRecoveryKey({ // when we will try to access the secret storage during the bootstrap await withSecretStorageKeyCache(() => crypto.bootstrapSecretStorage({ - setupNewKeyBackup: isSetupFlow, + setupNewKeyBackup: !userHasKeyBackup, setupNewSecretStorage: true, createSecretStorageKey: async () => recoveryKey, }), @@ -118,9 +118,9 @@ export function ChangeRecoveryKey({ const pages = [ _t("settings|encryption|title"), - isSetupFlow - ? _t("settings|encryption|recovery|set_up_recovery") - : _t("settings|encryption|recovery|change_recovery_key"), + userHasKeyBackup + ? _t("settings|encryption|recovery|change_recovery_key") + : _t("settings|encryption|recovery|set_up_recovery"), ]; const labels = getLabels(state); diff --git a/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx b/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx index 3908646dae..969d157cdb 100644 --- a/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx +++ b/src/components/views/settings/tabs/user/EncryptionUserSettingsTab.tsx @@ -53,7 +53,7 @@ export function EncryptionUserSettingsTab(): JSX.Element { case "set_recovery_key": content = ( setState("main")} onFinish={() => setState("main")} /> diff --git a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx index 5d67b4e6b3..4a83970f93 100644 --- a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx +++ b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx @@ -25,9 +25,9 @@ describe("", () => { matrixClient = createTestClient(); }); - function renderComponent(isSetupFlow = false, onFinish = jest.fn(), onCancelClick = jest.fn()) { + function renderComponent(userHasKeyBackup = true, onFinish = jest.fn(), onCancelClick = jest.fn()) { return render( - , + , withClientContextRenderOptions(matrixClient), ); } @@ -37,7 +37,7 @@ describe("", () => { const user = userEvent.setup(); const onCancelClick = jest.fn(); - const { asFragment } = renderComponent(true, jest.fn(), onCancelClick); + const { asFragment } = renderComponent(false, jest.fn(), onCancelClick); await waitFor(() => expect( screen.getByText( @@ -55,7 +55,7 @@ describe("", () => { const user = userEvent.setup(); const onCancelClick = jest.fn(); - const { asFragment } = renderComponent(true, jest.fn(), onCancelClick); + const { asFragment } = renderComponent(false, jest.fn(), onCancelClick); await waitFor(() => user.click(screen.getByRole("button", { name: "Continue" }))); expect(screen.getByText("Save your recovery key somewhere safe")).toBeInTheDocument(); @@ -74,7 +74,7 @@ describe("", () => { const user = userEvent.setup(); const onFinish = jest.fn(); - const { asFragment } = renderComponent(true, onFinish); + const { asFragment } = renderComponent(false, onFinish); // Display the recovery key to save await waitFor(() => user.click(screen.getByRole("button", { name: "Continue" }))); // Display the form to confirm the recovery key