nathank
(Nathan Kershaw)
August 14, 2025, 11:39pm
1
It is wonderful that we can now easily silently change the category of topics (without having to fiddle with the site settings) due to this new feature :
committed 03:42AM - 15 Jul 25 UTC
We want to add an option for admins to carry out the operation silently
when the… y are updating the category for the selected topics. When the
“Perform this action silently” checkbox has been checked, the
`:notify_category_change sidekiq` job should not be enqueued.
However, the same problem also exists for tag edits. Any chance this functionality could be extended to cover tags too?
7 Likes
Zanbabe
(Suzanne)
December 17, 2025, 3:04pm
2
This is definitely needed.
1 Like
While working on these PRs I noticed that bulk editing tags will never generate any notifications so this can be closed.
main ← fix/silent-bulk-category-move-notifications
merged 03:05PM - 23 Feb 26 UTC
When performing a bulk category move with the "Notify users of this change" opti… on unchecked, topic authors were still receiving "edited" notifications. This happened because the silent flag was not propagated to the PostRevision `after_create` callback.
The original implementation (7a099ebb) correctly suppressed the `notify_category_change` job (PostAlerter path) but missed the second notification path: `PostActionNotifier.after_create_post_revision`, which fires via the PostRevision `after_create` callback when `create_revision_on_bulk_topic_moves` is enabled.
This fix adds a transient `silent` attr_accessor to PostRevision, set by PostRevisor before saving, and checked as an early return guard in `PostActionNotifier.after_create_post_revision`.
The specs are also updated to properly enable PostActionNotifier (which is disabled by default in tests) so the revision notification path is actually exercised.
Ref - t/174237
main ← fix/bulk-tag-actions-no-notifications
merged 01:39PM - 24 Feb 26 UTC
Bulk tag operations (change, append, remove) were directly manipulating tag reco… rds via DiscourseTagging and TopicTag, bypassing PostRevisor entirely. This meant callbacks, plugin hooks, and other side effects tied to the revision pipeline were not triggered.
This refactors the three bulk tag actions to go through `first_post.revise` instead, using `silent: true` to avoid sending notifications and `skip_revision: true` to avoid creating revision records, preserving the existing quiet behavior.
Also adds eager loading of first_post and tags to avoid N+1 queries, simplifies tag input handling by normalizing both tag_ids and tag_names into a single code path, and refactors `notification_is_disabled?` in PostActionNotifier for readability.
2 Likes