Promise via PushManager.subscribe() wird nicht resolved/rejected

Fragen, Support und Anregungen zu SRWare Iron

Post Reply
chrizz
Posts: 1
Joined: Sun Feb 16, 2020 5:39 pm

Promise via PushManager.subscribe() wird nicht resolved/rejected

Post by chrizz »

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:

Code: Select all

self.registration.pushManager.subscribe(options)
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
Post Reply