From e3665c1d675ad35be58328c1f3b0dc965938b8f1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 21 Nov 2016 10:59:59 +0100 Subject: [PATCH] Try to fix for browsers that don't support notifications --- .../javascripts/components/actions/notifications.jsx | 8 +++++--- app/assets/javascripts/components/containers/mastodon.jsx | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/components/actions/notifications.jsx b/app/assets/javascripts/components/actions/notifications.jsx index 97551ebf7..a03f88af1 100644 --- a/app/assets/javascripts/components/actions/notifications.jsx +++ b/app/assets/javascripts/components/actions/notifications.jsx @@ -34,10 +34,12 @@ export function updateNotifications(notification, intlMessages, intlLocale) { fetchRelatedRelationships(dispatch, [notification]); // Desktop notifications - const title = new IntlMessageFormat(intlMessages[`notification.${notification.type}`], intlLocale).format({ name: notification.account.display_name.length > 0 ? notification.account.display_name : notification.account.username }); - const body = $('

').html(notification.status ? notification.status.content : '').text(); + if (typeof window.Notification !== 'undefined') { + const title = new IntlMessageFormat(intlMessages[`notification.${notification.type}`], intlLocale).format({ name: notification.account.display_name.length > 0 ? notification.account.display_name : notification.account.username }); + const body = $('

').html(notification.status ? notification.status.content : '').text(); - new Notification(title, { body, icon: notification.account.avatar }); + new Notification(title, { body, icon: notification.account.avatar }); + } }; }; diff --git a/app/assets/javascripts/components/containers/mastodon.jsx b/app/assets/javascripts/components/containers/mastodon.jsx index a8a9e365e..3528ef81c 100644 --- a/app/assets/javascripts/components/containers/mastodon.jsx +++ b/app/assets/javascripts/components/containers/mastodon.jsx @@ -88,7 +88,7 @@ const Mastodon = React.createClass({ } // Desktop notifications - if (Notification.permission === 'default') { + if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') { Notification.requestPermission(); } },