Users unable to add others to a personal message

Вот пример, который я только что создал на TPM:

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

Теперь, возможно, я не нахожусь на TL2 здесь, но я нахожусь на TL3 на TPM (модератор поместил меня туда для тестирования).

Так что, когда я отправитель, я не могу удалить себя — что логично — или кого-либо ещё. Когда я получатель, я могу удалить только себя, но опция добавления других участников через кнопку “+” отсутствует на TPM…

Вот что я нашел:

  • Пользователи с уровнем доверия TL2+ могут добавлять других пользователей в личные сообщения, независимо от того, являются ли они инициатором темы или получателем.
  • Создатели личных сообщений с уровнем доверия TL1 не могут добавлять или удалять пользователей.
  • Получатели личных сообщений с уровнем доверия TL1 могут удалить себя, но не могут добавлять новых пользователей.

Согласно нашему описанию уровней доверия, описанное выше поведение кажется верным (выделение добавлено):

@laughingriver лучшее, что можно сделать, — обновить сайт. После этого мы сможем попытаться выяснить, какие ещё факторы могут влиять на ситуацию.

Кстати, возможно, нам стоит предложить @sam одну из следующих опций:

  • запустить «закрытую» личную переписку, в которую никто не сможет добавлять или удалять участников (за исключением, пожалуй, сотрудников);
  • разрешить только владельцу личной переписки добавлять или удалять участников (за исключением, пожалуй, сотрудников).

Я думаю, это будет гораздо полезнее, чем возиться здесь с TL2/TL3.

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

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

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

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

Спасибо за помощь.

Сегодня я уже изучал похожую проблему: https://meta.discourse.org/t/unable-to-add-user-to-pm-topic/162945. В том случае я обнаружил, что обычные пользователи не могут приглашать других участников в личное сообщение (ЛС), если параметр max invites per day установлен в 0. В вашем случае, скорее всего, проблема вызвана настройкой сайта enable personal messages. Когда эта настройка отключена, добавлять участников к существующему ЛС могут только администраторы. Модераторы не могут добавлять участников к ЛС, если параметр enable personal messages отключён.

Можете ли вы перепроверить, могут ли администраторы добавлять участников к ЛС на вашем сайте? Для этого администратор должен быть тем пользователем, который инициирует личное сообщение.

Я почти уверен, что такое поведение намеренное, так как оно явно прописано в коде. Не совсем понятно, какая логика стоит за запретом модераторам добавлять участников к ЛС при отключённой настройке enable personal messages. Возможно, это можно изменить.

Я оставлю заметку для наших разработчиков здесь, на случай, если кто-то захочет разобраться в этом. Проблема возникает здесь: discourse/lib/guardian.rb at main · discourse/discourse · GitHub.

Я протестировал создание нового ПМ и добавление пользователя с моего аккаунта администратора. Это сработало.

Было бы здорово, если бы модераторы могли добавлять пользователей в личные сообщения, поскольку они могут создавать сообщения, когда enable personal messages отключено.

Рассматривалась ли возможность добавить опцию (или просто снять ограничение), позволяющую сотрудникам добавлять пользователей в личные сообщения, которые они инициировали, когда функция «Включить личные сообщения» отключена?

Всем привет.

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

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

Есть какие-то идеи? Спасибо!

Я тоже наблюдаю такое поведение с последними коммитами :cry:

Мы можем воспроизвести какие-либо проблемы здесь, @tshenry?

Сегодня я наконец-то смог немного разобраться в этом вопросе, но не смог воспроизвести описанное поведение. Я протестировал три сценария обмена сообщениями с учётом указанных настроек (ЛС включены, уровень TL2 может приглашать до 10 раз в день):

  1. Администратор → TL2 :white_check_mark:
  2. TL2 → Администратор :white_check_mark:
  3. TL2 → TL2 :white_check_mark:

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

Единственный случай, когда я видел кнопку «Удалить» без опции «Добавить», был, когда я выступал в роли участника уровня TL1 в ЛС, которое было начато кем-то другим. Я мог удалить себя, но не мог добавлять или удалять других участников.

@sdpiowa @diakopter, вы всё ещё сталкиваетесь с этой проблемой? Если да, не могли бы вы постараться составить подробные шаги для воспроизведения, чтобы я мог их проверить?

Да, я изучу целевую аудиторию и окружение. Я полагаю, что все аккаунты относятся к TL2, но я изменил некоторые минимальные настройки TL для определённых вещей. Я скоро вернусь к вам с ответом.

Здравствуйте,

На нашем форуме (размещённом на Discourse) мы также наблюдаем ту же проблему. На нашем сайте функция «Приглашения» (позволяющая пользователям отправлять приглашения незарегистрированным лицам по электронной почте) отключена, и для обычных пользователей (не администраторов) в личных сообщениях теперь отображается только кнопка «Удалить…».

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

я предполагаю, что отсутствует специальный код (функция или ветка) для проверки наличия у пользователя разрешения на добавление других участников в существующее личное сообщение. Возможно, эта «проверка» изначально обрабатывалась косвенным образом, но после недавнего обновления поведение изменилось непреднамеренно (как побочный эффект)? Было бы здорово, если бы это было реализовано в виде отдельных настроек на панели администратора: «Разрешить авторам тем добавлять пользователей в существующие ветки личных сообщений?» и «Разрешить любому участнику добавлять пользователей в существующие ветки личных сообщений?»…

Помогла ли вышеуказанная информация @tshenry?

Возможно! У меня пока не было возможности снова углубиться в это. Я подниму этот вопрос в приоритете и постараюсь заняться им завтра.

Есть ли какие-то успехи по этому вопросу? Я только что обновился до последней версии, но поведение осталось прежним.

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

Приносим извинения за молчание — мы привлекли инженера к решению проблемы. Всё будет исправлено в ближайшее время.

Я считаю, что приглашение в тему (для существующих пользователей) и приглашение на форум (для новых пользователей) — это две разные вещи, и с ними следует обращаться соответствующим образом. Я открыл PR для изменения этого: