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
Web Browser | Platform | Web Push Notification Support | Background Notification Support (When Browser Closed) |
---|---|---|---|
Google Chrome | macOS | ✅ Yes | ❌ No (unless running in the background) |
Windows | ✅ Yes | ❌ No (unless running in the background) | |
iOS | ❌ No | ❌ No | |
Android | ✅ Yes | ✅ Yes | |
Safari | macOS | ✅ Yes | ✅ Yes |
iOS | ✅ Yes | ✅ Yes (site must be added to Home Screen first) | |
Microsoft Edge | macOS | ✅ Yes | ❌ No (unless running in the background) |
Windows | ✅ Yes | ❌ No (unless running in the background) | |
iOS | ❌ No | ❌ No | |
Android | ✅ Yes | ✅ Yes | |
Mozilla Firefox | macOS | ✅ Yes | ❌ No |
Windows | ✅ Yes | ❌ No | |
iOS | ❌ No | ❌ No | |
Android | ✅ Yes | ❌ No | |
Opera | macOS | ✅ Yes | ❌ No |
Windows | ✅ Yes | ❌ No | |
iOS | ❌ No | ❌ No | |
Android | ✅ Yes | ❌ No |
(unless running in the background) means the browsers have background processes running (they’re not fully quit).
More info here https://caniuse.com/push-api
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 options
for 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://localhost
address 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