From 36fae00cf3883a0332c605dd9a871a714eae1a5d Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Mon, 30 Sep 2024 21:33:23 +0100 Subject: [PATCH] Change device isolation mode to set `errorOnVerifiedUserProblems` to `false` (#104) https://github.com/element-hq/matrix-react-sdk/pull/92 changed the default mode for encryption to throw an error when sending a message and the room contains either: - a verified user with an unverified device - a verifeid user who has changed their identity. We're not really ready for this (we lack the UI to deal with it), so roll that back. --- .../controllers/DeviceIsolationModeController.ts | 12 +++++++----- .../DeviceIsolationModeController-test.ts | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/settings/controllers/DeviceIsolationModeController.ts b/src/settings/controllers/DeviceIsolationModeController.ts index 03fee77742..fe932d0deb 100644 --- a/src/settings/controllers/DeviceIsolationModeController.ts +++ b/src/settings/controllers/DeviceIsolationModeController.ts @@ -29,9 +29,11 @@ export default class DeviceIsolationModeController extends SettingController { * @param settingValue - value of the "exclude_insecure_devices" setting. */ export function setDeviceIsolationMode(client: MatrixClient, settingValue: boolean): void { - client - .getCrypto() - ?.setDeviceIsolationMode( - settingValue ? new OnlySignedDevicesIsolationMode() : new AllDevicesIsolationMode(true), - ); + client.getCrypto()?.setDeviceIsolationMode( + settingValue + ? new OnlySignedDevicesIsolationMode() + : // TODO: As part of https://github.com/element-hq/element-meta/issues/2492, we will change + // `errorOnVerifiedUserProblems` to `true`, but we need to have better UI in place before we can do so. + new AllDevicesIsolationMode(false), + ); } diff --git a/test/settings/controllers/DeviceIsolationModeController-test.ts b/test/settings/controllers/DeviceIsolationModeController-test.ts index 089a8ddfc8..24590dabeb 100644 --- a/test/settings/controllers/DeviceIsolationModeController-test.ts +++ b/test/settings/controllers/DeviceIsolationModeController-test.ts @@ -27,7 +27,7 @@ describe("DeviceIsolationModeController", () => { const cli = stubClient(); const controller = new DeviceIsolationModeController(); controller.onChange(SettingLevel.DEVICE, "", false); - expect(cli.getCrypto()?.setDeviceIsolationMode).toHaveBeenCalledWith(new AllDevicesIsolationMode(true)); + expect(cli.getCrypto()?.setDeviceIsolationMode).toHaveBeenCalledWith(new AllDevicesIsolationMode(false)); }); }); });