"Вход по электронной почте" переключается на неправильные строки при активации "скрыть адрес электронной почты"

Воспроизведение:

  1. Включите настройку сайта hide email address taken, которая обычно отключена и описывается как «Не сообщать пользователям о существовании учётной записи с указанным адресом электронной почты при регистрации и через форму восстановления пароля».

  2. В новой сессии браузера попробуйте войти, используя :email: с адресом электронной почты, и укажите недопустимое имя пользователя, например codinghorror.

Ожидаемое поведение

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

js.email_login.complete_email:

Если учётная запись соответствует codinghorror@example.com, вы скоро получите письмо со ссылкой для входа.

js.email_login.complete_username:

Если учётная запись соответствует codinghorror, вы скоро получите письмо со ссылкой для входа.

Фактическое поведение

Текст сообщения об ошибке ошибочно указывает на наличие совпадения, даже когда совпадения нет.

js.email_login.complete_email_found:

Мы нашли учётную запись, соответствующую codinghorror@example.com, вы скоро получите письмо со ссылкой для входа.

js.email_login.complete_username_found:

Мы нашли учётную запись, соответствующую имени пользователя codinghorror, вы скоро получите письмо со ссылкой для входа.

Комментарий

Хотя это работает корректно для процесса «восстановления пароля», похоже, что та же логика должна применяться и в рабочем процессе входа по электронной почте.

2 лайка

Я не считаю это ошибкой. Поведение полностью соответствует описанию выше.

Но если у нас есть другой вариант текста, мы должны использовать его в этой ситуации @eviltrout

1 лайк

Извините, если это запутанно. Ошибка, как она воспринимается, заключается в том, что когда (и только когда) включена настройка «Скрывать, что адрес электронной почты занят» и вводятся несовпадающие значения для входа по электронной почте:

Вместо того чтобы отображать намеренно неоднозначные строки js.email_login.complete_email и js.email_login.complete_username, система ошибочно отображает ложное срабатывание, используя строки js.email_login.complete_email_found и js.email_login.complete_username_found.

Если настройка сайта отключена (по умолчанию), корректно отображаются строки «совпадений не найдено».

4 лайка

Это должно исправить проблему:

8 лайков

Да, теперь всё выглядит правильно. Спасибо! :trophy:

5 лайков