У пользователей без доступа к администрированию отсутствует ссылка на Сообщения в интерфейсе

У меня есть тестовый пользователь TL1, которого я использую для проверки различных функций и прав доступа. Но сегодня я заметил, что для этого пользователя раздел «Сообщения» недоступен.

Я могу отправить сообщение, открыть его из уведомлений или перейти по прямой ссылке, но ссылки на сообщения нет:

  • в моём профиле
  • в новой боковой панели
  • в меню уведомлений на вкладке «Сообщения» она не отображается

У кого-нибудь есть идеи, как это исправить?

У пользователя есть права TL1, которые должны предоставлять доступ к личным сообщениям.

Пример: на странице моего профиля здесь должна быть ссылка «Сообщения»:

4 лайка

Я думаю, могу это подтвердить. Перемещу это в bug. :+1:

  • personal message enabled groups установлено в trust_level_1
  • Пользователи TL1/2/3 могут отправлять и получать личные сообщения, но у них нет вкладки «Сообщения» в меню пользователя или в личном разделе.

Я вижу это и здесь, на Meta:

3 лайка

Хм, спасибо за подтверждение. У меня на Meta уровень TL3, но вкладка с сообщениями видна.

1 лайк

На самом деле я провалил тест Meta… :slight_smile: Ранее я понизил уровень моего тестового пользователя до TL0 и забыл о нём. Повышение уровня до TL1 привело к появлению вкладки «Сообщения». Хотя это может помочь мне разобраться, почему то же самое не происходит на моём тестовом сайте.

1 лайк

Я уже пробовал это раньше: переключал с TL1 на TL0, обратно на TL1, даже на TL3 — ничего не помогло.

Кроме того, безопасный режим не решает мою проблему.

2 лайка

Кажется, на моём тестовом сайте оно скрыто для пользователей, не являющихся сотрудниками. Повышение моего тестового пользователя до любой роли ниже Модератора не приводит к его появлению. Хотя на Meta это не является проблемой. :thinking:

2 лайка

Я только что обновил другой экземпляр, затем вошёл как пользователь TL1, и сообщения исчезли из меню и профиля. Я не использую здесь новую/экспериментальную боковую панель или меню уведомлений.

Это точно то, что я наблюдаю на двух экземплярах.

2 лайка

Сегодня утром я обновил свой тестовый сайт и снова проверил эту проблему — она больше не воспроизводится. Вкладки сообщений теперь отображаются в нужных местах для пользователей, не являющихся сотрудниками. Не знаю, связано ли это с свежим обновлением (я не вижу соответствующих коммитов) или, возможно, с каким-то изменением настроек или действиями, которые я выполнил во время тестирования других проблем. :thinking:

Чтобы исключить эту причину, не могли бы вы обновиться до последней версии и проверить, поможет ли это?

(Кстати, я также развернул новый тестовый сайт, исследуя что-то другое, и новый тестовый пользователь TL1 на нём тоже имел вкладки сообщений, отображаемые в правильных местах).

1 лайк

Я сделал две пересборки за последние 24 часа, но проблема пока не решена. Странно… Интересно, в чём может быть причина. Безопасный режим тоже не помогает..

Я заметил, что опция «Разрешить другим пользователям отправлять мне личные сообщения и прямые сообщения в чате» также отсутствует на странице настроек профиля для пользователя TL1.

Я проводил тесты с новыми настройками плагина «группы с включёнными прямыми сообщениями» (а также с существующими настройками «группы, разрешающие чат») в период, когда вкладки сначала отсутствовали, а затем появились. Есть небольшая вероятность, что изменение и сброс этих настроек могли стать триггером?

1 лайк

Я только что попробовал с этими настройками чата. Ранее я уже проводил тесты с другими настройками, чтобы проверить, нет ли там ошибки. Возможно, у меня всё ещё включена какая-то старая настройка? Не уверен…

