From 520b57047403f8819206c938bdc2c93a16ec5f16 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 12 Sep 2023 18:27:01 +0200 Subject: [PATCH] Fix notification permissions being requested immediately after login (#26472) --- app/javascript/mastodon/actions/notifications.js | 5 +++++ app/javascript/mastodon/main.jsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/actions/notifications.js b/app/javascript/mastodon/actions/notifications.js index 6e8ddb227..02fe10ba5 100644 --- a/app/javascript/mastodon/actions/notifications.js +++ b/app/javascript/mastodon/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'; export const NOTIFICATIONS_UPDATE = 'NOTIFICATIONS_UPDATE'; @@ -293,6 +294,10 @@ export function requestBrowserPermission(callback = noOp) { requestNotificationPermission((permission) => { dispatch(setBrowserPermission(permission)); callback(permission); + + if (permission === 'granted') { + dispatch(registerPushNotifications()); + } }); }; } diff --git a/app/javascript/mastodon/main.jsx b/app/javascript/mastodon/main.jsx index f82603631..cd73cb572 100644 --- a/app/javascript/mastodon/main.jsx +++ b/app/javascript/mastodon/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('mastodon/actions/push_notifications'); store.dispatch(registerPushNotifications.register());