Bulk “Change Category” silently fails when topics have required tag groups not explicitly allowed in destination category

Summary

When bulk-moving topics from one subcategory to another, the action can silently fail (no error, no UI feedback, no staff log) if the source category has required tag groups and the destination category has not had its tag settings explicitly initialised.

This is confusing for admins because the UI allows the action, but nothing happens.


Steps to reproduce

  1. Create a subcategory A with tag constraints, for example:
  • Require new topics to have at least 1 tag from a tag group
  • e.g. “2025–26 Academic Year”
  1. Create a subcategory B under the same parent category.
  • Leave the Tags settings untouched (defaults, never opened/saved).
  1. Create topics in subcategory A (they will have tags from the required group).
  2. In subcategory A:
  • Select multiple topics
  • Use bulk actions → Change Category
  • Choose subcategory B

Expected behaviour

Either:

  • Topics are moved successfully
    or
  • An informative error message is shown, e.g.
    • “Some topics have tags not allowed in the destination category”
    • “Destination category does not permit required tag group X”

Actual behaviour

  • Nothing happens
  • No error message
  • No toast notification
  • No staff action log entry
  • No background job visible

The UI accepts the action, but the move is silently aborted.


Workaround

Opening the destination category’s Tags tab and saving it (even without meaningful changes) immediately resolves the issue.

Once the destination category’s tag rules are explicitly initialised, bulk category changes work as expected.


Notes

This appears to be related to tag constraint validation during bulk actions:

  • Source category has required tag groups
  • Destination category has tag settings in an uninitialised / default state
  • Validator fails but does not surface an error to the UI

Single-topic moves appear less affected; the issue is most visible with bulk actions.


Why this is problematic

From an admin/moderator perspective, this looks like:

  • a broken bulk action
  • a permissions issue
  • or a regression

In practice, it’s a silent validation failure with no feedback, which makes it very difficult to diagnose.

Even a simple warning message would make this much clearer.

3 Likes