TL3 promotions job excludes users with a group locked trust level

When a user is added to a group that automatically grants a trust level, they can’t be promoted to Trust Level 3 by the TL3Promotions job. This is because the group_locked_trust_level property is set on the user, and the TL3Promotions job excludes any user where the group_locked_trust_level is not nil.

Removing the group_locked_trust_level: nil condition from the promotions query seems to solve the problem without any issues.

2 Likes

I was initially thinking:

that doesn’t sound like a bug - if the trust level is locked by a group then perhaps the admins want to keep them there

but the way it’s worded makes me agree with you instead:

image

:+1:

1 Like

I’d worry that while locking at TL2 might prevent advancement to TL3, not locking at TL3 might allow an undesirable loss of TL3

Right. I’d suggest that when you have TL granted by groups membership, you should never get demoted, but you should certainly be allowed to go up . Or is there any usecase where you really don’t want that?

In our case, we have a non-public invites only forum so we want users to be TL2 by default. The fact that they are stuck at TL2 though is a problem.

Yep, the current behavior is definitely confusing.

1 Like

There was a topic recently where there was a reason to lock someone at TL1 (0?). I couldn’t figure out how to do that.

Yes, you can to that in the admin settings of that user (the same place where you can suspend him/her etc.)

2 Likes

The way I think this should work is that if a group automatically grants a trust level, members of the group can still be promoted by the TL3Promotions job. If membership in the group grants Trust Level 3, members of the group cannot be demoted from Trust Level 3 by the TL3Promotions job.

To achieve this would only require a small change to the code. The biggest change would be updating the spec file.

Edit: This has been implemented by
https://github.com/discourse/discourse/pull/6249

5 Likes