Guides
Web Push interoperability
Use subscriptions from the browser Push API with the Web Push transport.
The one rule
Pass the Push API subscription endpoint and both keys exactly as the browser returned them.
The transport accepts the standard endpoint, keys.p256dh, and keys.auth shape and encrypts payloads using Web Push standards.
Generate server keys with generateVapidKeys() from sently/transports/webpush and use the same public key in pushManager.subscribe({ applicationServerKey }).
Troubleshooting
Provide exact hostnames with allowedEndpointHosts.
Pass data without title / body, or set silent: true with data. The service worker must handle push without calling showNotification.