This is the repository for the development of the phpBB Browser Push Notifications extension.
An official phpBB extension that allows board users to receive browser-based push notifications.
Important: Only official release versions validated by the phpBB Extensions Team should be installed on a live forum. Pre-release (beta, RC) versions downloaded from this repository are only to be used for testing on offline/development forums and are not officially supported.
Please fork this repository and submit a pull request to contribute to this extension.
To run this extension from the repo (and not from a pre-built package) on a local server, perform the following tasks:
- Fork phpbb-extensions/webpushnotifications to your GitHub account, then create a local clone of it:
git clone https://github.com/your_github_name/webpushnotifications.git
- Install this extension's dependencies (from the root of your webpushnotifications repo):
cd webpushnotifications # navigate into the root of your webpushnotifications repo php composer.phar install # installs extension's 3rd-party dependencies
- Install the extension to your local phpBB forum by moving your local repo to the proper phpBB directory:
cd ../ # back out one directory level mv webpushnotifications path_to_phpBB/ext/phpbb # move webpushnotifications to your phpBB/ext/phpbb directory cd path_to_phpBB # navigate to your phpBB forum's root directory php bin/phpbbcli.php extension:enable phpbb/webpushnotifications # install the extension
The table covers current stable browsers using the standards-based Push API, Notifications API, and Service Workers. “Background delivery” means delivery when the site is not open. A fully quit desktop browser is called out separately. Last reviewed September 2026.
| Web browser | Platform | Web Push support | Background delivery |
|---|---|---|---|
| Google Chrome | Windows, macOS, Linux | ✅ Yes | |
| ChromeOS | ✅ Yes | ✅ Yes, while the device is running | |
| Android | ✅ Yes | ✅ Yes, unless the app is force-stopped or background activity is restricted | |
| Safari | macOS Ventura or later (Safari 16.1+) | ✅ Yes | ✅ Yes, even when Safari is not running |
| Microsoft Edge | Windows, macOS, Linux | ✅ Yes | ✅ Yes, subject to browser and OS background settings |
| Android | ✅ Yes | ✅ Yes, unless the app is force-stopped or background activity is restricted | |
| Mozilla Firefox | Windows, macOS, Linux | ✅ Yes | ❌ No after Firefox is fully quit |
| Android | ✅ Yes | ✅ Yes, unless the app is force-stopped or background activity is restricted | |
| Opera | Windows, macOS, Linux | ✅ Yes | |
| Android | ✅ Yes | ✅ Yes, unless the app is force-stopped or background activity is restricted | |
| Samsung Internet | Android | ✅ Yes | ✅ Yes, unless the app is force-stopped or background activity is restricted |
| Home Screen web app | iOS/iPadOS 16.4+ | ✅ Yes, after installation to the Home Screen | ✅ Yes |
| Opera Mini | Mobile | ❌ No | ❌ No |
On iOS and iPadOS, Web Push is not available to a normal browser tab. It belongs to an installed Home Screen web app and works regardless of which browser added that app to the Home Screen. The extension provides the required standalone web app manifest. Notification permission must be requested from a direct user interaction.
All supported platforms require user permission and a secure context (https://, with http://localhost allowed for development). Private browsing, enterprise policy, notification settings, Focus/Do Not Disturb modes, power-saving features, and OS background restrictions can prevent delivery.
References: Push API compatibility, Push API, Web Push on iOS and iPadOS, Web Push on macOS, Edge website notifications, and Firefox Web Push notifications.
Testing push notifications necessitates user-to-user interactions to observe the notification behavior accurately. Follow the steps outlined below to effectively test push notifications (the browser recommendations are what we have seen work in local environments):
-
User Account Setup:
- Create at least two distinct board user accounts for testing purposes.
- Using Google Chrome, visit
UCP -> Board Preferences -> Edit notification optionsfor User Account 1 and enable Push Notifications (and enable all web push notification types if necessary). Your browser may ask you to allow notifications, which you should accept. Leave Chrome open and running the background.
-
Message, Quote, or Reply Interaction:
- Initiate a user-to-user interaction by performing one of the following actions using User Account 2 in separate browser such as Firefox, Edge or Safari:
- Private Message: Send a direct message from User Account 2 to User Account 1.
- Quote: Quote a post or message authored by User Account 1 using User Account 2.
- Reply: Respond to a post or message authored by User Account 1 using User Account 2.
- Initiate a user-to-user interaction by performing one of the following actions using User Account 2 in separate browser such as Firefox, Edge or Safari:
-
Observing Push Notifications:
- Once the interaction is performed from User Account 2 to engage with User Account 1, you promptly should see a notification from Google Chrome for User Account 1.
-
Caveats for Local Testing
- Local testing of Push Notifications only works from a
http://localhostaddress or if your local test server has a secure SSL certificate, e.g.:https://local.phpbb.board. - Depending on your local server's setup, operating system, and browsers, it is still possible that testing push notifications may not work (for example, in a local environment running on macOS, only Chrome will show notifications).
- Local testing of Push Notifications only works from a