Repository navigation
Push notifications not working #22
Description
Activity
HTTPS enabled?
HTTPS enabled?
Yes
The
invalid csrf tokenerror is an odd one. Are you using a production site with an url that is notlocalhost, for example? I know some browsers don't allow push notification subscriptions from invalid domains.What is the
urlvalue in yourconfig.json?We are not using
localhostfor testing push notifications, but we're also not using a production site (we are still in the development process, so there is no production site yet). I can't share the full URL of the site we're using, but it ends in.devif that's relevent.For what it's worth, localhost does work. It's what I developed the plugin against.
Can you please test it on community.nodebb.org? See if it works there? That'll rule out your PC as a factor.
I also know some hardened android versions will not allow browser based push notifs
The test notification on community.nodebb.org failed with a similar error:
Failed to load resource: the server responded with a status of 504 () test:1
I'm guessing it's the same error but a different error message because your Cloudflare settings are different from ours.Localhost gives me a different error message:
ServiceWorker registration failed: SecurityError: Failed to register a ServiceWorker for scope ('https://localhost:4567/') with script ('https://localhost:4567/service-worker.js'): An SSL certificate error occurred when fetching the script.My work laptop is a Mac. I just tested on my personal (Windows) laptop and my Android, and on those machines notifications are working properly for community.nodebb.org and for our dev site. On iPhone, both Safari and Chrome are having the same issue I had with Safari on Mac.
Thanks, so this could be an issue with Apple devices, which is disappointing because Apple support for cloud messaging is literally the reason I made this plugin.
More likely than not there's something that this plugin is doing wrong that causes registration failures for Apple devices. The downside is I do not own an apple device.
I can't get push notifications to work.
In Safari, nothing related to push notifications is working. If I toggle the "Enable push notifications on this device" switch, the "Currently notifying x device(s)" count doesn't increment, and when I refresh the page, the toggle is off again. If I click "Send Test Notification", regardless of whether "Enable push notifications on this device" is on or off, nothing happens (no "Cannot send test notification as push notifications are not enabled on this device" warning and no
/api/v3/plugins/web-push/testrequest in the network tab of the dev tools). There's also no "ServiceWorker registration succeeded" message in the console, but there aren't any error messages either.In Chrome, the service worker registers successfully, and I can enable push notifications, but I can't send/receive them. If I click on "Send Test Notification", I get an error message in the console:
Failed to load resource: net::ERR_CONNECTION_CLOSED /api/v3/plugins/web-push/test:1. If I send myself a chat message from another account, I get an in-app notification, but no push notification and no error message.I'm also seeing this error on the server:
However, that error only appears once, and I've attempted to send several notifications, so I'm guessing it's not the root of the issue.