From e3665c1d675ad35be58328c1f3b0dc965938b8f1 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
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 97551ebf7e4..a03f88af133 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  = $('<p>').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  = $('<p>').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 a8a9e365ea9..3528ef81ca7 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();
     }
   },