Fix issue with windows-focus-assist returning truthy value on older windows versions (#2385)

This commit is contained in:
Tasos Boulis 2022-11-16 11:50:53 +02:00 committed by Devin Binnie
parent 142962df52
commit 7ac3d5edf8
2 changed files with 35 additions and 8 deletions

View file

@ -0,0 +1,33 @@
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {getFocusAssist, isPriority} from 'windows-focus-assist';
/**
-2: NOT_SUPPORTED,
-1: FAILED,
0: Off,
1: PRIORITY_ONLY,
2: ALARMS_ONLY
*/
function getWindowsDoNotDisturb() {
if (process.platform !== 'win32') {
return false;
}
const focusAssistValue = getFocusAssist().value;
switch (focusAssistValue) {
case 2:
return true;
case 1:
return !isPriority('Mattermost.Desktop');
case 0:
case -1:
case -2:
return false;
default:
return focusAssistValue;
}
}
export default getWindowsDoNotDisturb;

View file

@ -4,7 +4,6 @@
import {shell, Notification} from 'electron'; import {shell, Notification} from 'electron';
import log from 'electron-log'; import log from 'electron-log';
import {getFocusAssist, isPriority} from 'windows-focus-assist';
import {getDoNotDisturb as getDarwinDoNotDisturb} from 'macos-notification-state'; import {getDoNotDisturb as getDarwinDoNotDisturb} from 'macos-notification-state';
import {MentionData} from 'types/notification'; import {MentionData} from 'types/notification';
@ -17,6 +16,7 @@ import WindowManager from '../windows/windowManager';
import {Mention} from './Mention'; import {Mention} from './Mention';
import {DownloadNotification} from './Download'; import {DownloadNotification} from './Download';
import {NewVersionNotification, UpgradeNotification} from './Upgrade'; import {NewVersionNotification, UpgradeNotification} from './Upgrade';
import getWindowsDoNotDisturb from './dnd-windows';
export const currentNotifications = new Map(); export const currentNotifications = new Map();
@ -139,13 +139,7 @@ export function displayRestartToUpgrade(version: string, handleUpgrade: () => vo
function getDoNotDisturb() { function getDoNotDisturb() {
if (process.platform === 'win32') { if (process.platform === 'win32') {
const focusAssistValue = getFocusAssist().value; return getWindowsDoNotDisturb();
switch (focusAssistValue) {
case 1:
return !isPriority('Mattermost.Desktop');
default:
return focusAssistValue;
}
} }
if (process.platform === 'darwin') { if (process.platform === 'darwin') {