diff --git a/app/javascript/flavours/glitch/actions/notifications.js b/app/javascript/flavours/glitch/actions/notifications.js index a80746b75..81b8045d7 100644 --- a/app/javascript/flavours/glitch/actions/notifications.js +++ b/app/javascript/flavours/glitch/actions/notifications.js @@ -18,6 +18,7 @@ import { importFetchedStatuses, } from './importer'; import { submitMarkers } from './markers'; +import { register as registerPushNotifications } from './push_notifications'; import { saveSettings } from './settings'; @@ -384,6 +385,10 @@ export function requestBrowserPermission(callback = noOp) { requestNotificationPermission((permission) => { dispatch(setBrowserPermission(permission)); callback(permission); + + if (permission === 'granted') { + dispatch(registerPushNotifications()); + } }); }; } diff --git a/app/javascript/flavours/glitch/main.jsx b/app/javascript/flavours/glitch/main.jsx index b1a3c249b..2aef67fa3 100644 --- a/app/javascript/flavours/glitch/main.jsx +++ b/app/javascript/flavours/glitch/main.jsx @@ -33,7 +33,7 @@ function main() { console.error(err); } - if (registration) { + if (registration && 'Notification' in window && Notification.permission === 'granted') { const registerPushNotifications = await import('flavours/glitch/actions/push_notifications'); store.dispatch(registerPushNotifications.register());