From 7a448be1dc59b13a19916fc189123086d5069fbd Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 16 Sep 2020 12:14:33 +0100
Subject: [PATCH 1/2] UI Feature Flag: Disable advanced options and tidy up
some copy
---
.../views/dialogs/RoomSettingsDialog.js | 15 ++++----
.../tabs/user/PreferencesUserSettingsTab.js | 8 ++---
.../tabs/user/SecurityUserSettingsTab.js | 36 +++++++++++--------
src/settings/Settings.ts | 4 +++
src/settings/UIFeature.ts | 1 +
5 files changed, 40 insertions(+), 24 deletions(-)
diff --git a/src/components/views/dialogs/RoomSettingsDialog.js b/src/components/views/dialogs/RoomSettingsDialog.js
index 613708e436..a43b284c42 100644
--- a/src/components/views/dialogs/RoomSettingsDialog.js
+++ b/src/components/views/dialogs/RoomSettingsDialog.js
@@ -29,6 +29,7 @@ import * as sdk from "../../../index";
import {MatrixClientPeg} from "../../../MatrixClientPeg";
import dis from "../../../dispatcher/dispatcher";
import SettingsStore from "../../../settings/SettingsStore";
+import {UIFeature} from "../../../settings/UIFeature";
export const ROOM_GENERAL_TAB = "ROOM_GENERAL_TAB";
export const ROOM_SECURITY_TAB = "ROOM_SECURITY_TAB";
@@ -96,12 +97,14 @@ export default class RoomSettingsDialog extends React.Component {
));
}
- tabs.push(new Tab(
- ROOM_ADVANCED_TAB,
- _td("Advanced"),
- "mx_RoomSettingsDialog_warningIcon",
- ,
- ));
+ if (SettingsStore.getValue(UIFeature.AdvancedSettings)) {
+ tabs.push(new Tab(
+ ROOM_ADVANCED_TAB,
+ _td("Advanced"),
+ "mx_RoomSettingsDialog_warningIcon",
+ ,
+ ));
+ }
return tabs;
}
diff --git a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
index d5dafe146a..347cfccd56 100644
--- a/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
+++ b/src/components/views/settings/tabs/user/PreferencesUserSettingsTab.js
@@ -50,10 +50,10 @@ export default class PreferencesUserSettingsTab extends React.Component {
'showAvatarChanges',
'showDisplaynameChanges',
'showImages',
+ 'Pill.shouldShowPillAvatar',
];
- static ADVANCED_SETTINGS = [
- 'Pill.shouldShowPillAvatar',
+ static GENERAL_SETTINGS = [
'TagPanel.enableTagPanel',
'promptBeforeInviteUnknownUsers',
// Start automatically after startup (electron-only)
@@ -191,8 +191,8 @@ export default class PreferencesUserSettingsTab extends React.Component {
-
{_t("Advanced")}
- {this._renderGroup(PreferencesUserSettingsTab.ADVANCED_SETTINGS)}
+
{_t("General")}
+ {this._renderGroup(PreferencesUserSettingsTab.GENERAL_SETTINGS)}
{minimizeToTrayOption}
{autoHideMenuOption}
{autoLaunchOption}
diff --git a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js
index c25ac438e0..6509fece13 100644
--- a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js
+++ b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js
@@ -30,6 +30,8 @@ import dis from "../../../../../dispatcher/dispatcher";
import {privateShouldBeEncrypted} from "../../../../../createRoom";
import {SettingLevel} from "../../../../../settings/SettingLevel";
import SecureBackupPanel from "../../SecureBackupPanel";
+import SettingsStore from "../../../../../settings/SettingsStore";
+import {UIFeature} from "../../../../../settings/UIFeature";
export class IgnoredUser extends React.Component {
static propTypes = {
@@ -311,15 +313,13 @@ export default class SecurityUserSettingsTab extends React.Component {
// can remove this.
const CrossSigningPanel = sdk.getComponent('views.settings.CrossSigningPanel');
const crossSigning = (
-
-
{_t("Cross-signing")}
-
-
-
+
+
{_t("Cross-signing")}
+
+
- );
-
- const E2eAdvancedPanel = sdk.getComponent('views.settings.E2eAdvancedPanel');
+
+ );
let warning;
if (!privateShouldBeEncrypted()) {
@@ -329,6 +329,19 @@ export default class SecurityUserSettingsTab extends React.Component {
;
}
+ const E2eAdvancedPanel = sdk.getComponent('views.settings.E2eAdvancedPanel');
+ let advancedSection;
+ if (SettingsStore.getValue(UIFeature.AdvancedSettings)) {
+ advancedSection = <>
+
{_t("Advanced")}
+
+ {this._renderIgnoredUsers()}
+ {this._renderManageInvites()}
+
+
+ >;
+ }
+
return (
{warning}
@@ -375,12 +388,7 @@ export default class SecurityUserSettingsTab extends React.Component {
-
{_t("Advanced")}
-
- {this._renderIgnoredUsers()}
- {this._renderManageInvites()}
-
-
+ { advancedSection }
);
}
diff --git a/src/settings/Settings.ts b/src/settings/Settings.ts
index b35fa3db13..5fd5eebca4 100644
--- a/src/settings/Settings.ts
+++ b/src/settings/Settings.ts
@@ -622,4 +622,8 @@ export const SETTINGS: {[setting: string]: ISetting} = {
supportedLevels: LEVELS_UI_FEATURE,
default: true,
},
+ [UIFeature.AdvancedSettings]: {
+ supportedLevels: LEVELS_UI_FEATURE,
+ default: true,
+ },
};
diff --git a/src/settings/UIFeature.ts b/src/settings/UIFeature.ts
index 99196e5d30..d94b44e2c2 100644
--- a/src/settings/UIFeature.ts
+++ b/src/settings/UIFeature.ts
@@ -18,4 +18,5 @@ limitations under the License.
export enum UIFeature {
URLPreviews = "UIFeature.urlPreviews",
Widgets = "UIFeature.widgets",
+ AdvancedSettings = "UIFeature.advancedSettings",
}
From 9dbc1dbc85cb45e7dc92473dfaa6e0ae95fc1b06 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Fri, 18 Sep 2020 11:34:35 +0100
Subject: [PATCH 2/2] Hide Advanced Appearance Settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---
.../views/settings/tabs/user/AppearanceUserSettingsTab.tsx | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/components/views/settings/tabs/user/AppearanceUserSettingsTab.tsx b/src/components/views/settings/tabs/user/AppearanceUserSettingsTab.tsx
index b4c05a2ecb..9f9acd8e3c 100644
--- a/src/components/views/settings/tabs/user/AppearanceUserSettingsTab.tsx
+++ b/src/components/views/settings/tabs/user/AppearanceUserSettingsTab.tsx
@@ -36,6 +36,7 @@ import EventTilePreview from '../../../elements/EventTilePreview';
import StyledRadioGroup from "../../../elements/StyledRadioGroup";
import classNames from 'classnames';
import { SettingLevel } from "../../../../../settings/SettingLevel";
+import {UIFeature} from "../../../../../settings/UIFeature";
interface IProps {
}
@@ -386,6 +387,8 @@ export default class AppearanceUserSettingsTab extends React.Component