diff --git a/playwright/e2e/crypto/dehydration.spec.ts b/playwright/e2e/crypto/dehydration.spec.ts index 35b5fae1ad..89ee854c91 100644 --- a/playwright/e2e/crypto/dehydration.spec.ts +++ b/playwright/e2e/crypto/dehydration.spec.ts @@ -22,18 +22,6 @@ test.use({ msc3814_enabled: true, }, }, - config: async ({ config, context }, use) => { - const wellKnown = { - ...config.default_server_config, - "org.matrix.msc3814": true, - }; - - await context.route("https://localhost/.well-known/matrix/client", async (route) => { - await route.fulfill({ json: wellKnown }); - }); - - await use(config); - }, }); test.describe("Dehydration", () => { diff --git a/src/utils/device/dehydration.ts b/src/utils/device/dehydration.ts index 031a3f362d..5dbec29739 100644 --- a/src/utils/device/dehydration.ts +++ b/src/utils/device/dehydration.ts @@ -7,34 +7,12 @@ Please see LICENSE files in the repository root for full details. */ import { logger } from "matrix-js-sdk/src/logger"; -import { type CryptoApi, type StartDehydrationOpts } from "matrix-js-sdk/src/crypto-api"; +import { type StartDehydrationOpts } from "matrix-js-sdk/src/crypto-api"; import type { MatrixClient } from "matrix-js-sdk/src/matrix"; /** - * Check if device dehydration is enabled. - * - * Note that this doesn't necessarily mean that device dehydration has been initialised - * (yet) on this client; rather, it means that the server supports it, the crypto backend - * supports it, and the application configuration suggests that it *should* be - * initialised on this device. - * - * Dehydration can currently only be enabled by setting a flag in the .well-known file. - */ -async function deviceDehydrationEnabled(client: MatrixClient, crypto: CryptoApi | undefined): Promise { - if (!crypto) { - return false; - } - if (!(await crypto.isDehydrationSupported())) { - return false; - } - const wellknown = await client.waitForClientWellKnown(); - return !!wellknown?.["org.matrix.msc3814"]; -} - -/** - * If dehydration is enabled (i.e., it is supported by the server and enabled in - * the configuration), rehydrate a device (if available) and create + * If dehydration is supported by the server, rehydrate a device (if available) and create * a new dehydrated device. * * @param client - MatrixClient to use for the operation @@ -45,8 +23,8 @@ export async function initialiseDehydrationIfEnabled( opts: StartDehydrationOpts = {}, ): Promise { const crypto = client.getCrypto(); - if (await deviceDehydrationEnabled(client, crypto)) { - logger.log("Device dehydration enabled"); - await crypto!.startDehydration(opts); + if (crypto && (await crypto.isDehydrationSupported())) { + logger.debug("Starting device dehydration"); + await crypto.startDehydration(opts); } }