Fixed Warning issues

imthebest

Well-known member
Hi,

I think this is related to this partially fixed bug.

My forum is configured to move banned members to a specific usergroup (defined at admin.php?options/list/discourager, option "Add User Group on Ban") and have multiple warnings.

To make things easier for the devs, I have tested this problem on multiple scenarios on a stock XF 1.4.6 installation with the default 4 warnings (let's call them w1, w2, w3 and w4), each one of them comes with 1 point and expire after 1 month (these values weren't changed when issuing the warnings). For all the scenarios all events happen on the same day. Banned members aren't moved to a specific usergroup on this stock test installation, on my forum they are moved and I believe the same problems described here happen.

The following warning actions are defined:
  • Points 2: Ban, Temporary (1 day)
  • Points 4: Ban, Permanent

Scenario 1: user1 posted 4 messages, now:
Post 1 gets w1
Post 2 gets w2 //user1 gets banned for 1 day
//Admin lifts the temporary ban from the ACP
Post 3 gets w3
Post 4 gets w4 //user1 gets permanently banned
//Moderator deletes w4, member now has 3 warning points.
Expected (?): member should get unbanned.
What happens: member remains permanently banned.


Scenario 2: user2 posted 2 messages, now:
Post 1 gets w1
Post 2 gets w2 //user2 gets banned for 1 day
//Moderator expires w2, member now has 1 warning point
Expected (?): member should get unbanned.
What happens: member remains temporarily banned.


Scenario 3: user3 posted 4 messages, now:
Post 1 gets w1
Post 2 gets w2 //user3 gets banned for 1 day
//Admin lifts the temporary ban from the ACP
Post 3 gets w3
Post 4 gets w4 //user3 gets permanently banned
//Admin lifts the permanent ban from the ACP (member still have 4 warning points)
> user3 logins and posts messages 5, 6, 7 and 8, now:
Post 5 gets w1
Post 6 gets w2
Post 7 gets w3
Post 8 gets w4 //until now the member has 8 active warning points yet he doesn't gets banned
//And I can continue warning the member and nothing happens, it's like if they have got anti-ban protection!


Are the scenarios described on this bug report expected or maybe I'm doing something wrong? If the later is the correct option, then what is the proper way to make banned members to come back after warnings issued by error or reconsidered by the moderator?

Thanks,
Super120
 
Last edited:
Of the described scenarios, only scenario 1 is potentially wrong (based on the explanation of the linked bug report), though there's code in place to handle that case already so I'd have to confirm it.

In both cases 1 and 2, your actions are based on time, not points. Thus, the change in points does not imply the action should no longer continue. (The difference between 1 and 2 is deletion vs expiration and the interpretation is explained in the bug report you linked to.)

Scenario 3 is expected and explained on the warning action page itself:
This warning action will only be applied when a user crosses the points threshold. As such, users with this many points or more will not have this action applied until their warning point total drops below this threshold and then crosses it again.
They never dropped below the point where the action could happen, plus you manually took steps to undo the action so it can't be guaranteed to be re-applied.
 
Scenario 3 is resolved using this add-on
https://xenforo.com/community/resources/temporary-user-changes-by-waindigo.3361/

In brief* - when a fixed duration warning action (and that appears to involve both temporary and permanent changes) is reversed using the AdminCP, the warning actions system is unaware that the user's settings have been changed. So it makes no further attempt to take the same action again.

The add-on allows a user with permission to interrogate temporary actions and amend them - expire now, expire at a different time, etc. using a tab on the User Profile in the front end.

So, rather than accessing the AdminCP to reverse the action, you use this to manipulate actions and user status, and it keeps the user's actual status in sync. with what the actions system thinks it is.

* based on observation/testing, rather than any understanding of the code - and with any relevant apologies for technical inaccuracy
 
I have fixed scenario 1. This was a specific situation where temporary/permanent bans not being untriggered properly when deleting a warning.
 
Top Bottom