Fixed User status change is not logged

Kirby

Well-known member
Affected version
2.2.15
PHP:
if ($user->user_state == 'email_confirm')
{
    // don't log when changing from initial confirm state as it creates a lot of noise
    $user->getBehavior('XF:ChangeLoggable')->setOption('enabled', false);
}

We've recently had a case where a user had registered 13 years (!) ago and just recently activated the account which then ended up in the approval queue.

Our moderators were confused why such an old account was in the approval queue and escalated the issue to the lead administrator who also could not find out why this happened and escalated the issue to the community manager who further escalated it to DevOps ... where it was finally escalated to me.

So finding out why the user was in the approval queue invloved quite a few people and took some time (digging though database binary and webserver access logs).

This could have been avoided if there was a notice in the user change log, but as can be seen above - XenForo intentionally does not log this change.
This is understandable for a "normal" flow, eg. the user registers and activates the account shortly after that.

But in the scenario described above it would be very helpful to have this info in the change log.

Suggested Change
Don't suppress logging if the account is "old", eg. registered a "long" time ago (maybe older than 30 days or smth. like that)
 
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future XF release (2.3.0 RC 5).

Change log:
Log user status changes for users who have been registered for longer than 30 days
There may be a delay before changes are rolled out to the XenForo Community.
 
Back
Top Bottom