New members can't request to join a group

Hi, all. What is the reason why a new member would see this message when they request to join a group? The only thing I can think of is that user level 0 can’t send PMs?

I tested this out with a new user that I created…

4 Likes

@tgxworld we are going to need to add a TL0 bypass here

5 Likes

I think this is a muted user? Muted users can’t PM the user who muted them.

This was a new user that I created who hasn’t yet posted. To verify it wasn’t because the user was muted, I went to each of the group owner’s notification profiles and there were no muted users listed.

Yeah, I can confirm this:

Quite a few layers of bug here…

Also… it is quite brutal that “to” is blank for request membership groups with no owner.

The UI should not even allow you to have a request membership group with no owner.

6 Likes

What caused the 500 error?

Users that can’t PM yet will not be allowed to request membership for a group

https://github.com/discourse/discourse/commit/5f441a2614b4948e79388af578a9260cfed1e86c

2 Likes

It heavily limits the use of open groups, especially if people join a community just to join a group. People should be allowed to request to join even at TL0 imo.

2 Likes

Then I think we need to move away from using a PM as the way to request for a membership. We need a group admin page where they can approve/reject requests to join a group. Sending a PM to join a group is proving to be a nightmare now. Allowing a bypass would also mean that TL0 can abuse the PM feature. I believe that min_trust_level_to_send_messages site setting needs to be respected here.

1 Like

Not really, you would still have a dedicated route for this, the dedicated route can create the PM and the PM can be canned and limited to N requests for invite per day.

This also would “speed up” the request invite process a lot and reduce confusion.

  • Click “request invite”
  • We disable button and render “Invite requested”
3 Likes

Ah I like this idea where the user wouldn’t have to type a custom message anymore. I’ll need to look through the discussions in the past for this feature though because I might have triggered the composer client side for a reason.

Ah we’re missing a validation here for the Group model. Group#allow_membership_requests shouldn’t be allowed to true for groups with no owners. Will automatically fix the client side problem too.

3 Likes

I had an idea :flashlight:

Why not send the message from system or discobot with the canned body of:

From: @system
Title: @sam requested access to amazing frogs
@sam (Sam Saffron) requested to join the group @amazing_frogs, reply with the text “grant” to grant access.

Reply

Sure, grant him access

Matches /grant/i so

OK, @sam was added to the @amazing_frogs group

This system has a HUGE advantage that it allows people to grant access much quicker, cause they can simply reply to an email.

5 Likes

Fixed in

https://github.com/discourse/discourse/commit/ac6c1acbed7817f2769810abf8d8f47080799151

7 Likes

I still feel like creating a group owners membership management page will be much better for us in the long run instead of the “request membership via a PM” approach. We can just send a notifications to all group owners notifying them of a pending requests queue and use a button to grant the user membership.

We used a PM in the 1.7 release because it was the easiest thing without having to spend too much time on it. Having special triggers in a text can quickly become a nightmare to handle based on my experience building discobot.

8 Likes

@sam I threw in a quick fix so that all users no matter what their TL is will be able to submit a request to join a group.

https://github.com/discourse/discourse/commit/a5d3abc9b6888c382e0094ba03074aff8a450fec

I’m closing this bug report but will be opening another topic to discuss a better flow for group memberships requests.

7 Likes