Fix issue with windows-focus-assist returning truthy value on older windows versions (#2385)
This commit is contained in:
parent
142962df52
commit
7ac3d5edf8
33
src/main/notifications/dnd-windows.ts
Normal file
33
src/main/notifications/dnd-windows.ts
Normal 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;
|
|
@ -4,7 +4,6 @@
|
|||
import {shell, Notification} from 'electron';
|
||||
import log from 'electron-log';
|
||||
|
||||
import {getFocusAssist, isPriority} from 'windows-focus-assist';
|
||||
import {getDoNotDisturb as getDarwinDoNotDisturb} from 'macos-notification-state';
|
||||
|
||||
import {MentionData} from 'types/notification';
|
||||
|
@ -17,6 +16,7 @@ import WindowManager from '../windows/windowManager';
|
|||
import {Mention} from './Mention';
|
||||
import {DownloadNotification} from './Download';
|
||||
import {NewVersionNotification, UpgradeNotification} from './Upgrade';
|
||||
import getWindowsDoNotDisturb from './dnd-windows';
|
||||
|
||||
export const currentNotifications = new Map();
|
||||
|
||||
|
@ -139,13 +139,7 @@ export function displayRestartToUpgrade(version: string, handleUpgrade: () => vo
|
|||
|
||||
function getDoNotDisturb() {
|
||||
if (process.platform === 'win32') {
|
||||
const focusAssistValue = getFocusAssist().value;
|
||||
switch (focusAssistValue) {
|
||||
case 1:
|
||||
return !isPriority('Mattermost.Desktop');
|
||||
default:
|
||||
return focusAssistValue;
|
||||
}
|
||||
return getWindowsDoNotDisturb();
|
||||
}
|
||||
|
||||
if (process.platform === 'darwin') {
|
||||
|
|
Loading…
Reference in a new issue