Массовое «Изменение категории» без ошибок завершается неудачей, когда у тем есть обязательные группы тегов, явно не разрешённые в целевой категории

Краткое описание

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

Это сбивает с толку администраторов, так как интерфейс позволяет выполнить действие, но ничего не происходит.


Шаги для воспроизведения

  1. Создайте подкатегорию A с ограничениями на теги, например:
  • Требовать, чтобы новые темы имели хотя бы один тег из группы тегов
  • Например: «2025–26 учебный год»
  1. Создайте подкатегорию B в рамках той же родительской категории.
  • Не изменяйте настройки Тегов (оставьте значения по умолчанию, не открывайте и не сохраняйте их).
  1. Создайте темы в подкатегории A (они будут содержать теги из обязательной группы).
  2. В подкатегории A:
  • Выделите несколько тем
  • Используйте массовые действия → Изменить категорию
  • Выберите подкатегорию B

Ожидаемое поведение

Либо:

  • Темы успешно перемещаются
    либо
  • Отображается информативное сообщение об ошибке, например:
    • «Некоторые темы содержат теги, недопустимые в целевой категории»
    • «Целевая категория не допускает обязательную группу тегов X»

Фактическое поведение

  • Ничего не происходит
  • Нет сообщения об ошибке
  • Нет всплывающего уведомления (toast)
  • Нет записи в журнале действий администраторов
  • Нет видимой фоновой задачи

Интерфейс принимает действие, но перемещение незаметно прерывается.


Обходное решение

Открытие вкладки Теги целевой категории и сохранение настроек (даже без внесённых изменений) сразу решает проблему.

После явной инициализации правил тегов в целевой категории массовое изменение категорий работает как ожидалось.


Примечания

Это, по-видимому, связано с проверкой ограничений на теги при выполнении массовых действий:

  • В исходной категории установлены обязательные группы тегов
  • В целевой категории настройки тегов находятся в неинициализированном/стандартном состоянии
  • Валидатор завершается неудачей, но не передаёт ошибку в интерфейс

Перемещение отдельных тем затрагивается в меньшей степени; проблема наиболее заметна при выполнении массовых действий.


Почему это проблематично

С точки зрения администратора или модератора это выглядит как:

  • сбой массового действия
  • проблема с правами доступа
  • или регрессия

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

Даже простое предупреждающее сообщение сделало бы ситуацию гораздо более понятной.

3 лайка