Let me begin by saying that from my perspective, the problem is that people are writing in here and on my forum, saying “I think that push notifications don’t work right,” and other users are chiming in, saying, “Yeah! Me, too! Notifications must be broken/unreliable.” Sometimes they blame Apple, sometimes they blame Discourse, but they all agree that Discourse push notifications are unreliable.
I’d love to be able to investigate these cases myself, saying “you didn’t get the 12:31pm notification on your phone, and here’s why…” but I don’t believe that’s currently possible.
Yes, a lot of different things can go wrong, including things on the client side, which I can’t investigate in DE.
- Did the Service Worker receive the push event?
- Did the Service Worker call
showNotification
? - Was the
showNotification
permission granted, or didshowNotification
accomplish nothing? - Was the device itself set to Do Not Disturb?
I would love to have some documentation for administrators explaining how to use DE to diagnose a push failure, at least in as far as seeing whether the notification went through.
But I think it would also be incredibly helpful to keep a client-side log that users could send to me, allowing me to cross-reference against the DE log.
For one thing, at least half of the people complaining about this aren’t administrators of their forum. That’s why we need Discourse to implement this:
But, yes, I suspect that setting this to 0 will eliminate 80% of the “it’s not working” complaints.
Overall, user trust in Discourse notifications is quite low. The more researchable this issue is, for administrators (and even for end users), the more trustworthy Discourse notifications will be.