I’m proposing a feature request here for a mute user functionality in discourse. I’ve seen a lot of people express interest on one level or another for the ability to block or ignore users. There’s been a fair bit of discussion for and against such a feature.
The biggest argument for a mute feature it to block a users ability to generate a massive amount of notification spam, which itself could prevent a user from using discourse effectively as notifications are lost.
The biggest argument against is it could lead to a pathological situation where the community fractures into cliques or worse.
I’ve listened to both sides and find things i agree with in both sides. What follows is my attempt to create a spec for muting annoying users without causing a degradation to the community experience.
It is my hope that this feature proposal can act as a middle ground by removing the major annoyances that can cause someone to want to use a mute button, without interfering with community interaction in a negative manner.
##Part the first: What it means for a user to be muted
Muted users will not generate most notifications. Actions that are not directly related to an active conversation that the current user is participating in will not generate notifications. For example, these actions would not generate notifications when taken by a user that is muted:
- @mentions in a topic that the current user has not posted in.
- liking a post
- quoting a post (unless it is also a direct reply)
- sharing a post
Muted users may continue to generate notifications for actions that are direct conversation, for example:
- @mentioning in topic OP
- replying to user directly
- Replying to user as new topic
Regardless of whether a notification is generated muted users posts will not trigger unread topic notifications to the current user.
Muted users posts will not be hidden or otherwise altered
All other user interactions will not be altered
##Part the second: How to mute a user.
For administrative purposes users that are TL4, moderators, or admins cannot be muted.
All other users can be muted in two ways:
- A user action on a post, similar to how one likes, flags, or bookmarks a post can mute a user for UserMuteInTopic length of time (default 24 hours).
- Users can also be muted from their profile for UserMuteInProfile length of time (default 1 week).
Once muted the user will remain muted until unmuted by the user in a manner similar to muting the user in the first place, or when the mute time runs out. Once a user becomes unmuted, either by user interaction or mute timeout a minimum length of time will be enforced before the user can be remuted (default 1 hour)