From 4d7b7c4cc8027a6991295e063f10f7c1bdc9ee1f Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 6 May 2022 12:29:17 -0600 Subject: [PATCH] Remove feature_dnd Rationale: it's a poor implementation and will conflict with proper feature development. --- src/Notifier.ts | 4 -- src/components/structures/UserMenu.tsx | 54 -------------------------- src/i18n/strings/en_EN.json | 2 - src/settings/Settings.tsx | 12 ------ 4 files changed, 72 deletions(-) diff --git a/src/Notifier.ts b/src/Notifier.ts index 62e2f09370..892d5bc19c 100644 --- a/src/Notifier.ts +++ b/src/Notifier.ts @@ -408,10 +408,6 @@ export const Notifier = { // don't bother notifying as user was recently active in this room return; } - if (SettingsStore.getValue("doNotDisturb")) { - // Don't bother the user if they didn't ask to be bothered - return; - } if (this.isEnabled()) { this._displayPopupNotification(ev, room); diff --git a/src/components/structures/UserMenu.tsx b/src/components/structures/UserMenu.tsx index 78f1e29d00..b389632499 100644 --- a/src/components/structures/UserMenu.tsx +++ b/src/components/structures/UserMenu.tsx @@ -44,7 +44,6 @@ import { UPDATE_EVENT } from "../../stores/AsyncStore"; import BaseAvatar from '../views/avatars/BaseAvatar'; import { SettingLevel } from "../../settings/SettingLevel"; import IconizedContextMenu, { - IconizedContextMenuCheckbox, IconizedContextMenuOption, IconizedContextMenuOptionList, } from "../views/context_menus/IconizedContextMenu"; @@ -53,7 +52,6 @@ import HostSignupAction from "./HostSignupAction"; import SpaceStore from "../../stores/spaces/SpaceStore"; import { UPDATE_SELECTED_SPACE } from "../../stores/spaces"; import MatrixClientContext from "../../contexts/MatrixClientContext"; -import { SettingUpdatedPayload } from "../../dispatcher/payloads/SettingUpdatedPayload"; import UserIdentifierCustomisations from "../../customisations/UserIdentifier"; import PosthogTrackers from "../../PosthogTrackers"; import { ViewHomePagePayload } from "../../dispatcher/payloads/ViewHomePagePayload"; @@ -122,7 +120,6 @@ interface IState { isDarkTheme: boolean; isHighContrast: boolean; selectedSpace?: Room; - dndEnabled: boolean; } const toRightOf = (rect: PartialDOMRect) => { @@ -154,19 +151,11 @@ export default class UserMenu extends React.Component { contextMenuPosition: null, isDarkTheme: this.isUserOnDarkTheme(), isHighContrast: this.isUserOnHighContrastTheme(), - dndEnabled: this.doNotDisturb, selectedSpace: SpaceStore.instance.activeSpaceRoom, }; OwnProfileStore.instance.on(UPDATE_EVENT, this.onProfileUpdate); SpaceStore.instance.on(UPDATE_SELECTED_SPACE, this.onSelectedSpaceUpdate); - - SettingsStore.monitorSetting("feature_dnd", null); - SettingsStore.monitorSetting("doNotDisturb", null); - } - - private get doNotDisturb(): boolean { - return SettingsStore.getValue("doNotDisturb"); } private get hasHomePage(): boolean { @@ -239,20 +228,6 @@ export default class UserMenu extends React.Component { if (this.buttonRef.current) this.buttonRef.current.click(); } break; - - case Action.SettingUpdated: { - const settingUpdatedPayload = payload as SettingUpdatedPayload; - switch (settingUpdatedPayload.settingName) { - case "feature_dnd": - case "doNotDisturb": { - const dndEnabled = this.doNotDisturb; - if (this.state.dndEnabled !== dndEnabled) { - this.setState({ dndEnabled }); - } - break; - } - } - } } }; @@ -348,12 +323,6 @@ export default class UserMenu extends React.Component { this.setState({ contextMenuPosition: null }); // also close the menu }; - private onDndToggle = (ev: ButtonEvent) => { - ev.stopPropagation(); - const current = SettingsStore.getValue("doNotDisturb"); - SettingsStore.setValue("doNotDisturb", null, SettingLevel.DEVICE, !current); - }; - private renderContextMenu = (): React.ReactNode => { if (!this.state.contextMenuPosition) return null; @@ -405,19 +374,6 @@ export default class UserMenu extends React.Component { customStatusSection = ; } - let dndButton: JSX.Element; - if (SettingsStore.getValue("feature_dnd")) { - dndButton = ( - - ); - } - let feedbackButton; if (SettingsStore.getValue(UIFeature.Feedback)) { feedbackButton = { let primaryOptionList = ( { homeButton } - { dndButton } { const displayName = OwnProfileStore.instance.displayName || userId; const avatarUrl = OwnProfileStore.instance.getHttpAvatarUrl(avatarSize); - let badge: JSX.Element; - if (this.state.dndEnabled) { - badge =
; - } - let name: JSX.Element; if (!this.props.isPanelCollapsed) { name =
@@ -534,9 +484,6 @@ export default class UserMenu extends React.Component { label={_t("User menu")} isExpanded={!!this.state.contextMenuPosition} onContextMenu={this.onContextMenu} - className={classNames({ - mx_UserMenu_cutout: badge, - })} >
{ resizeMethod="crop" className="mx_UserMenu_userAvatar_BaseAvatar" /> - { badge }
{ name } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index a37af4d26c..6262cd86e2 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -869,7 +869,6 @@ "Developer": "Developer", "Let moderators hide messages pending moderation.": "Let moderators hide messages pending moderation.", "Report to moderators prototype. In rooms that support moderation, the `report` button will let you report abuse to room moderators": "Report to moderators prototype. In rooms that support moderation, the `report` button will let you report abuse to room moderators", - "Show options to enable 'Do not disturb' mode": "Show options to enable 'Do not disturb' mode", "Render LaTeX maths in messages": "Render LaTeX maths in messages", "Message Pinning": "Message Pinning", "Threaded messaging": "Threaded messaging", @@ -3177,7 +3176,6 @@ "Set a new status": "Set a new status", "Got an account? Sign in": "Got an account? Sign in", "New here? Create an account": "New here? Create an account", - "Do not disturb": "Do not disturb", "Switch to light mode": "Switch to light mode", "Switch to dark mode": "Switch to dark mode", "Switch theme": "Switch theme", diff --git a/src/settings/Settings.tsx b/src/settings/Settings.tsx index ae30d58d4b..b7fce4aef1 100644 --- a/src/settings/Settings.tsx +++ b/src/settings/Settings.tsx @@ -201,13 +201,6 @@ export const SETTINGS: {[setting: string]: ISetting} = { supportedLevels: LEVELS_FEATURE, default: false, }, - "feature_dnd": { - isFeature: true, - labsGroup: LabGroup.Profile, - displayName: _td("Show options to enable 'Do not disturb' mode"), - supportedLevels: LEVELS_FEATURE, - default: false, - }, "feature_latex_maths": { isFeature: true, labsGroup: LabGroup.Messaging, @@ -344,11 +337,6 @@ export const SETTINGS: {[setting: string]: ISetting} = { displayName: _td("Show current avatar and name for users in message history"), default: false, }, - "doNotDisturb": { - supportedLevels: [SettingLevel.DEVICE], - default: false, - controller: new IncompatibleController("feature_dnd", false, false), - }, "mjolnirRooms": { supportedLevels: [SettingLevel.ACCOUNT], default: [],