PWA Web Push not arriving on iOS 18.0 - solved

Update: turns out the testphone with iOS 18 was set to 'Do not disturb'. Case closed.

Hi all, I created a progressive web app. I is hosted on an actual live domain, served over https. When installed on an iPhone homescreen on iOS 17.7.2, sending web push notifications works fine: the response from the push service endpoint has a status code of 201, indicating all is good. In the service worker of the PWA, an eventlistener for the 'push' event is trigggered and displays an OS notification.

On iOS18.0 however, even though the response from the push service endpoint has a status code of 201, there is no notification showing. Even though permission has been granted, and registration.pushManager.subscribe() is successful.

When working locally, I've setup my server to run on localhost in https mode as well by following this excellent Technical Note to setup my own Certificate Authority, have it be trusted by my iOS test devices and have the CA issue a certificate so TLS can be set up. On this locally running https server, web push notifications do arrive for iOS 17.7.2, but also not for iOS18.0.

I'm not sure how to start debugging this, as I can't seem to get the webinspector to show for the service worker most times, and when I can, there is no console.log() output visible.

This still stands:

So really, I'm looking for a (reliable) way to be able to debug this issues in safari, or find some documentation on what changed for Safari on iOS 18 that requires changes.

Any help or thoughts on this matter?

I don't know if it is connected, but iOS 18 seems to generally have trouble with notifications. Setting it to use the display as a count seems to help. Restarting the phone or turning notifications off and on for an app sometimes helps.

PWA Web Push not arriving on iOS 18.0 - solved
 
 
Q