РЕДАКТИРОВАНИЕ: Установка параметра min trust to send messages (минимальный уровень доверия для отправки сообщений) в значение 0: new user (0: новый пользователь) приводит к появлению сообщений, даже несмотря на то, что я повысил уровень доверия пользователя до TL1.


РЕДАКТИРОВАНИЕ 2: Итак, подводя итог после последнего обнаружения, при конфигурации, показанной ниже, никто, кроме администраторов и модераторов, не видит сообщения. Если я установлю min trust to send messages в 0: new user, то все, включая пользователей с TL0, увидят раздел сообщений. Такое же поведение наблюдается на двух экземплярах.

Параметр personal message enabled groups (группы, для которых включены личные сообщения) оказывает некоторое влияние: на странице пользователя кнопка сообщений исчезает, если у пользователя нет требуемого уровня TL. Однако вкладки сообщений отображаются только тогда, когда min trust to send messages установлен в 0: new user.

1 лайк

Я обновил наш экземпляр Discourse до версии 2.9.0.beta10, но не включил новую функцию боковой панели. Пользователи заметили, что иконка личных сообщений исчезла из панели меню при нажатии на аватар в правом верхнем углу, хотя я, как администратор, всё ещё вижу свою. Была ли иконка удалена из-за запуска нового меню боковой панели? Есть ли способ вернуть её? Спасибо!

Панель меню администратора:

Панель меню обычного пользователя:

Спасибо!

3 лайка

Я перенёс ваш пост в эту тему, так как проблема, похоже, та же. :+1:

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

Не могли бы вы попробовать изменить параметр «Минимальный уровень доверия для отправки сообщений» на TL0, а затем снова на TL1, чтобы проверить, поможет ли это сбросить настройки?

1 лайк

Нет, это не помогает.

Что примечательно: если установить указанную выше настройку на TL0, сохранить и обновить страницу, это будет выглядеть так:

Я заметил это и у себя. Похоже, что в логах администраторов всё ещё записывается что-то об изменении настроек, но с привязкой к personal_message_allowed_groups. Завтра мне придётся покопаться в этом чуть глубже, но, возможно, это то место, где можно отследить мои действия.

1 лайк

Я изучаю эту проблему, так как добавил настройку personal_messages_enabled_groups. Такое поведение не ожидается:

Похоже, что изменение настроек enable_personal_messages и min_trust_to_send_messages в интерфейсе также влияет на настройку personal_message_enabled_groups. Если я сниму флажок enable_personal_messages и сохраню изменения, это очистит personal_message_enabled_groups, что воспроизводит описанное выше поведение. Или, если я установлю min_trust_level_to_send_messages в TL1, это установит personal_message_enabled_groups в администраторы.

Сегодня я открою PR, чтобы скрыть старые настройки в интерфейсе, а также исправлю эту часть SiteSettingsController, которая безоговорочно устанавливает значение новой настройки в то, что мы меняем в старой настройке, даже если override не установлен в true:

Сначала скрою старые настройки, чтобы остановить проблему. Убедитесь, что вы установили personal_message_enabled_groups в нужное вам значение и оставьте остальные настройки без изменений, и дайте мне знать, если это не решит проблему.

2 лайка

Только что объединил PR для скрытия старых настроек:

4 лайка

Спасибо, я только что сделал пересборку, но всё ещё отстаю на один коммит, и на /admin/upgrade тоже не отображается доступное обновление. Попробую снова завтра. Ещё раз спасибо и спокойной ночи!

2 лайка

Я только что ранее объединил ещё одно исправление, поэтому это не должно происходить для других устаревших настроек, которые не были скрыты в интерфейсе FIX: Deprecated settings should not override from UI by martin-brennan · Pull Request #18536 · discourse/discourse · GitHub

2 лайка

Похоже, что старые настройки удалены, но все группы переводчиков по-прежнему игнорируются, и пользователи имеют доступ только к сообщениям, если новое значение установлено как «все».

1 лайк