From 83f491e74281df6792cab4e1fa8f5aaabef2b157 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 28 May 2026 15:26:29 -0700 Subject: [PATCH 1/3] Polish some language copy --- language/en/webpushnotifications_module_acp.php | 4 ++-- language/ru/webpushnotifications_module_acp.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/language/en/webpushnotifications_module_acp.php b/language/en/webpushnotifications_module_acp.php index 0c2af23..3550005 100644 --- a/language/en/webpushnotifications_module_acp.php +++ b/language/en/webpushnotifications_module_acp.php @@ -39,7 +39,7 @@ $lang = array_merge($lang, [ // Web push settings - 'ACP_WEBPUSH_SETTINGS_EXPLAIN' => 'Here you can enable Web Push for board notifications. Web Push is a protocol for the real-time delivery of events to user agents, commonly referred to as push messages. It is compatible with the majority of modern browsers on both desktop and mobile devices. Users can opt to receive Web Push alerts in their browser by subscribing and enabling their preferred notifications in the UCP.

To enable push notifications on Apple mobile devices, your site needs to function as a Progressive Web Application (PWA). This requires users to add your site to their device’s home screen. Configure app metadata and install behaviour under PWA settings.', + 'ACP_WEBPUSH_SETTINGS_EXPLAIN' => 'Here you can enable Web Push for board notifications. Web Push is a protocol for the real-time delivery of events to user agents, commonly referred to as push messages. It is compatible with the majority of modern browsers on both desktop and mobile devices. Users can opt to receive Web Push alerts in their browser by subscribing and enabling their preferred notifications in the UCP.

To support push notifications on Apple mobile devices, your site must function as a Progressive Web App (PWA). Apple requires users to add the site to their device’s home screen before push notifications can be enabled. Configure app appearance under PWA settings.', 'WEBPUSH_ENABLE' => 'Enable Web Push', 'WEBPUSH_ENABLE_EXPLAIN' => 'Allow users to receive notifications in their browser or device via Web Push. To utilise Web Push, you must input or generate valid VAPID identification keys.', 'WEBPUSH_GENERATE_VAPID_KEYS' => 'Generate Identification keys', @@ -56,7 +56,7 @@ 'WEBPUSH_INSECURE_SERVER_ERROR' => 'This board is not using a secure SSL/HTTPS protocol, which is required for enabling web push notifications. Alternatively, the server environment might be misconfigured. Ensure that the HTTPS and HEADER_CLIENT_PROTO server environment variables are correctly configured.', // PWA Settings - 'ACP_PWA_SETTINGS_EXPLAIN' => 'Here you can configure Progressive Web App (PWA) features, including app metadata, icons, theme colours, and install prompts.', + 'ACP_PWA_SETTINGS_EXPLAIN' => 'Progressive Web Apps (PWAs) allow users to install your board on their mobile device and use it like an app. These settings control the app name, icons, colours, and install prompts shown to users.', 'PWA_SHORT_NAME' => 'Short site name', 'PWA_SHORT_NAME_EXPLAIN' => 'Your site name in 12 characters or fewer, which may be used as a label for an icon on a mobile device’s home screen. (If this field is left empty, the first 12 characters of the Site name will be used.)', 'PWA_SHORT_NAME_INVALID' => '“Short site name” exceeds the 12 character limit.', diff --git a/language/ru/webpushnotifications_module_acp.php b/language/ru/webpushnotifications_module_acp.php index e89806f..3d7bd0f 100644 --- a/language/ru/webpushnotifications_module_acp.php +++ b/language/ru/webpushnotifications_module_acp.php @@ -56,7 +56,7 @@ 'WEBPUSH_INSECURE_SERVER_ERROR' => 'На данной конференции не применяется защищённый протокол SSL/HTTPS, без которого использование браузерных push—уведомлений невозможно, либо соответствующие переменные серверного окружения неверно сконфигурированы. Убедитесь, что значения переменных серверного окружения HTTPS и/или HEADER_CLIENT_PROTO заданы верно.', // PWA Settings - 'ACP_PWA_SETTINGS_EXPLAIN' => 'Here you can configure Progressive Web App (PWA) features, including app metadata, icons, theme colours, and install prompts.', + 'ACP_PWA_SETTINGS_EXPLAIN' => 'Progressive Web Apps (PWAs) allow users to install your board on their mobile device and use it like an app. These settings control the app name, icons, colours, and install prompts shown to users.', 'PWA_SHORT_NAME' => 'Short site name', 'PWA_SHORT_NAME_EXPLAIN' => 'Your site name in 12 characters or fewer, which may be used as a label for an icon on a mobile device’s home screen. (If this field is left empty, the first 12 characters of the Site name will be used.)', 'PWA_SHORT_NAME_INVALID' => '“Short site name” exceeds the 12 character limit.', From 95807db958a0ef639b9f7a5f7f5185e31cde8ad6 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Thu, 28 May 2026 15:26:42 -0700 Subject: [PATCH 2/3] Bump to version 1.1.0 --- CHANGELOG.md | 11 +++++++++++ composer.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23d569d..021a210 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +### 1.1.0 - 2026-05-28 + +- Added a new **PWA settings** section to the ACP alongside the existing Web Push settings. + - Moved the PWA short name and app icon settings into this section. + - Added options to configure PWA theme colours for each installed board style. + - Added an option to display a mobile install prompt inviting users to install the board as an app for PWA functionality. +- Added validation to ensure push subscriptions are only accepted from recognised push notification services. +- Improved error handling for failed or rejected subscription requests, avoiding misleading messages and cleaning up failed browser-side subscriptions. +- Automatically removes subscriptions for endpoints that are expired, unauthorized, or permanently unavailable. +- Added common language loading to ensure extension language entries are available where needed. + ### 1.0.4 - 2026-02-20 - Added a new optional pop-up/prompt asking board members to subscribe to push notifications. diff --git a/composer.json b/composer.json index cbf7cf7..4e2b3af 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,7 @@ "type": "phpbb-extension", "description": "An official phpBB extension that allows board users to receive browser-based push notifications.", "homepage": "https://www.phpbb.com/customise/db/extension/webpushnotifications/", - "version": "1.1.0-dev", + "version": "1.1.0", "license": "GPL-2.0-only", "authors": [ { From 1d97e4bafc81f58b92d0af34338b3c97fbc5faba Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Fri, 29 May 2026 07:19:45 -0700 Subject: [PATCH 3/3] Final updates --- CHANGELOG.md | 3 +-- composer.lock | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 021a210..f554e94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,10 @@ - Added a new **PWA settings** section to the ACP alongside the existing Web Push settings. - Moved the PWA short name and app icon settings into this section. - Added options to configure PWA theme colours for each installed board style. - - Added an option to display a mobile install prompt inviting users to install the board as an app for PWA functionality. + - Added an option to display a prompt inviting mobile-device users to install the board as an app for PWA and push notification functionality. - Added validation to ensure push subscriptions are only accepted from recognised push notification services. - Improved error handling for failed or rejected subscription requests, avoiding misleading messages and cleaning up failed browser-side subscriptions. - Automatically removes subscriptions for endpoints that are expired, unauthorized, or permanently unavailable. -- Added common language loading to ensure extension language entries are available where needed. ### 1.0.4 - 2026-02-20 diff --git a/composer.lock b/composer.lock index c7447e6..d3cbe71 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ecb9034c8c529b039adf78c8963ad450", + "content-hash": "bc026c93f95601aa865acfd69042c74e", "packages": [ { "name": "brick/math", @@ -1510,7 +1510,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -1520,6 +1520,6 @@ "ext-mbstring": "*", "ext-openssl": "*" }, - "platform-dev": [], - "plugin-api-version": "2.2.0" + "platform-dev": {}, + "plugin-api-version": "2.9.0" }