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

Когда пользователь удаляется из-за отклонения его первого сообщения, ему отправляется электронное письмо с темой Ваш аккаунт был удален.

В теле/содержимом письма есть ошибка: в средней части отображается какой-то синтаксис хэша Ruby:


Ниже приведена скриншот письма, полученного пользователем, демонстрирующий форматирование:


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

  1. Убедитесь, что в Discourse требуется одобрение первого сообщения каждого пользователя.
  2. Создайте нового пользователя.
  3. Создайте новое сообщение от имени этого пользователя.
  4. Используя учетную запись администратора, отклоните сообщение с опцией «Удалить пользователя».
  5. Новому пользователю будет отправлено письмо с указанным выше содержимым.
2 лайка

Если это поможет, вот несколько скриншотов из административной панели с отклонённым постом:

До удаления пользователя:

После отклонения и удаления:

1 лайк

Сообщение было перенесено в новую тему: Исправление обработки электронной почты удаленных пользователей для подготовленных пользователей

Похоже, здесь ошибка в логике генерации flag_reason:

PostActionTypeView.new.types не включает флаг :needs_approval (который создаётся в описанном потоке). Из-за этого ключ перевода разрешается как flag_reasons. (без суффикса), что возвращает весь раздел YAML вместо отдельной записи. Именно поэтому вместо причины флага отображается хэш Ruby.

Кроме того, это, вероятно, влияет и на пользовательские флаги, поскольку для них также будут отсутствовать переводы.

7 лайков

Я уверен, что так и есть. Я упоминал об этом в мае

3 лайка

Мы внесли исправление проблемы, описанной в первом посте. Отчёт, касающийся пользователей в стадии подготовки, перемещён в отдельную тему, чтобы упростить отслеживание до момента внесения исправления.

1 лайк