From 8feb3effb929e97e11a66e8e95f5d220104d77a5 Mon Sep 17 00:00:00 2001 From: hiepxanh Date: Sat, 13 Jun 2020 15:23:07 +0700 Subject: [PATCH 1/2] [messaging] using navigator serviceWorker Update new message source from serviceWorker instead of messaging observable --- src/messaging/messaging.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/messaging/messaging.ts b/src/messaging/messaging.ts index 30c070a75..65519475c 100644 --- a/src/messaging/messaging.ts +++ b/src/messaging/messaging.ts @@ -80,10 +80,11 @@ export class AngularFireMessaging { tokenChanges ); - this.messages = messaging.pipe( - observeOn(schedulers.outsideAngular), - switchMap(messaging => new Observable(messaging.onMessage.bind(messaging))) - ); + this.messages = new Observable(subscriber => { + if (navigator && navigator.serviceWorker) { + navigator.serviceWorker.addEventListener('message', this.onReceiveMsg.bind(this)); + } + }); this.requestToken = of(undefined).pipe( switchMap(() => this.requestPermission), From 1d18098d7a02e939f765b7fbdfe57a2312d7e1d3 Mon Sep 17 00:00:00 2001 From: hiepxanh Date: Sat, 13 Jun 2020 21:03:05 +0700 Subject: [PATCH 2/2] [fix] navigator using observer --- src/messaging/messaging.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/messaging/messaging.ts b/src/messaging/messaging.ts index 65519475c..4f1cd8709 100644 --- a/src/messaging/messaging.ts +++ b/src/messaging/messaging.ts @@ -80,9 +80,9 @@ export class AngularFireMessaging { tokenChanges ); - this.messages = new Observable(subscriber => { + this.messages = new Observable(observer => { if (navigator && navigator.serviceWorker) { - navigator.serviceWorker.addEventListener('message', this.onReceiveMsg.bind(this)); + navigator.serviceWorker.addEventListener('message', observer.next); } });