Web Push Notifications - akeeba/panopticon GitHub Wiki
Akeeba Panopticon can send browser push notifications alongside email for most notification types. These appear as native OS notifications even when your browser is in the background, giving you near-instant awareness of events like CMS updates, backup results, SSL certificate expiry, and more.
Web Push notifications are a complementary channel to email. They are automatically sent to subscribed users whenever an email notification is enqueued, with the exception of certain email-only templates (password resets, registration emails, and summary reports).
Requirements
Web Push notifications require:
- A browser that supports the Push API (all modern desktop and mobile browsers).
- Your Panopticon installation must be served over HTTPS. Service workers, which are required for push notifications, only work on secure origins.
- The
sendwebpushscheduled task must be enabled (it is installed automatically).
How it works
When a notification event occurs (e.g. a Joomla update is found, a backup completes, an SSL certificate is about to expire), Panopticon enqueues both an email and a Web Push notification for each eligible recipient. The sendwebpush task, which runs once per minute, processes the queue and delivers the notifications to each user's subscribed browsers.
Subscriptions are per-user, per-device. A user can subscribe from multiple browsers or devices, and each will receive notifications independently.
If a push delivery fails, it is retried up to 3 times before being discarded. If the browser reports that the subscription is no longer valid (e.g. the user unsubscribed from the browser side, or cleared browser data), the subscription is automatically removed from the database.
Subscribing to push notifications
There are two ways to subscribe:
Via the prompt banner
After logging in, you may see a prompt banner at the top of the main dashboard and site overview pages asking if you'd like to enable push notifications. The banner offers three choices:
- Enable subscribes you immediately. Your browser will ask for permission to show notifications.
- Remind me later hides the banner until your next login.
- I am not interested permanently hides the banner for your account.
Via your user profile
Go to your user profile (click your username in the top-right, then Edit Profile). Scroll down to the Push Notifications card. Click the Enable Push Notifications button.
To unsubscribe, click the Disable Push Notifications button in the same card. This removes the subscription for the current browser only. If you subscribed from multiple browsers, you need to unsubscribe from each one individually.
Which notifications are sent via Web Push?
Most email notification types also generate a Web Push notification. The exceptions are:
- Password reset emails — these contain security-sensitive links that should only be delivered via email.
- User registration emails — registration activation, admin approval, and related emails are email-only.
- Scheduled Update Summary and Scheduled Action Summary — these are periodic digest reports better suited for email.
All other notification types are sent via Web Push, including:
- Joomla core update notifications (found, will install, installed, failed)
- Extension update notifications (found, installed, failed, all updated)
- Backup notifications (success, failure, cancelled)
- PHP end-of-life warnings
- SSL/TLS certificate expiry warnings
- Domain name expiry warnings
- Uptime monitoring alerts (site down, site up)
- Overdue Akeeba Backup profile warnings
Notification behaviour
When a push notification arrives, it appears as a native operating system notification. Clicking the notification opens Panopticon in your browser:
- For site-specific notifications, you are taken to the site's overview page.
- For system-wide notifications, you are taken to the Panopticon dashboard.
VAPID keys
Web Push uses the VAPID (Voluntary Application Server Identification) protocol to identify your Panopticon installation to the browser's push service. VAPID key pairs are generated automatically on first use and stored in the database. You do not need to configure them manually.
The sendwebpush task
The sendwebpush scheduled task is installed automatically with a CRON expression of * * * * * (once per minute). You can view and manage it from the Tasks page. The task processes the Web Push notification queue, delivering pending notifications and handling retries.
If you need to temporarily pause Web Push delivery, you can disable this task from the Tasks page without affecting email notifications.
PII and data export
Push notification subscriptions (endpoint URLs, browser identifiers) are included in the PII data export available from the user profile's data export feature. Subscriptions are automatically deleted when a user account is deleted.