Nicht alle Push-Abonnements bei der Abmeldung entfernen

Außerdem scheint es so zu sein, dass beim Abmelden eines Nutzers alle Push-Abonnements gelöscht werden. Wenn sich ein Nutzer also auf mehreren Geräten (Smartphone, Browser, Tablet) angemeldet ist und sich von einem Gerät/einer Sitzung abmeldet, verhindert dies, dass andere Geräte Benachrichtigungen erhalten, da deren Push-Abonnements gelöscht wurden.

Ich erwähne dies, da dies im Zusammenhang mit der Frage steht, welches Abonnement während der Verlängerung ersetzt werden muss und welches Abonnement beim Abmelden gelöscht werden sollte.

6 „Gefällt mir“

Na, ich wurde heute gerade von Meta abgemeldet, und nachdem ich mich wieder eingeloggt habe, bekam ich eine Push-Benachrichtigung für deinen Beitrag… Es sei denn, das passiert nur auf dem Pfad für vom Benutzer initiierte Logins :thinking:

6 „Gefällt mir“

Wenn ein Benutzer zurück zum Forum kommt (oder sich anmeldet), werden die Push-Abonnements des Browsers erneut gesendet und neu erstellt. Wenn Sie sich jedoch abgemeldet haben, werden sie gelöscht, und es werden keine Push-Benachrichtigungen zugestellt, bis dieser Benutzer das Forum von diesem Gerät aus erneut besucht.

Dies steht nicht im Widerspruch zu Ihrer Aussage, da Sie anscheinend sagen, dass Sie die Push-Benachrichtigung nach der Anmeldung erhalten haben.

Code-Referenz:

6 „Gefällt mir“

Ah, das ist also genau das, was ich vermutet habe.

Tolle Entdeckung! Das müssen wir auf jeden Fall beheben!

Das Problem ist, dass wir derzeit nicht speichern, für welches Gerät eine bestimmte Subscription existiert…

8 „Gefällt mir“

Die Push-API verfügt über eine unsubscribe-Funktion, um das Push-Abonnement ungültig zu machen:

Beim Abmelden würden wir diese (clientseitig) aufrufen, wodurch das Abonnement auf dem Server als ungültig markiert wird, ohne andere Abonnements zu beeinträchtigen.

Tatsächlich verfügt der Client bereits über eine unsubscribePushNotification-Funktion, die dies in den Einstellungen für „Live-Benachrichtigungen

2 „Gefällt mir“

Die Lösung kann also in zwei Schritten bestehen:

  1. Den serverseitigen Bereinigungscode löschen
  2. Neuen Code hinzufügen, um auf der Client-Seite abzumelden.
5 „Gefällt mir“

Erledigt in

https://meta.discourse.org/t/ios-android-push-notifications-on-self-hosted-discourse-docker/394149/18?u=falco

1 „Gefällt mir“

Dieses Thema wurde automatisch nach 4 Tagen geschlossen. Neue Antworten sind nicht mehr erlaubt.