diff --git a/client/js/options.js b/client/js/options.js index 4faca65e..0c62bee1 100644 --- a/client/js/options.js +++ b/client/js/options.js @@ -132,11 +132,21 @@ module.exports.initialize = () => { .trigger("change"); $("#desktopNotifications").on("change", function() { - if ($(this).prop("checked") && Notification.permission !== "granted") { - Notification.requestPermission(updateDesktopNotificationStatus); + if ($(this).prop("checked")) { + requestPermissionIfNeeded(); } }); + var requestPermissionIfNeeded = function() { + if (Notification.permission !== "granted") { + Notification.requestPermission(updateDesktopNotificationStatus); + } + }; + + if (options.desktopNotifications) { + requestPermissionIfNeeded(); + } + // Updates the checkbox and warning in settings when the Settings page is // opened or when the checkbox state is changed. // When notifications are not supported, this is never called (because