diff --git a/CHANGELOG.md b/CHANGELOG.md
index 621d25f..70ee346 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog
+### 1.0.1 - 2024-09-30
+
+- Added FAQ section to phpBB's FAQ page to answer any questions users may have about web push notifications.
+- Fixed issues with Emoji not appearing correctly in push notifications.
+- Fixed possible issues with the URLs linking to PWA icons for the Web Manifest.
+- Fixed issues causing logged-out users to see console errors in their browsers.
+- Ensure short site name for PWA is valid and compatible with the Web Manifest.
+- Will now check for required PHP modules during installation.
+- Various other under the hood improvements.
+
### 1.0.0 - 2024-07-01
- First official release.
diff --git a/composer.json b/composer.json
index d841d8f..ada7279 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.0.1-dev",
+ "version": "1.0.1",
"license": "GPL-2.0-only",
"authors": [
{
diff --git a/composer.lock b/composer.lock
index b853ca7..b5f21b2 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": "facec8428ec3a081e07751e596ab7e01",
+ "content-hash": "56daba3b86da3d572af3cd8c57509eff",
"packages": [
{
"name": "brick/math",
@@ -295,22 +295,22 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.8.1",
+ "version": "7.9.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
- "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+ "guzzlehttp/psr7": "^2.7.0",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -321,9 +321,9 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -401,7 +401,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
},
"funding": [
{
@@ -417,20 +417,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:35:24+00:00"
+ "time": "2024-07-24T11:22:20+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
"shasum": ""
},
"require": {
@@ -438,7 +438,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"type": "library",
"extra": {
@@ -484,7 +484,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.2"
+ "source": "https://github.com/guzzle/promises/tree/2.0.3"
},
"funding": [
{
@@ -500,20 +500,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:19:20+00:00"
+ "time": "2024-07-18T10:29:17+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.6.2",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -528,8 +528,8 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -600,7 +600,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -616,7 +616,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:05:35+00:00"
+ "time": "2024-07-18T11:15:46+00:00"
},
{
"name": "minishlink/web-push",
@@ -736,20 +736,20 @@
},
{
"name": "psr/http-factory",
- "version": "1.0.2",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
+ "php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
@@ -773,7 +773,7 @@
"homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
@@ -785,9 +785,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+ "source": "https://github.com/php-fig/http-factory"
},
- "time": "2023-04-10T20:10:41+00:00"
+ "time": "2024-04-15T12:06:14+00:00"
},
{
"name": "psr/http-message",
@@ -953,16 +953,16 @@
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "version": "v2.5.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "reference": "80d075412b557d41002320b96a096ca65aa2c98d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d",
+ "reference": "80d075412b557d41002320b96a096ca65aa2c98d",
"shasum": ""
},
"require": {
@@ -1000,7 +1000,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3"
},
"funding": [
{
@@ -1016,7 +1016,7 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2023-01-24T14:02:46+00:00"
},
{
"name": "web-token/jwt-core",
@@ -1092,6 +1092,7 @@
"type": "patreon"
}
],
+ "abandoned": "web-token/jwt-library",
"time": "2021-03-17T14:55:52+00:00"
},
{
@@ -1169,6 +1170,7 @@
"type": "patreon"
}
],
+ "abandoned": "web-token/jwt-library",
"time": "2021-03-17T14:55:52+00:00"
},
{
@@ -1245,6 +1247,7 @@
"type": "patreon"
}
],
+ "abandoned": "web-token/jwt-library",
"time": "2021-03-01T19:55:28+00:00"
},
{
@@ -1314,6 +1317,7 @@
"type": "patreon"
}
],
+ "abandoned": "web-token/jwt-library",
"time": "2021-01-21T19:18:03+00:00"
},
{
@@ -1386,31 +1390,72 @@
"type": "patreon"
}
],
+ "abandoned": "web-token/jwt-library",
"time": "2021-03-24T13:35:17+00:00"
}
],
"packages-dev": [
{
"name": "phing/phing",
- "version": "2.4.14",
+ "version": "2.17.4",
"source": {
"type": "git",
"url": "https://github.com/phingofficial/phing.git",
- "reference": "41075d93ca254f1c90c79ec7ce81be2b2629e138"
+ "reference": "9f3bc8c72e65452686dcf64497e02a082f138908"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phingofficial/phing/zipball/41075d93ca254f1c90c79ec7ce81be2b2629e138",
- "reference": "41075d93ca254f1c90c79ec7ce81be2b2629e138",
+ "url": "https://api.github.com/repos/phingofficial/phing/zipball/9f3bc8c72e65452686dcf64497e02a082f138908",
+ "reference": "9f3bc8c72e65452686dcf64497e02a082f138908",
"shasum": ""
},
"require": {
"php": ">=5.2.0"
},
+ "require-dev": {
+ "ext-pdo_sqlite": "*",
+ "mikey179/vfsstream": "^1.6",
+ "pdepend/pdepend": "2.x",
+ "pear/archive_tar": "1.4.x",
+ "pear/http_request2": "dev-trunk",
+ "pear/net_growl": "dev-trunk",
+ "pear/pear-core-minimal": "1.10.1",
+ "pear/versioncontrol_git": "@dev",
+ "pear/versioncontrol_svn": "~0.5",
+ "phpdocumentor/phpdocumentor": "2.x",
+ "phploc/phploc": "~2.0.6",
+ "phpmd/phpmd": "~2.2",
+ "phpunit/phpunit": ">=3.7",
+ "sebastian/git": "~1.0",
+ "sebastian/phpcpd": "2.x",
+ "siad007/versioncontrol_hg": "^1.0",
+ "simpletest/simpletest": "^1.1",
+ "squizlabs/php_codesniffer": "~2.2",
+ "symfony/yaml": "^2.8 || ^3.1 || ^4.0"
+ },
+ "suggest": {
+ "pdepend/pdepend": "PHP version of JDepend",
+ "pear/archive_tar": "Tar file management class",
+ "pear/versioncontrol_git": "A library that provides OO interface to handle Git repository",
+ "pear/versioncontrol_svn": "A simple OO-style interface for Subversion, the free/open-source version control system",
+ "phpdocumentor/phpdocumentor": "Documentation Generator for PHP",
+ "phploc/phploc": "A tool for quickly measuring the size of a PHP project",
+ "phpmd/phpmd": "PHP version of PMD tool",
+ "phpunit/php-code-coverage": "Library that provides collection, processing, and rendering functionality for PHP code coverage information",
+ "phpunit/phpunit": "The PHP Unit Testing Framework",
+ "sebastian/phpcpd": "Copy/Paste Detector (CPD) for PHP code",
+ "siad007/versioncontrol_hg": "A library for interfacing with Mercurial repositories.",
+ "tedivm/jshrink": "Javascript Minifier built in PHP"
+ },
"bin": [
"bin/phing"
],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.16.x-dev"
+ }
+ },
"autoload": {
"classmap": [
"classes/phing/"
@@ -1421,30 +1466,46 @@
"classes"
],
"license": [
- "LGPL3"
+ "LGPL-3.0-only"
],
"authors": [
{
"name": "Michiel Rook",
- "email": "mrook@php.net",
- "role": "Lead"
+ "email": "mrook@php.net"
},
{
"name": "Phing Community",
- "homepage": "http://www.phing.info/trac/wiki/Development/Contributors"
+ "homepage": "https://www.phing.info/trac/wiki/Development/Contributors"
}
],
"description": "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.",
- "homepage": "http://www.phing.info/",
+ "homepage": "https://www.phing.info/",
"keywords": [
"build",
+ "phing",
"task",
"tool"
],
"support": {
- "source": "https://github.com/phingofficial/phing/tree/2.4.14"
+ "irc": "irc://irc.freenode.net/phing",
+ "issues": "https://www.phing.info/trac/report",
+ "source": "https://github.com/phingofficial/phing/tree/2.17.4"
},
- "time": "2012-11-29T21:23:47+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/mrook",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/siad007",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/michielrook",
+ "type": "patreon"
+ }
+ ],
+ "time": "2022-07-08T09:07:07+00:00"
}
],
"aliases": [],
@@ -1453,8 +1514,12 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=7.1.3"
+ "php": ">=7.3",
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "ext-openssl": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.0.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/language/ru/install.php b/language/ru/install.php
index 91b45ea..3b404ab 100644
--- a/language/ru/install.php
+++ b/language/ru/install.php
@@ -38,8 +38,8 @@
//
$lang = array_merge($lang, [
- 'PHPBB_VERSION_MAX_ERROR' => 'Данное расширение несовместимо с установленной версией конференции. Вы используете версию phpBB 4, которая уже содержит соответствующие функции.',
- 'PHPBB_VERSION_MIN_ERROR' => 'Данное расширение несовместимо с установленной версией конференции. Необходима версия phpBB ' . \phpbb\webpushnotifications\ext::PHPBB_MIN_VERSION . ' или выше.',
- 'PHP_VERSION_ERROR' => 'Данное расширение несовместимо с установленной на сервере версией PHP. Необходима версия PHP ' . \phpbb\webpushnotifications\ext::PHP_MIN_VERSION . ' или выше.',
+ 'PHPBB_VERSION_MAX_ERROR' => 'Данное расширение не может быть установлено на конференции. Вы используете версию phpBB 4, которая уже содержит соответствующие функции.',
+ 'PHPBB_VERSION_MIN_ERROR' => 'Необходима версия phpBB ' . \phpbb\webpushnotifications\ext::PHPBB_MIN_VERSION . ' или выше.',
+ 'PHP_VERSION_ERROR' => 'Необходима версия PHP ' . \phpbb\webpushnotifications\ext::PHP_MIN_VERSION . ' или выше.',
'PHP_EXT_MISSING' => 'На этом сервере должно быть установлено расширение «%s» для PHP.',
]);
diff --git a/language/ru/webpushnotifications_common_acp.php b/language/ru/webpushnotifications_common_acp.php
index dda5ed5..068fd82 100644
--- a/language/ru/webpushnotifications_common_acp.php
+++ b/language/ru/webpushnotifications_common_acp.php
@@ -40,7 +40,8 @@
$lang = array_merge($lang, [
'PWA_SETTINGS' => 'Настройки прогрессивного веб—приложения (PWA)',
'PWA_SHORT_NAME' => 'Краткое имя сайта',
- 'PWA_SHORT_NAME_EXPLAIN' => 'Краткое имя сайта длиной не более 12 символов, которое будет использовано в качестве подписи к значку на домашнем экране мобильного устройства.',
+ 'PWA_SHORT_NAME_EXPLAIN' => 'Краткое имя сайта длиной не более 12 символов, которое будет использовано в качестве подписи к значку на домашнем экране мобильного устройства. Если оставить пустым, будут использованы первые 12 символов значения настройки, заданной в поле Название конференции.',
+ 'PWA_SHORT_NAME_INVALID' => 'Поле «Краткое имя сайта» содержит недопустимые символы или его длина превышает 12 символов.',
'PWA_ICON_SMALL' => 'Маленький значок для мобильного устройства',
'PWA_ICON_SMALL_EXPLAIN' => 'Имя файла изображения формата PNG размером 192 x 192 пикселя. Файл изображения должен быть загружен на сервер в папку images/icons.',
'PWA_ICON_LARGE' => 'Большой значок для мобильного устройства',