Promise via PushManager.subscribe() wird nicht resolved/rejected
Posted: Sun Feb 16, 2020 8:35 pm
Ein sehr sehr vertracktes Problem wie mir scheint und ich bin nicht mal sicher, ob es an Iron liegt, oder ob es andere Ursachen hat. Bevor ich jetzt versuche dort weiter zu bohren folgende Ausgangslage - und vielleicht bin ich damit ja nicht allein 
Ich habe lokal React (via create-react-app) am laufen. Diese Anwendung holt sich die Benutzererlaubnis für Push Benachrichtigungen ein und registriert einen Service Worker, der Push Messages behandeln soll. Soweit so gut, allerdings klappt es mit Iron (v79) auf gedeih und verderbt nicht, dass der User sich für die Push Benachrichtigungen registriert.
Die Zeile im Service Worker sieht so aus:
self. ist dabei der ServiceWorkerGlobalScope, der die registration des Service Worker beinhaltet.
Laut Dokumentation muss "subscribe()" ein Promise zurückliefern. Das tut es auch, allerdings wird dieses Promise niemals resolved oder rejected. Es verreckt im "pending" State.
Was ich bisher (erfolglos) versucht habe:
* Cache geleert
* neues Benutzerprofil eingerichtet
* Benachrichtungen und Service Worker etliche Male zurückgesetzt
Was ich dazu gefunden habe ist das hier (relativ alt - beschreibt aber das Problem:
https://stackoverflow.com/questions/357 ... nor-reject
https://bugs.chromium.org/p/chromium/is ... ?id=623062
Interessanterweise:
* wenn ich die Subscription ungültig mache (z.B. durch fehlende Parameter im options Object) erhalte ich direkt eine Fehlermeldung
* wenn ich Google's Chrome nutze funktioniert es problemlos
Insgesamt habe ich mich code-technisch hieran orientiert: https://github.com/web-push-libs/web-push-php#usage
Kennt dieses Problem jemand? Ist das möglicherweise gewollte Funktionalität? Oder ein Bug?
Ich freue mich über Feedback und kann bei Bedarf gern versuchen ein Testszenario zu bauen, damit ihr schauen könnt, ob es auch bei euch hakt
Danke schomal

Ich habe lokal React (via create-react-app) am laufen. Diese Anwendung holt sich die Benutzererlaubnis für Push Benachrichtigungen ein und registriert einen Service Worker, der Push Messages behandeln soll. Soweit so gut, allerdings klappt es mit Iron (v79) auf gedeih und verderbt nicht, dass der User sich für die Push Benachrichtigungen registriert.
Die Zeile im Service Worker sieht so aus:
Code: Select all
self.registration.pushManager.subscribe(options)
Laut Dokumentation muss "subscribe()" ein Promise zurückliefern. Das tut es auch, allerdings wird dieses Promise niemals resolved oder rejected. Es verreckt im "pending" State.
Was ich bisher (erfolglos) versucht habe:
* Cache geleert
* neues Benutzerprofil eingerichtet
* Benachrichtungen und Service Worker etliche Male zurückgesetzt
Was ich dazu gefunden habe ist das hier (relativ alt - beschreibt aber das Problem:
https://stackoverflow.com/questions/357 ... nor-reject
https://bugs.chromium.org/p/chromium/is ... ?id=623062
Interessanterweise:
* wenn ich die Subscription ungültig mache (z.B. durch fehlende Parameter im options Object) erhalte ich direkt eine Fehlermeldung
* wenn ich Google's Chrome nutze funktioniert es problemlos
Insgesamt habe ich mich code-technisch hieran orientiert: https://github.com/web-push-libs/web-push-php#usage
Kennt dieses Problem jemand? Ist das möglicherweise gewollte Funktionalität? Oder ein Bug?
Ich freue mich über Feedback und kann bei Bedarf gern versuchen ein Testszenario zu bauen, damit ihr schauen könnt, ob es auch bei euch hakt

Danke schomal