Non-staff users are missing link to Messages in UI

I have a test-TL1 user I use to test things or permissions etc. But today I noticed “Messages” is not available for this user.

I can send a message, or open it from notifications, or via direct URL but, there is no messages URL in:

  • my profile
  • in the new sidebar
  • in the notification menu subtab “messages” is not visible

Does anyone have any idea how I can fix this?

The user has TL1, which should give PM access.

Example: there should be “Messages” here on my profile page:

4 Likes

I think I can confirm this. I’ll slide it over to bug. :+1:

  • personal message enabled groups set to trust_level_1
  • TL1/2/3 user can send and access PMs, does not have Messages tab in user menu or user area

I’m seeing it here on Meta too:

3 Likes

Hmm thanks for confirming. On Meta, I am TL3 but the messages tab is visible for me.

1 Like

Actually, I fluffed the Meta test… :slight_smile: I had previously downgraded my test user to TL0 and forgotten about him. Bumping them to TL1 made the Message tab appear. Though that may help me work out why the same is not happening on my test site.

1 Like

I tried that before, changing from TL1 to TL0, back to TL1, even TL3 and none of it made a difference.

Also safe-mode does not fix the issue for me.

2 Likes

It seems to be hidden on my test site for non-staff users. Bumping my test user to anything less than Mod does not make it appear. Though not an issue here on Meta. :thinking:

2 Likes

I just updated another instance, then logged into a TL1 user, and messages disappeared from the menus and profile. I’m not using the new/experimental sidebar/notif menu here.

That’s exactly what I experience on two instances.

2 Likes

I’ve updated my test site this morning to have another run at this and I’m no longer seeing this issue. The message tabs are now showing up where they’re supposed to for non-staff users. I don’t know if this is a consequence of a fresh update (I can’t see any relevant commits) or possibly a setting I’ve changed/something I’ve done during other issue-testing. :thinking:

To rule it out, could you update to latest and see if that helps?

(FWIW I also span up a new test site while exploring something else, and the new TL1 test user on there also had the messages tabs displayed in the correct places)

1 Like

I did two rebuilds in the last 24 hours and the issue is not solved so far. Strange… Wonder what can be the cause. Safe mode doesn’t solve it either…

I noticed Allow other users to send me personal messages and chat direct messages is also not available on the profile preferences page for the TL1 user.

I was doing some run-throughs with the new direct message enabled groups (as well as the existing chat allowed groups) plugin settings during the window when the tabs weren’t there and then were there. There’s a small chance that changing and resetting those may be the trigger?

1 Like

I have just tried with these chat settings, I already did some testing with other settings earlier to see if there was a bug with those. So maybe I have some old setting that’s still enabled? Not sure…

EDIT: Setting min trust to send messages to 0: new user does make messages appear, even tho I bumped the user to TL1.


EDIT2: So to conclude after the latest finding, with the setup as seen below, no one except admins/mods can see messages. If I set min trust to send messages to 0: new user everyone including TL0 sees the message section. Same behavior on two instances.

personal message enabled groups has some effect, on a user page the message button gets removed if user doesn’t have the required TL. But messages tabs only show when min trust to send messages is set to 0: new user

1 Like

I updated our Discourse instance to 2.9.0.beta10 but didn’t turn the new sidebar feature on. Our users have noticed that the Personal Message icon has since disappeared
in the menu bar when clicking the upper-right hand avatar, although as admin I can still see mine. Was the icon removed due to the new sidebar menu launch? Any way to get it back? Thank you!

Admin menu bar:
admin bar

Regular user menu bar:
user bar

Thank you!

3 Likes

I’ve slipped your post over to this topic as it sounds like the same issue. :+1:

I’m hoping a second report should make this easier to pin down now I accidentally fixed mine without working out how. :slightly_smiling_face:

Could you try changing min trust to send messages to TL0 and back to TL1 again to see if resetting that helps?

1 Like

Nope, that does not help.

What is noticeable: if you set the above-mentioned setting to TL0, save and refresh the page, this is what It looks like:

I’ve noticed that on mine too. I think it still records something in the staff logs about the setting change, but linked to the personal_message_allowed_groups. I’ll have to dig a little deeper into that tomorrow, but that may be somewhere to look to see if I can track what I did.

1 Like

I’m taking a look at this since I added the personal_messages_enabled_groups setting. This behaviour is unexpected:

It looks like what is happening is that changing the enable_personal_messages and min_trust_to_send_messages settings in the UI also change the personal_message_enabled_groups setting. If I uncheck enable_personal_messages and save it, it clears out personal_message_enabled_groups, which reproduces the behaviour shown above. Or if I set the min_trust_level_to_send_messages to TL1, it sets personal_message_enabled_groups to admins.

I will open a PR today to hide the old settings in the UI, and also fix up this part of SiteSettingsController that unconditionally sets the new setting’s value to what we are changing the old setting to, even if override is not set to true:

Will hide the old settings first to stop the bleeding. Make sure you set personal_message_enabled_groups to what you want and leave the other settings as is, and let me know if that’s still not fixing the issue.

2 Likes

Just merged the PR to hide the old settings:

4 Likes

Thanks, just did a rebuild and I’m still one commit behind, not showing there’s an update available on /admin/upgrade too. Will try again tomorrow. Thanks again and good night for now!

2 Likes

I just merged another fix earlier so this shouldn’t happen for other deprecated settings which have not been hidden in the UI FIX: Deprecated settings should not override from UI by martin-brennan · Pull Request #18536 · discourse/discourse · GitHub

2 Likes

It looks like the old settings are removed, but still all TL groups are ignored and users only have Messages access if the new setting is set to “everyone”.

1 Like