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 {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') {
|
||||||
|
|
Loading…
Reference in a new issue