diff --git a/README.MD b/README.MD index 33dfc36b0..8406c43fd 100644 --- a/README.MD +++ b/README.MD @@ -12,3 +12,7 @@ npx hasura console --admin-secret Dev-BodyShopAppBySnaptSoftware! Migrating to Staging: npx hasura migrate apply --up 10 --endpoint https://bodyshop-staging-db.herokuapp.com/ --admin-secret Staging-BodyShopAppBySnaptSoftware! + +NGROK TEsting: + +./ngrok.exe http https://localhost:5000 -host-header="localhost:5000" \ No newline at end of file diff --git a/client/src/components/fcm-notification/fcm-notification.component.jsx b/client/src/components/fcm-notification/fcm-notification.component.jsx index 9234b7427..d33254f05 100644 --- a/client/src/components/fcm-notification/fcm-notification.component.jsx +++ b/client/src/components/fcm-notification/fcm-notification.component.jsx @@ -1,10 +1,9 @@ -import { notification } from "antd"; import React, { Component } from "react"; -import { messaging } from "../../firebase/firebase.utils"; import { withApollo } from "react-apollo"; -import { UPDATE_FCM_TOKEN } from "../../graphql/user.queries"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import { messaging } from "../../firebase/firebase.utils"; +import { UPDATE_FCM_TOKEN } from "../../graphql/user.queries"; import { selectCurrentUser } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, @@ -16,6 +15,8 @@ const mapDispatchToProps = (dispatch) => ({ class FcmNotificationComponent extends Component { async componentDidMount() { const { client, currentUser } = this.props; + if (!!!messaging) return; //Skip all of the notification functionality if the firebase SDK could not start. + messaging .requestPermission() .then(async function () { @@ -31,7 +32,6 @@ class FcmNotificationComponent extends Component { }); navigator.serviceWorker.addEventListener("message", (message) => { const { payload } = message.data.firebaseMessaging; - // notification["info"]({ message: JSON.stringify(payload) }); navigator.serviceWorker.getRegistration().then((registration) => registration.showNotification(payload.notification.title, { @@ -50,7 +50,7 @@ class FcmNotificationComponent extends Component { } render() { - return
; + return ; } } diff --git a/client/src/firebase/firebase.utils.js b/client/src/firebase/firebase.utils.js index 14d85032a..140205d8f 100644 --- a/client/src/firebase/firebase.utils.js +++ b/client/src/firebase/firebase.utils.js @@ -34,9 +34,16 @@ export const updateCurrentUser = (userDetails) => { }); }; -const messaging = firebase.messaging(); -messaging.usePublicVapidKey( - // Project Settings => Cloud Messaging => Web Push certificates - "BBlvtEL73vYinkiAgK5t51jgDTYj6961OO_5niP4Q5py_l5yhTL8IGYkpONyMGoXs8ZTdVhEWsu3_IEXcW0cIIg" -); +let messaging; +try { + messaging = firebase.messaging(); + messaging.usePublicVapidKey( + // Project Settings => Cloud Messaging => Web Push certificates + "BBlvtEL73vYinkiAgK5t51jgDTYj6961OO_5niP4Q5py_l5yhTL8IGYkpONyMGoXs8ZTdVhEWsu3_IEXcW0cIIg" + ); + console.log("Firebase Messaging initialized successfully."); +} catch { + console.log("Firebase Messaging is likely unsupported."); +} + export { messaging }; diff --git a/client/src/serviceWorker.js b/client/src/serviceWorker.js index cd23647ff..e247dde35 100644 --- a/client/src/serviceWorker.js +++ b/client/src/serviceWorker.js @@ -57,7 +57,6 @@ export function register(config) { navigator.serviceWorker .register("./firebase-messaging-sw.js") .then(function (registration) { - console.log("FCM Registration :", registration); console.log( "FCM Registration successful, scope is:", registration.scope