Новый пользователь не может изменить адрес электронной почты

Шаги воспроизведения:

  • Откройте вкладку анонимного браузера
  • Нажмите на регистрацию пользователя
  • Введите неверный адрес электронной почты
  • Настройка сайта Email editable включена (on)
  • На втором шаге процесса регистрации мне предлагается изменить адрес электронной почты
  • Нажмите на кнопку
  • Появляется сообщение об ошибке

Результат: При вызове u/account-created/edit-email возникает ошибка 403:

{
    "errors": [
        "Вы не имеете права просматривать запрошенный ресурс."
    ],
    "error_type": "invalid_access"
}

В чем проблема?

У меня этой проблемы нет на моей версии форума 3.4.0.beta4-dev(5ecc981f56):

Успешный PUT-запрос к /u/update-activation-email.

У меня этой проблемы также нет на meta.discourse.org.

Как устранить неполадки? В логах ничего примечательного не отображается.

Я использую версию 3.4.0.beta4-dev(13b9493bf0).

Используются настройки входа по умолчанию. Никакие параметры не переопределены.

Работает ли это в безопасном режиме?

(Может ли анонимный пользователь вообще использовать безопасный режим :thinking:)

Они могут. Система также подсчитывает, сколько раз я использовал функцию смены адреса электронной почты, поэтому мне теперь нужно подождать 15 минут, чтобы попробовать снова :slight_smile:

Похоже, в безопасном режиме всё работает.

Тогда вы должны знать, что проблема в каком-то компоненте, плагине или теме.

Я попытался отключить все плагины, переключиться на тему по умолчанию без компонентов, и проблема осталась. Я не пробовал перезапускать в процессе. Или важно полностью удалить компоненты из файла .yml, а не просто отключить их?

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

По сути, отключение плагина через админ-панель работает только в том случае, если это влияет на сторону пользователя. На серверную часть это не влияет. Но я готов признать ошибку, если я не прав.