FAQ
Does this work without HTTPS?
No. Browsers refuse to register service workers on insecure origins. The only exception is localhost for development.
Where does push data go?
Nowhere external. Subscriptions live in wp_opwa_subscribers on your database; payloads are signed and encrypted by your PHP and sent directly to the browser's push endpoint (FCM, Mozilla, Apple). Anthropic, Google's FCM, and Apple's APNS only see encrypted payloads.
Does the icon generator need ImageMagick?
The icon generator uses PHP GD. ImageMagick is not required.
Does oPWA conflict with another PWA plugin?
It registers /manifest.webmanifest and /sw.js via WordPress rewrites. If another plugin or theme also serves a manifest or SW at those paths, only one will win. Disable the duplicate.
How do I trigger an update for all clients?
Run wp opwa clear-cache. The command bumps the cache version baked into /sw.js, which invalidates the SW on every client at next page load.
Can I make the install prompt only show once?
Use "After page views" with a high N, or set the dismiss-persistence days to a long value. The trigger uses localStorage on the browser side.

