Можно добавить уведомления о категориях (через /g/[group_name}/manage/categories) для категорий, которые группа не имеет права просматривать. Например, можно настроить слежение за категорией «Staff» для всех пользователей уровня доверия Trust_level_0. При этом даже появляется подсказка о применении изменений ретроспективно:
Это было бы очень плохо
, если бы Discourse действительно применил такое изменение и начал показывать случайным пользователям, что говорят сотрудники в приватных каналах. К счастью, эта подсказка — обман. После применения этого пугающего изменения (на тестовом экземпляре) я мог притвориться случайным пользователем и убедиться, что у него эта настройка не активирована в параметрах отслеживания (/my/preferences/tracking/), и он не получает уведомлений о новой активности. Безопасность категорий работает как положено.
Тем не менее, когда я просматриваю параметры отслеживания пользователя, войдя под учётной записью администратора, я вижу следующее:
Я могу добавить их во всевозможные приватные категории, что может вызвать кратковременную панику, если вы не знаете, что Discourse корректно управляет этим процессом на стороне.
По-моему, правильным подходом было бы запретить администраторам устанавливать параметры отслеживания для категорий, которые пользователи не могут читать. Это означает, что я не смогу вручную добавить категорию, просматривая профиль другого пользователя, если он не состоит в группе, имеющей право видеть эту категорию. А если я использую массовое обновление для добавления всей группы к категории, то получу ошибку, если у группы нет права на чтение этой категории.
Есть ли какая-либо причина позволять администраторам добавлять настройки уведомлений, которые на самом деле не отправляют уведомления? Единственный случай, который мне приходит в голову, когда это может иметь смысл, — если администратор планирует в будущем открыть категорию и хочет заранее подготовить уведомления для соответствующей группы. (Но я не уверен, что это разумная практика.)

