diff --git a/src/Notifier.ts b/src/Notifier.ts index 473de6c161..03f037be98 100644 --- a/src/Notifier.ts +++ b/src/Notifier.ts @@ -33,6 +33,7 @@ import Modal from './Modal'; import SettingsStore from "./settings/SettingsStore"; import { hideToast as hideNotificationsToast } from "./toasts/DesktopNotificationsToast"; import {SettingLevel} from "./settings/SettingLevel"; +import {isPushNotifyDisabled} from "./settings/controllers/NotificationControllers"; /* * Dispatches: @@ -302,7 +303,7 @@ export const Notifier = { return false; } const isGuest = client.isGuest(); - return !isGuest && this.supportsDesktopNotifications() && + return !isGuest && this.supportsDesktopNotifications() && !isPushNotifyDisabled() && !this.isEnabled() && !this._isToolbarHidden(); }, diff --git a/src/settings/controllers/NotificationControllers.ts b/src/settings/controllers/NotificationControllers.ts index bf5971d02e..323c64e9c3 100644 --- a/src/settings/controllers/NotificationControllers.ts +++ b/src/settings/controllers/NotificationControllers.ts @@ -24,7 +24,7 @@ import {PushProcessor} from "matrix-js-sdk/src/pushprocessor"; // .m.rule.master being enabled means all events match that push rule // default action on this rule is dont_notify, but it could be something else -function isPushNotifyDisabled(): boolean { +export function isPushNotifyDisabled(): boolean { // Return the value of the master push rule as a default const processor = new PushProcessor(MatrixClientPeg.get()); const masterRule = processor.getPushRuleById(".m.rule.master");