Плагин подписок теперь перенаправляет только что вошедших пользователей на страницу участников, которой не существует

Уже пару недель вход на мой форум с обычным логином и паролем перенаправляет меня на страницу /s/contributors, которой не существует. Сам вход выполняется успешно, но на мгновение появляется следующее:

после чего участников форума перенаправляют на этот тревожащий экран:

Я ничего не делал на сайте, чтобы вызвать это перенаправление (просто установил все обычные обновления). Не могли бы вы помочь мне решить эту проблему?

В логах ошибок зафиксировано следующее:


TypeError: e.plans is undefined
Url: https://foo.com/assets/plugins/discourse-subscriptions-e36523da482c3a11b8f5407c5ed5001ddc6fecc4528a555476e7a94814347753.js
Line: 1
Column: 1119
Window Location: https://foo.com/s/contributors

Большое спасибо!

1 лайк

@Amicable, это странно и интересно для меня. Не могли бы вы отправить мне в ЛС ссылку на ваш сайт, чтобы я мог его проверить?

/s/contributors — это маршрут, который плагин Subscriptions использует для получения данных об участниках для нового баннера кампании, но мы не должны ни в коем случае перенаправлять туда. Мне не известно о каком-либо пути выполнения кода, который это делает.

7 лайков

@Amicable Я провел некоторые тесты по этой теме и не смог воспроизвести проблему с включенной опцией «требуется вход». Я также пробовал приглашать пользователей и настраивать новых пользователей с нуля.

Пользователи переходят изначально на страницу подписки? Что-то вроде /s/prod_xxxxxxxxxx? Или на /s?

Исчезает ли проблема, если пользователь очистит кеш браузера перед входом в систему?

У вас установлена конфигурация согласно нашему официальному руководству по установке? Вы обновились до последней версии после возникновения этой проблемы?

@Amicable Вы недавно пробовали новую функцию автоматического создания кампании и сразу же удалили её?

@justin Сейчас воспроизвести не удаётся, но при тестировании я столкнулся с тем же сообщением. Под /admin/plugins/discourse-subscriptions/products оставались следы автоматически созданной кампании — либо сам продукт, либо планы внутри него. После их удаления вход в систему восстановился в нормальном режиме и больше не перенаправлял на /s/contributors.

Это полезная информация, @Kchalk — я попробую поэкспериментировать с этим, чтобы воспроизвести проблему. Если у вас есть точные шаги для воспроизведения, это тоже было бы очень полезно.

РЕДАКТИРОВАНИЕ: У меня уже есть воспроизведение.

  • Установите расположение баннера кампании в Top
  • Для доступа к сайту требуется вход в систему

Проблема, скорее всего, не связана с функцией автоматического создания кампаний, а конкретно с баннером. Вероятно, это связано с тем, когда вызывается маршрут /s/contributors в процессе входа. Хорошая новость в том, что если нажать на логотип «Главная», вы сразу попадете на сайт, но я понимаю, почему это может вызывать беспокойство у конечных пользователей.

2 лайка

@Kchalk да, возможно, вы что-то уловили. Я экспериментировал с баннерами в верхней части каждой страницы, но отказался от этой идеи.

@justin я помню, что несколько месяцев назад пробовал баннер, но так и не внедрил его. Сценарий использования заключался в том, чтобы он отображался в верхней части каждой страницы, так что это совпадает с тем, что обнаружил @Kchalk.

Скриншоты, которые я показал выше, видны всем пользователям сразу после входа в систему.

Вся установка очень базовая, с минимальным количеством настроек и плагинов. Она была создана по инструкции, но это было несколько лет назад.

Плагин подписок у нас всё ещё отключен, и, скорее всего, мы не будем его активировать, пока снова не возникнет необходимость в нём.

Мы исправим это, чтобы на сайтах с требованием входа больше не возникало проблем. :slight_smile:

5 лайков

Я после некоторого времени снова зашел на наш демонстрационный сайт https://lets.trydiscourse.com как администратор и тоже увидел ту же проблему. Не стесняйтесь использовать сайт для тестирования!

Исправление оказалось довольно простым и уже загружено в этот PR!

5 лайков