Автоматическое добавление людей в приватный чат больше не работает?

Я обновил свою установку Discourse с самостоятельным размещением в пятницу, отставая примерно на две недели. Моя текущая версия — 3.5.0.beta2-dev ( 712302c020 ).

Я создал приватный канал чата на основе одной из наших приватных категорий и выбрал «Да» для автоматического добавления 7 пользователей, имеющих доступ к этой категории:

Это не сработало: был добавлен только я:

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

Очевидно, что есть пользователь, которого можно добавить:

Но в любом случае, 7 человек из группы должны были быть добавлены на первом шаге. Я также попробовал запустить задачу sidekiq Jobs::Chat::AutoJoinUsers, но безрезультатно. Кроме того, в логах я не вижу никаких ошибок.

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

Я попробую обновиться до самой последней версии, но последние коммиты, похоже, не имеют к этому отношения.

Редакция: Решено! Моя ошибка, забыл обновить права доступа Automatically adding people to a private chat channel is no longer working? - #12 by cultiv

К сожалению, обновление до версии 3.5.0.beta2-dev ( 558c566ca8 ) не помогло.

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

В то время как при поиске моего собственного имени total_rows также равен 1, и возвращается моя учётная запись:

Может быть, это связано с этим PR, который был добавлен до моего обновления?

Не уверен, как можно откатиться до коммита до этого, чтобы проверить, не в нём ли причина проблемы :thinking:

И на всякий случай отмечу: у меня та же проблема в Dev-версии моего форума (отдельный экземпляр) и в Live-версии. Оба были обновлены за пределы этого PR.

У меня нет немедленного ответа, но мы разберёмся с этим, спасибо.

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

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

Теперь я попробовал снова, и это работает некорректно, за исключением одного канала. Для наглядности:

Во всех этих каналах должно быть 6 и более участников. Когда участник один — это только я. «Команда по вопросам разнообразия, равенства и инклюзии» — единственная, которая последовательно добавляет всех членов группы.

«Команда по пакетам» на моём рабочем сайте работала отлично при создании: все 10 человек были добавлены. На тестовом сайте это тоже работало ранее. Теперь же, когда я удаляю её и добавляю снова на тестовом сайте, последовательно добавляются только 3 участника.

Я сравнил группы, и все настройки групп абсолютно одинаковы. Я удалял и добавлял людей в группы, но это тоже не помогло.

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

Я даже удалил чат-канал, удалил людей из группы, снова создал чат-канал и вернул старых пользователей в группу. Это тоже не помогло. Добавление случайного другого пользователя… работает!

Возможно, в моём экземпляре что-то полностью сломалось… У меня нет возможности протестировать это на свежем экземпляре.

Я готов предоставить доступ по SSH и права администратора на тестовом сайте. Это тестовый сайт, поэтому я не против, если что-то сломается :sweat_smile: :joy:

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

Активировались ли другие пользователи на вашем Discourse после создания канала? Или выходили и заходили снова?

Я только что попытался воспроизвести это, и да, сразу после создания я видел в канале только одного участника. Каждый раз, когда я заходил под учетной записью каждого из других пользователей, имеющих доступ к категории, количество участников увеличивалось. Эти пользователи могли видеть полную историю канала, так что она не начиналась с момента их входа.

Похоже, это баг UX/UI — список участников определенно был бы менее запутанным, если бы он сразу заполнялся всеми, кто имеет доступ!

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

Хотя это имеет смысл: я не могу добавить людей, если они уже находятся в канале чата. Но, к сожалению, они не могут ни увидеть этот канал, ни перейти по его прямому URL.

Стоит также упомянуть, что у меня категории настроены следующим образом:

  • Команды сообщества
    • Команда основных colaboradores
    • Команда пакетов

и так далее. Все группы имеют доступ к категории верхнего уровня, а каждая отдельная группа — к своей подкатегории. Сомневаюсь, что это имеет значение, поскольку у некоторых команд всё работает.

Я даже пытался добавить некоторых людей вручную в базу данных (INSERT INTO user_chat_channel_memberships…), но либо я обновляю не те таблицы, либо просто есть другая причина, по которой это не работает. В любом случае, мне пока не везёт с этой задачей :sweat_smile:

Нашёл проблему, и она была во мне.. :person_facepalming:

Просматривая всё ещё раз, я, конечно, заметил, что в разделе «Разрешённые группы для чата» были добавлены не все группы. На нашем сайте мы довольно строги в вопросе того, кто может общаться в чате, а я забыл, что настроил доступ только для определённых «Разрешённых групп для чата» :see_no_evil_monkey:

Проблема решена, спасибо за обратную связь!