diff --git a/src/settings/controllers/MatrixClientBackedController.ts b/src/settings/controllers/MatrixClientBackedController.ts index cf4036873b..15cc58e25a 100644 --- a/src/settings/controllers/MatrixClientBackedController.ts +++ b/src/settings/controllers/MatrixClientBackedController.ts @@ -18,7 +18,7 @@ import SettingController from "./SettingController"; * This class performs no logic and should be overridden. */ export default abstract class MatrixClientBackedController extends SettingController { - private static _matrixClient: MatrixClient; + private static _matrixClient?: MatrixClient; private static instances: MatrixClientBackedController[] = []; public static set matrixClient(client: MatrixClient) { @@ -26,7 +26,7 @@ export default abstract class MatrixClientBackedController extends SettingContro MatrixClientBackedController._matrixClient = client; for (const instance of MatrixClientBackedController.instances) { - instance.initMatrixClient(oldClient, client); + instance.initMatrixClient(client, oldClient); } } @@ -36,9 +36,9 @@ export default abstract class MatrixClientBackedController extends SettingContro MatrixClientBackedController.instances.push(this); } - public get client(): MatrixClient { + public get client(): MatrixClient | undefined { return MatrixClientBackedController._matrixClient; } - protected abstract initMatrixClient(oldClient: MatrixClient, newClient: MatrixClient): void; + protected abstract initMatrixClient(newClient: MatrixClient, oldClient?: MatrixClient): void; } diff --git a/src/settings/controllers/ServerSupportUnstableFeatureController.ts b/src/settings/controllers/ServerSupportUnstableFeatureController.ts index 75f20632bd..f2ca2c0b07 100644 --- a/src/settings/controllers/ServerSupportUnstableFeatureController.ts +++ b/src/settings/controllers/ServerSupportUnstableFeatureController.ts @@ -6,8 +6,6 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ -import { MatrixClient } from "matrix-js-sdk/src/matrix"; - import { SettingLevel } from "../SettingLevel"; import MatrixClientBackedController from "./MatrixClientBackedController"; import { WatchManager } from "../WatchManager"; @@ -53,9 +51,9 @@ export default class ServerSupportUnstableFeatureController extends MatrixClient this.watchers.notifyUpdate(this.settingName, null, level, settingValue); } - protected async initMatrixClient(oldClient: MatrixClient, newClient: MatrixClient): Promise { + protected async initMatrixClient(): Promise { // Check for stable version support first - if (this.stableVersion && (await this.client.isVersionSupported(this.stableVersion))) { + if (this.stableVersion && (await this.client!.isVersionSupported(this.stableVersion))) { this.disabled = false; return; } @@ -66,7 +64,7 @@ export default class ServerSupportUnstableFeatureController extends MatrixClient for (const featureGroup of this.unstableFeatureGroups) { const featureSupportList = await Promise.all( featureGroup.map(async (feature) => { - const isFeatureSupported = await this.client.doesServerSupportUnstableFeature(feature); + const isFeatureSupported = await this.client!.doesServerSupportUnstableFeature(feature); return isFeatureSupported; }), );