Skip to content

Implement disable group mentions for members

What does this MR do?

This MR adds the ability to prevent adding all members to a conversation / creating notifications for them, if their group is mentioned:

  • It adds a new configuration option on group settings level to disable group mentions for it.
  • It visualises the fact, that a group has mentions disabled, if a user tries to mention it.

This is particularly helpful, if a group has large amount of users. I had the case, that a group with ~3'000 users was mentioned, which creates heavy load on Sidekiq workers, basically DDoS'es mail servers and annoys a large amount of users (e.g. could also be the case for @gitlab-org -> over 1'000 emails).

🔧 with at Siemens

Closes #21301 (closed)

Screenshots

Configuration:

image

Mentioning a Group:

image

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Clarification Needed:

  • UX: To identify a group as "mentions disabled", a "disabled bell" icon has been used for the group autocompletion dialog. This allows the user to identify the group as such, while still allowing the group to be linked. Is this "easily enough" identifiable as such?
  • database: The DB query for group-to-members relation within lib/banzai/reference_parser/user_parser.rb has been modified. Is there a more performant way to do this?

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by 🤖 GitLab Bot 🤖

Merge request reports