Краткое описание
При массовом перемещении тем из одной подкатегории в другую действие может завершиться неудачей незаметно (без ошибок, без обратной связи в интерфейсе и без записи в журнале администраторов), если в исходной категории установлены обязательные группы тегов, а настройки тегов в целевой категории не были явно инициализированы.
Это сбивает с толку администраторов, так как интерфейс позволяет выполнить действие, но ничего не происходит.
Шаги для воспроизведения
- Создайте подкатегорию A с ограничениями на теги, например:
- Требовать, чтобы новые темы имели хотя бы один тег из группы тегов
- Например: «2025–26 учебный год»
- Создайте подкатегорию B в рамках той же родительской категории.
- Не изменяйте настройки Тегов (оставьте значения по умолчанию, не открывайте и не сохраняйте их).
- Создайте темы в подкатегории A (они будут содержать теги из обязательной группы).
- В подкатегории A:
- Выделите несколько тем
- Используйте массовые действия → Изменить категорию
- Выберите подкатегорию B
Ожидаемое поведение
Либо:
- Темы успешно перемещаются
либо - Отображается информативное сообщение об ошибке, например:
- «Некоторые темы содержат теги, недопустимые в целевой категории»
- «Целевая категория не допускает обязательную группу тегов X»
Фактическое поведение
- Ничего не происходит
- Нет сообщения об ошибке
- Нет всплывающего уведомления (toast)
- Нет записи в журнале действий администраторов
- Нет видимой фоновой задачи
Интерфейс принимает действие, но перемещение незаметно прерывается.
Обходное решение
Открытие вкладки Теги целевой категории и сохранение настроек (даже без внесённых изменений) сразу решает проблему.
После явной инициализации правил тегов в целевой категории массовое изменение категорий работает как ожидалось.
Примечания
Это, по-видимому, связано с проверкой ограничений на теги при выполнении массовых действий:
- В исходной категории установлены обязательные группы тегов
- В целевой категории настройки тегов находятся в неинициализированном/стандартном состоянии
- Валидатор завершается неудачей, но не передаёт ошибку в интерфейс
Перемещение отдельных тем затрагивается в меньшей степени; проблема наиболее заметна при выполнении массовых действий.
Почему это проблематично
С точки зрения администратора или модератора это выглядит как:
- сбой массового действия
- проблема с правами доступа
- или регрессия
На практике же это скрытая ошибка валидации без какой-либо обратной связи, что сильно затрудняет диагностику.
Даже простое предупреждающее сообщение сделало бы ситуацию гораздо более понятной.