"personal message enabled groups" is confusingly titled

Not sure if this is the best category for this topic.

I didn’t see any one else post about this, but I just want to say I think the SIteSetting personal message enabled groups is confusingly labelled.

  • Discourse has a global option personal message enabled groups , which is the minimum trust level a user needs to be before they can create direct messages
  • Users have a separate option (checkbox) to send or receive direct messages, user_option.allow_private_messages

What we desire is all non-staff/moderators/admins to NOT be able to send messages to users in trust_level_1 , which hopefully would be accomplished by setting personal_message_enabled_groups to trust_level_2. But it appears the two options above are treated separately, and the user option takes precedence. i.e., a user in trust_level_1 certainly can’t INITIATE DMs, but if allow_private_messages is enabled, the value can_send_private_message_to_user is true.

Since the global option doesn’t override the checkbox, it seems inaccurate to say personal message enabled groups, as a user not in the group set by this value is still enabled to be in a PM (they just can’t start one). I can see the desire to still have the user option override this SiteSetting, so I think this setting could be named something else, possibly personal message initiating groups?


I understand how this can be confusing, but I think from reading this you are after a different new setting that will handle this use case. It would be called something like disallow_personal_message_groups, and any users in the selected groups will not be able to receive PMs from anyone but staff (moderators and admins).

The personal_message_enabled_groups setting is not intended to be used as a block list. It’s a bit of a conundrum; maybe we could change the existing behaviour so people who are not in personal_message_enabled_groups cannot be messaged by anyone but staff either? I am not sure how many expectations this would break.

I will leave @tobiaseigen to weigh in as well.


Thank you for your input. I am just presencing that personal_message_enabled_groups implies that the checkbox being unmarked means personal_message_DISABLED_groups, which is not actually true.

I appreciate the active community here and Discourse itself. Thank you!


For completeness, this is the setting we are talking about here and how it is described:

Screenshot 2024-03-08 at 11.12.54 AM

I did a test with test users and noticed a few things:

  • users who are in groups specified here have full access to the PM system. They see the messages section in the sidebar, messages link on their user profile menu, and the messages icon on the notification menu. They can also start and respond to PMs.
  • users who are NOT in groups specified here can only receive PMs from others who are allowed to start PMs. They cannot start PMs, but are allowed to reply to PMs started by others. They do not see messages system in the UI at all, except they do get notified about PMs they receive and are able to access them that way. They can also go directly to their messages inbox by going to e.g. Discourse Meta - The Official Support Forum for Discourse, but not see the option to start a message. They can remove themselves from a message they have received.
  • moderators and admins can be removed from here but still have full access to the feature as though they were specified.

I believe the intention here is to allow sites to downplay/disable the messaging system for most users, so discussion takes place in topics and are not hidden away where they are hard to moderate. Meanwhile admins and mods are still allowed to to start message which is an integral part of the flagging system.

To my mind the setting and what it does is fine but the description can be made clearer. I’m not sure we need to explain the trust level group memberships work. You can see on the user admin page which trust level groups the user is in.

How’s this change?

Users in these groups can participate fully in the personal messages system. They see their messages on the navigation menu and can start messages to anyone on the site who can then reply, including users who are not in groups specified here. Note: Moderators and Admins always have full access.

I also think we actually should provide a backdoor to the messages if a user is not specified here but has received one or more meessages created by someone else. It feels broken to me that you have no way to find your way back. Most sensible I think would be to bring back the MESSAGES section in the user profile and the full user > messages horizontal navigation when looking at a message. I think we’d not need to bring it back to the sidebar but maybe we should do that too?

I think we likely can’t change the behavior of this existing setting because as you say it breaks expectations. But like you say we can add another setting to disallow certain groups from receiving PMs. I could see that being a valuable feature for certain communities - has anybody else ever asked for this?

To sum up what we might do here:

  • improve description of personal_message_enabled_groups admin setting
  • still display user > messages navigation once user has received a PM, even if they are not allowed to send PMs
  • add new disallow_personal_message_groups setting

Thank you for your thorough response @tobiaseigen . I think what you suggest is above and beyond what I had in mind. Just modifying the description of personal_message_enabled_groups to clarify what it does would be a help. Thank you!

1 Like