Отписываться от тем, когда вы перестаете следить за связанным с ними тегом

Предположим, что группа тегов A видна только администраторам. Если её видимость изменена на «Все», и обычный пользователь отметит тег как «Слежу», то после того, как тег снова станет видимым для этой группы (например, администраторам), пользователь продолжит следить за тегами и получать уведомления, вместо того чтобы быть автоматически удалённым из списка, поскольку тег больше не виден обычному пользователю. Кроме того, у пользователя нет способа снять статус «Слежу», так как он не отображается на странице «Настройки» > «Отслеживание».

4 лайка

Я пытался воспроизвести это на Meta вчера, и, эээ… группа тегов скрылась, так что я теперь как бы застрял с этим (хотя я всё ещё не вижу теги).

1 лайк

Мне не удалось воспроизвести эту проблему. Подтвердите, пожалуйста, вы следовали этим шагам?

  1. У вас была группа тегов с ограниченным доступом (только для администраторов), что должно было предотвратить возможность подписки на теги пользователями без прав администратора.
  2. Вы изменили разрешение для группы тегов на «Теги могут использоваться всеми», что позволило пользователю без прав администратора видеть и подписываться на тег в этой группе.
  3. Затем вы вернули разрешение для группы тегов обратно только для администраторов.

Также, на какой версии Discourse вы столкнулись с этой проблемой?

Скорее всего, это связано с тем, что у вас недостаточно прав для управления группами тегов здесь, на Meta.

Мои шаги для воспроизведения:

  1. (Как администратор) В группе тегов с несколькими тегами установите параметр Теги видны только следующим группам[1] на значение вроде trust_level_0 из другой группы, в которую не входит другой пользователь.
  2. Под другим пользователем наблюдайте за этими тегами на его странице (установите там статус уведомлений на «Следить»).
  3. (Как администратор) Верните видимость группы тегов к прежнему значению и создайте тему с этими тегами.
  4. Вернитесь к другому пользователю; если перейти по ссылке ?state=watching, вы увидите созданную тему (статус «Следить» не был снят)[2].

  1. Скоро протестирую вариант «видны всем» ↩︎

  2. При тестировании я не получил уведомление, но всё равно видел тему в списке отслеживаемых тем из-за тегов ↩︎

1 лайк

Спасибо, понял.

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

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

4 лайка

А, это понятно, спасибо, что посмотрели!

1 лайк

Это сложный момент! Я понимаю вашу точку зрения, @NateDhaliwal, но не думаю, что это баг.

Подписка на тег — это сокращённый способ подписки на темы. Пока у пользователя был доступ к тегу, все созданные с его помощью темы автоматически помечались как подписанные. Не считаю, что это баг, если эти темы остаются подписанными, даже после того, как пользователь отписался от тега (в силу того, что у него отозвали доступ к нему).

Но давайте я уточню у @hugh, нашего менеджера по пользовательскому опыту, согласен ли он. Я мог бы аргументировать в любую сторону, но, думаю, это скорее стоит рассматривать как запрос на новую функцию (#feature request), который мог бы охватить более широкие изменения в отслеживании, а не только изменения, вызванные потерей доступа к тегу.

2 лайка

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

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

2 лайка