remove "Manually verify all remote sessions" setting (#12706)
* remove "Manually verify all remote sessions" setting And remove all of the advanced encryption settings section, since that was the only setting in there. * yarn i18n * also remove now-unused OrderedMultiController and PushToMatrixClientController
This commit is contained in:
parent
ba7cf60cd8
commit
db95f26ffa
7 changed files with 1 additions and 208 deletions
|
@ -15,7 +15,6 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { MatrixClient } from "matrix-js-sdk/src/matrix";
|
||||
import React, { ReactNode } from "react";
|
||||
|
||||
import { _t, _td, TranslationKey } from "../languageHandler";
|
||||
|
@ -24,7 +23,6 @@ import {
|
|||
NotificationsEnabledController,
|
||||
} from "./controllers/NotificationControllers";
|
||||
import ThemeController from "./controllers/ThemeController";
|
||||
import PushToMatrixClientController from "./controllers/PushToMatrixClientController";
|
||||
import ReloadOnChangeController from "./controllers/ReloadOnChangeController";
|
||||
import FontSizeController from "./controllers/FontSizeController";
|
||||
import SystemFontController from "./controllers/SystemFontController";
|
||||
|
@ -33,7 +31,6 @@ import SettingController from "./controllers/SettingController";
|
|||
import { IS_MAC } from "../Keyboard";
|
||||
import UIFeatureController from "./controllers/UIFeatureController";
|
||||
import { UIFeature } from "./UIFeature";
|
||||
import { OrderedMultiController } from "./controllers/OrderedMultiController";
|
||||
import { Layout } from "./enums/Layout";
|
||||
import ReducedMotionController from "./controllers/ReducedMotionController";
|
||||
import IncompatibleController from "./controllers/IncompatibleController";
|
||||
|
@ -1008,18 +1005,6 @@ export const SETTINGS: { [setting: string]: ISetting } = {
|
|||
default: true,
|
||||
controller: new UIFeatureController(UIFeature.Voip),
|
||||
},
|
||||
"e2ee.manuallyVerifyAllSessions": {
|
||||
supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
|
||||
displayName: _td("settings|security|manually_verify_all_sessions"),
|
||||
default: false,
|
||||
controller: new OrderedMultiController([
|
||||
// Apply the feature controller first to ensure that the setting doesn't
|
||||
// show up and can't be toggled. PushToMatrixClientController doesn't
|
||||
// do any overrides anyways.
|
||||
new UIFeatureController(UIFeature.AdvancedEncryption),
|
||||
new PushToMatrixClientController(MatrixClient.prototype.setCryptoTrustCrossSignedDevices, true),
|
||||
]),
|
||||
},
|
||||
"ircDisplayNameWidth": {
|
||||
// We specifically want to have room-device > device so that users may set a device default
|
||||
// with a per-room override.
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
Copyright 2020 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import SettingController from "./SettingController";
|
||||
import { SettingLevel } from "../SettingLevel";
|
||||
|
||||
/**
|
||||
* Allows for multiple controllers to affect a setting. The first controller
|
||||
* provided to this class which overrides the setting value will affect
|
||||
* the value - other controllers are not called. Change notification handlers
|
||||
* are proxied through to all controllers.
|
||||
*
|
||||
* Similarly, the first controller which indicates that a setting is disabled
|
||||
* will be used - other controllers will not be considered.
|
||||
*/
|
||||
export class OrderedMultiController extends SettingController {
|
||||
public constructor(public readonly controllers: SettingController[]) {
|
||||
super();
|
||||
}
|
||||
|
||||
public getValueOverride(
|
||||
level: SettingLevel,
|
||||
roomId: string,
|
||||
calculatedValue: any,
|
||||
calculatedAtLevel: SettingLevel | null,
|
||||
): any {
|
||||
for (const controller of this.controllers) {
|
||||
const override = controller.getValueOverride(level, roomId, calculatedValue, calculatedAtLevel);
|
||||
if (override !== undefined && override !== null) return override;
|
||||
}
|
||||
return null; // no override
|
||||
}
|
||||
|
||||
public onChange(level: SettingLevel, roomId: string, newValue: any): void {
|
||||
for (const controller of this.controllers) {
|
||||
controller.onChange(level, roomId, newValue);
|
||||
}
|
||||
}
|
||||
|
||||
public get settingDisabled(): boolean {
|
||||
for (const controller of this.controllers) {
|
||||
if (controller.settingDisabled) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
Copyright 2020 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { MatrixClientPeg } from "../../MatrixClientPeg";
|
||||
import { SettingLevel } from "../SettingLevel";
|
||||
import SettingController from "./SettingController";
|
||||
|
||||
/**
|
||||
* When the value changes, call a setter function on the matrix client with the new value
|
||||
*/
|
||||
export default class PushToMatrixClientController extends SettingController {
|
||||
public constructor(
|
||||
private setter: Function,
|
||||
private inverse: boolean,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
|
||||
public onChange(level: SettingLevel, roomId: string, newValue: any): void {
|
||||
// XXX does this work? This surely isn't necessarily the effective value,
|
||||
// but it's what NotificationsEnabledController does...
|
||||
this.setter.call(MatrixClientPeg.get(), this.inverse ? !newValue : newValue);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue