Dehydration: enable dehydrated device on "Set up recovery" (#29265)
* playwright/dehydration: update check The old "Security & Privacy" tab is going away, so we need a new way to check for dehydrated device existence. * Dehydration: enable dehydrated device on "Set up recovery" Clicking "Set up recovery" should set up a dehydrated device, if that feature is enabled. Fixes #29135 * Empty commit ... to wake up the CLA bot
This commit is contained in:
committed by
GitHub
parent
09db599fe0
commit
f822653d65
@@ -26,6 +26,7 @@ import { EncryptionCard } from "./EncryptionCard";
|
||||
import { useMatrixClientContext } from "../../../../contexts/MatrixClientContext";
|
||||
import { useAsyncMemo } from "../../../../hooks/useAsyncMemo";
|
||||
import { copyPlaintext } from "../../../../utils/strings";
|
||||
import { initialiseDehydrationIfEnabled } from "../../../../utils/device/dehydration.ts";
|
||||
import { withSecretStorageKeyCache } from "../../../../SecurityManager";
|
||||
|
||||
/**
|
||||
@@ -122,12 +123,13 @@ export function ChangeRecoveryKey({
|
||||
try {
|
||||
// We need to enable the cache to avoid to prompt the user to enter the new key
|
||||
// when we will try to access the secret storage during the bootstrap
|
||||
await withSecretStorageKeyCache(() =>
|
||||
crypto.bootstrapSecretStorage({
|
||||
await withSecretStorageKeyCache(async () => {
|
||||
await crypto.bootstrapSecretStorage({
|
||||
setupNewSecretStorage: true,
|
||||
createSecretStorageKey: async () => recoveryKey,
|
||||
}),
|
||||
);
|
||||
});
|
||||
await initialiseDehydrationIfEnabled(matrixClient, { createNewKey: true });
|
||||
});
|
||||
onFinish();
|
||||
} catch (e) {
|
||||
logger.error("Failed to bootstrap secret storage", e);
|
||||
|
||||
Reference in New Issue
Block a user