XF 2.2 User Group Promotions - how do they work?

Fullmental

Active member
We're trying to pinpoint a few issues/unexpected behaviors with the user group promotions system. We are seeing cases where users meet criteria for user group promotions, but some users are simply never promoted. It seems the list of criteria is irrelevant as long as the affected user with the problem matches them - they are just not promoted.

We're trying to come up with reasons why this might occur, but we honestly have no idea how the promotions job even works. Why would the job fail to see or promote certain users, but work reliably all day long with others? How can we see a verbose log or step through the logic to see why these users are being passed on?

Example: I uninstalled all addons on a test site, and set up a user group promotion based on username. I set the username to match either myself or another user that we are experiencing problems with. When I run the job, my account gets the promotion, theirs does not!

User Promotion Criteria:

1670869786767.png

User group added as part of the promotion:

1670869803587.png

Search for users in group does not yield either of us in the results:

1670869840539.png

After running cron job, user change log only shows change. Why doesn't the other matching user get their promotion?:

1670869968152.png

Where do we go from here to figure out the issue?
 
We are seeing cases where users meet criteria for user group promotions, but some users are simply never promoted. It seems the list of criteria is irrelevant as long as the affected user with the problem matches them - they are just not promoted.
Have those members logged in recently?

Promotions and demotions are only applied to recently active members.

The promotion will take effect the next time they log in.

Otherwise you can force promotions by running the task in the rebuild menu.

1670870223712.webp
 
Have those members logged in recently?

Promotions and demotions are only applied to recently active members.

The promotion will take effect the next time they log in.

Otherwise you can force promotions by running the task in the rebuild menu.

View attachment 278206
The user in particular was last active yesterday evening. The first time we noticed it they had logged in less than 6 hours ago. How do you define "recently active" for the purposes of user group promotions?
 
Upon logging in as the affected user in the test site, it does appear they were immediately granted the promotion. That seems odd to us, but I guess we need to run the tool from the cache rebuild menu, not the cron job itself?
 
Top Bottom