[3.1][3.2] Web Push Notifications (Push-уведомления)

Все расширения, созданные нашим сообществом для phpBB, как находящиеся в разработке, так и прошедшие валидацию на официальном сайте phpbb.com, будут анонсированы тут. Вся техническая поддержка по этим расширениям оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет 5 месяцев
Благодарил (а): 39 раз
Поблагодарили: 792 раза

[3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение LavIgor »

Web Push Notifications (Push-уведомления)

Автор: LavIgor

Описание:
Добавляет возможность отправки Push-уведомлений с phpBB-конференций в браузеры пользователей.
В настройках конференции в администраторском разделе можно включить показ выключателя Push-уведомлений в стандартном блоке уведомлений (показ включён по умолчанию) и окна-приглашения для зарегистрированных пользователей при первом входе на конференцию в новом браузере (по умолчанию отключено).

Скачать расширение и узнать о требованиях к установке можно на его сайте:
https://boardtools.ru/notifications/#ru

Русская локализация: есть

В скриншотах нет необходимости - это расширение уже установлено на phpBB Guru, вы можете начать его тестирование уже сейчас!
Обо всех ошибках, связанных с расширением, просьба сообщать в этой теме.

----------------------------------------------------

Вы ждали и дождались!
Большое спасибо всем, кто внёс свой вклад в развитие данного расширения - без вас не было бы этого релиза.
Причём не одного, а сразу трёх! Обратите внимание на требования к каждой из версий и выберите подходящую именно вам. ;)
Примечание: 
С момента выхода предыдущих версий некоторые баги были исправлены (аватара отправителя и поддержка Firefox для Android).
Однако некоторые проблемы всё ещё существуют:
  • некорректная ссылка в расширении благодарностей (причина выясняется),
  • в случае мультиязычных конференций: уведомление будет показано на языке отправителя, а не получателя (без внесения правок в движок решение проблемы не нашёл, фикса для неё пока нет).
P.S. Снизить базовые требования поддержки PHP и его расширений не представляется возможным в связи с требованиями используемой библиотеки и спецификации Push-уведомлений.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 16 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 561 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Nekstati »

Расширение сложное, документации нет, ни у кого пока не нашлось времени реверс-инжинирить его логику.
er107
phpBB 2.0.18
Сообщения: 1185
Стаж: 14 лет 6 месяцев
Благодарил (а): 210 раз
Поблагодарили: 77 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение er107 »

Получается, тогда проще новое расширение написать?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12853
Стаж: 14 лет 2 месяца
Благодарил (а): 160 раз
Поблагодарили: 2327 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Татьяна5 »

Новое стоило бы весьма неслабо
Починить, наверное, всё-таки проще, но всё равно работы сильно не на 5 минут
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5471
Стаж: 20 лет 9 месяцев
Откуда: Питер
Благодарил (а): 181 раз
Поблагодарили: 759 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Siava »

Выложенная на 10 странице версия работает с php до 8.2 включительно. На 8.3 ещё не проверял.

Отправлено спустя 3 минуты 22 секунды:
Также не забываем, что
Это расширение имеет следующие общие требования:
Включённые расширения PHP: GMP и OpenSSL
HTTPS должен быть включён
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3336
Стаж: 16 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 561 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Nekstati »

...И что на MS Edge оно по-прежнему не работает.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17051
Стаж: 19 лет 5 месяцев
Откуда: Красноярск
Благодарил (а): 565 раз
Поблагодарили: 1739 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение rxu »

Здесь https://github.com/phpbb/phpbb/pull/6416/files код для 4.x. При определенной сноровке вполне реально сделать из него расширение для 3.3.
Изображение
er107
phpBB 2.0.18
Сообщения: 1185
Стаж: 14 лет 6 месяцев
Благодарил (а): 210 раз
Поблагодарили: 77 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение er107 »

Siava писал(а): 16.12.2023 14:12 Выложенная на 10 странице версия работает с php до 8.2 включительно
Только так и не удалось ее распаковать:))

Отправлено спустя 1 минуту 48 секунд:
Татьяна5 писал(а): 16.12.2023 12:38 Новое стоило бы весьма неслабо
А какой порядок? Может если все заинтересованные скинутся, то реально?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12853
Стаж: 14 лет 2 месяца
Благодарил (а): 160 раз
Поблагодарили: 2327 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Татьяна5 »

er107 писал(а): 16.12.2023 18:23 Только так и не удалось ее распаковать:))
Со 2-го раза распаковалось и перепаковалось
На форум не устанавливала, выкладываю то же самое "как есть"
Части 2 и 3 распаковывать в папку vendor в расширении (она великовата по весу оказалась)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Michel
phpBB 2.0.5
Сообщения: 458
Стаж: 13 лет 9 месяцев
Откуда: Липецк
Благодарил (а): 130 раз
Поблагодарили: 54 раза

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение Michel »

