[DigitalPoint] PWA

ПЛАГИН XF2 [DigitalPoint] PWA 1.2.3

Добавьте некоторые недостающие элементы в прогрессивное веб-приложение XenForo
По умолчанию XenForo полагается на браузер, готовый подписаться на push-уведомления, если пользователь ранее предоставил разрешение. Safari (и iOS PWA) так не работают, даже повторная подписка должна быть инициирована жестом пользователя (см. Этот пост). Это приводит к тому, что iOS PWA (и настольные браузеры Safari) "теряют" свою push-подписку, поскольку XenForo полагается на повторную подписку браузеров. Это обновление изменяет некоторые действия XenForo, чтобы исправить это:
  • Push-подписки не отменяются, когда пользователь повторно проходит двухэтапную аутентификацию.
  • В идеале, этого не должно быть, но если (по какой-либо причине) XenForo запускает принудительную отмену подписки, если браузер Safari (или PWA), мы также очищаем локальное хранилище push_history_user_ids, что позволит пользователю снова показывать push-уведомление, чтобы он мог выбрать повторную подписку (жестом пользователя, чтобы это работало). Нереально ожидать, что пользователи будут знать о необходимости повторной подписки с помощью кнопки, скрытой в их настройках.
PS: Это должно решить проблему XenForo, из-за которой пользователи iOS PWA теряют свои push-подписки (или, по крайней мере, сделать так, чтобы это случалось реже).
Весь JavaScript был переписан, чтобы быть "родным" (не использует jQuery) в рамках подготовки к удалению jQuery в XenForo 2.3.

Если вы не используете XenForo 2.3, вам не нужно обновляться (может произойти некоторое неизмеримое увеличение скорости [думаю, на наносекунды] при запуске его JavaScript, поскольку он больше не погружается в jQuery).
  • Исправлена совместимость с PHP 8.1+
  • Требуется XenForo 2.2.13+
  • Требуется токен CSRF, чтобы пользователь мог использовать ссылку для выхода из системы
  • Добавлена возможность отправлять push-уведомления пользователям (Администратор -> Коммуникации -> Push-пользователи)
  • Новая опция PWA: включить отладку (вы можете включить эту опцию, но она предназначалась для меня. Она отправляет данные в журнал ошибок вашего сервера... но не стесняйтесь)
    • Регистрирует изменения в пользовательских push-подписках
    • Регистрирует ошибки веб-push-сервера
  • Удаляет push_subscription_updated файл cookie сеанса при создании нового сеанса (приводит к обновлению конечной точки push-подписки, если срок действия старого истек).
  • Добавлен атрибут в тег manifest, чтобы дать браузеру указание включать учетные данные (cookies) при отправке запроса на файл manifest (позволяет автоматически входить в PWA)
  • Не отписывает пользователя от push-уведомлений, если он входит в админку (обычно XenForo прекращает рассылку push-уведомлений, если пользователь входит в админку, до тех пор, пока он не вернется на общедоступную страницу)
1692146408917.png
Назад
Верх Низ