diff --git a/src/app/features/settings/notifications/Notifications.tsx b/src/app/features/settings/notifications/Notifications.tsx index b7af4854..88e16d29 100644 --- a/src/app/features/settings/notifications/Notifications.tsx +++ b/src/app/features/settings/notifications/Notifications.tsx @@ -38,9 +38,9 @@ function SystemNotification() { description={ notifPermission === 'denied' ? ( - {!Notification - ? 'Notifications are not supported by the system.' - : 'Notification permission is blocked. Please allow notification permission from browser address bar.'} + {'Notification' in window + ? 'Notification permission is blocked. Please allow notification permission from browser address bar.' + : 'Notifications are not supported by the system.'} ) : ( Show desktop notifications when message arrive. diff --git a/src/app/hooks/usePermission.ts b/src/app/hooks/usePermission.ts index 88c8a667..71a601be 100644 --- a/src/app/hooks/usePermission.ts +++ b/src/app/hooks/usePermission.ts @@ -1,15 +1,15 @@ import { useEffect, useState } from 'react'; export const getNotificationState = (): PermissionState => { - try { + if ('Notification' in window) { if (window.Notification.permission === 'default') { return 'prompt'; } return window.Notification.permission; - } catch { - return 'denied'; } + + return 'denied'; }; export function usePermissionState(name: PermissionName, initialValue: PermissionState = 'prompt') { diff --git a/src/app/utils/dom.ts b/src/app/utils/dom.ts index 362381be..f4c3f719 100644 --- a/src/app/utils/dom.ts +++ b/src/app/utils/dom.ts @@ -219,9 +219,8 @@ export const syntaxErrorPosition = (error: SyntaxError): number | undefined => { }; export const notificationPermission = (permission: NotificationPermission) => { - try { + if ('Notification' in window) { return window.Notification.permission === permission; - } catch { - return false; } + return false; };