Татьяна5 писал(а): 16.12.2023 18:38
er107 писал(а): 16.12.2023 18:23 Только так и не удалось ее распаковать:))
Со 2-го раза распаковалось и перепаковалось
На форум не устанавливала, выкладываю то же самое "как есть"
Части 2 и 3 распаковывать в папку vendor в расширении (она великовата по весу оказалась)
На одном форуме стоит не переделанная версия, php7.4. Всё робит норм, кроме эджа. Поставил на другой ту что скинули выше, php8.3. В админке всё включилось, а вот у пользователей оно не заработало. В тех же браузерах где работает старая версия. Что сделал не так, не пойму :rule:

Отправлено спустя 7 минут 18 секунд:
Chrome
photo_2023-12-18_01-51-10.jpg
Отправлено спустя 43 минуты 36 секунд:
Причём на ПК chrome запустилось, а вот на мобильном не робит
У вас нет необходимых прав для просмотра вложений в этом сообщении.
phpBB 3.3.15 • php 8.4.7 • MySQL(i) 8.0.25-15
dimkaskv
phpBB 1.2.1
Сообщения: 25
Стаж: 3 года 1 месяц
Благодарил (а): 14 раз
Поблагодарили: 6 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение dimkaskv »

Расширение выдает рандомную ошибку 500 при отправке сообщений. Выглядит как - вы шлете сообщение в личку или на форуме, оно шлется, но сайт возвращает 500. При нажатии в браузере Назад видим, что сообщение ушло. Происходит это в 2 из 20 сообщений, т.е. не привязано к отправителю. Возможно только с теми, кто подключил уведомления в браузере.

Версия PHP: 8.4.13
Версия phpBB: 3.3.15

Пол года мучался с этим. Вот код ошибки:

Код: Выделить всё

Fatal error: Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given in /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php:151 Stack trace: #0 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(151): method_exists() #1 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(113): GuzzleHttp\Promise\Promise->settle() #2 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/EachPromise.php(223): GuzzleHttp\Promise\Promise->resolve() #3 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/EachPromise.php(213): GuzzleHttp\Promise\EachPromise->checkIfFinished() #4 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/EachPromise.php(169): GuzzleHttp\Promise\EachPromise->step() #5 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(203): GuzzleHttp\Promise\EachPromise->{closure:GuzzleHttp\Promise\EachPromise::addPending():163}() #6 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler() #7 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():154}() #8 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(96): GuzzleHttp\Promise\TaskQueue->run() #9 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(123): GuzzleHttp\Handler\CurlMultiHandler->tick() #10 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\Handler\CurlMultiHandler->execute() #11 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn() #12 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending() #13 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList() #14 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #15 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/EachPromise.php(101): GuzzleHttp\Promise\Promise->wait() #16 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\Promise\EachPromise->{closure:GuzzleHttp\Promise\EachPromise::createPromise():90}() #17 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn() #18 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending() #19 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList() #20 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #21 /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/minishlink/web-push/src/WebPush.php(161): GuzzleHttp\Promise\Promise->wait() #22 /home/pi/mybash/4allforum/ext/lavigor/notifications/types/browser.php(138): Minishlink\WebPush\WebPush->flush() #23 /home/pi/mybash/4allforum/phpbb/notification/manager.php(435): lavigor\notifications\types\browser->notify() #24 /home/pi/mybash/4allforum/phpbb/notification/manager.php(322): phpbb\notification\manager->add_notifications_for_users() #25 /home/pi/mybash/4allforum/includes/functions_privmsgs.php(1928): phpbb\notification\manager->add_notifications() #26 /home/pi/mybash/4allforum/ext/nekstati/msgr/core/posting.php(447): submit_pm() #27 /home/pi/mybash/4allforum/vendor/symfony/http-kernel/HttpKernel.php(151): nekstati\msgr\core\posting->handle() #28 /home/pi/mybash/4allforum/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw() #29 /home/pi/mybash/4allforum/app.php(35): Symfony\Component\HttpKernel\HttpKernel->handle() #30 {main} thrown in /home/pi/mybash/4allforum/ext/lavigor/notifications/vendor/guzzlehttp/promises/src/Promise.php on line 151
Владелец https://4allforum.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17051
Стаж: 19 лет 5 месяцев
Откуда: Красноярск
Благодарил (а): 565 раз
Поблагодарили: 1739 раз

Re: [3.1][3.2] Web Push Notifications (Push-уведомления)

Сообщение rxu »

dimkaskv, данное расширение уже сильно устарело, используйте официальное: [3.3] Official Extensions: phpBB Browser Push Notifications.
Изображение

Вернуться в «Анонсы и поддержка расширений для phpBB»