Нажатие на конверт не работает для пользователей, не являющихся сотрудниками

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

Для пользователей-сотрудников это работает.

firefox_ACou9sp2yI

4 лайка

Я могу подтвердить, что это также происходит на моем тестовом сайте для пользователей, не являющихся сотрудниками, с той же ошибкой: Uncaught Error: Failed to create an instance of 'controller:raw-email'. Most likely an improperly defined class or an invalid module export.

Это отмечено для внимания. :slight_smile: :+1:

4 лайка

Выглядит правдоподобно! Спасибо за указание. Поскольку проблема незначительна, я помечу её тегом pr-welcome. Я поддерживаю сверхпростое решение — просто не вызывать ничего здесь, но колеблюсь насчёт предоставления полной информации об электронной почте самому себе для пользователей без статуса модератора.

3 лайка

:+1: за то, что ничего не вызывается; я использовал это для отладки проблем с почтой множество раз как администратор, ни разу не проверял свои собственные сообщения как модератор или обычный пользователь, нигде. :person_shrugging:

1 лайк

Пул-реквест здесь Disallow access to raw email for non-staff users by communiteq · Pull Request #17569 · discourse/discourse · GitHub

2 лайка

Я вижу, что этот pull request был (тихо) закрыт. Я подозреваю, что это произошло потому, что я честно не понимаю, как протестировать функцию из одной строки, которая содержит только is_staff?.

Пожалуйста, дайте знать, планируется ли слияние в будущем, потому что если нет, мне придется создать плагин для решения этой проблемы с GDPR…

Я в целом могу принять отсутствие тестов для клиентской части, но серверную API-часть тестировать должно быть тривиально. Вы создаете объект поста и объект пользователя, проверяете, что пользователь не может увидеть сырое письмо, когда пост удален, в тестах Guardian.

Постараюсь разобраться, почему PR был закрыт.

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

2 лайка

Мы подозреваем, что закрытие было случайным кликом, приносим извинения, снова открыто.

Это, безусловно, странно, так как, насколько я знаю, закрытие не было запланировано, и это сделал не я. По крайней мере, не намеренно и не по моей инициативе. В любом случае, я скоро свяжусь по поводу этого PR.

Что-то неладно с состоянием PR. Возможно, это ошибка GitHub? :man_shrugging:

1 лайк

Закрытие действительно было очень странным, так как не было активного пользователя, и я не получил уведомления.
Хорошо слышать, что это не было намеренным!

Возможно, я тогда неправильно вас понял…?

2 лайка

Извините за долгое ожидание. PR был слит.

5 лайков