XF 2.2 Warning action for temporary ban is incorrectly banning permanently

djbaxter

Well-known member
I have a warning action set up to temporarily ban users at 10 or more warning points.

warning-action.png
temporary-while-at-or-above-points threshold.png

The problem is when the action kicks in it is issuing permanent bans. This seems to have started after the upgrade to 2.2.0 and then shortley after wards 2.2.1.

Not sure if this is a bug or a settings problem.

Please advise.
 
Solution
Are you saying that the expected behavior is a "permanent" ban with no expiry date? That would seem to be counterintuitive.
The configuration you posted is set to "While warning points remain at or above threshold" so it remains in force until the warning points drop. There is not an actual expiry date since it does not know when the warning points will expire or otherwise be removed, so it treats it as permanent. If you want it to have an expiry date, you have to use the Temporary option and set a fixed date.

Mike

XenForo developer
Staff member
How are you determining that it's a permanent ban? Are you just looking at the ban record, or is something not happening that you expect?

Technically speaking, the configuration you're showing does create a permanent ban, because the system doesn't know when the user will drop below the threshold (you could add another warning or manually expire a warning). This isn't a changed behavior in 2.2. The system will trigger the unban if needed when the user's warning points value changes.

It's worth mentioning that when the ban has been triggered like this, we do attempt to make a live calculation for when the ban will be lifted and that is displayed to the user if they visit the site.
 

djbaxter

Well-known member
@Mike

The ban is displayed as expiring "Never" instead of the date when warning points will expire and drop the number down to below 10. If I manually edit the ban to make it expire when points total drops below 10 (based on all active warnings for a user), the system correctly unbans at the new correct expiry date.

Are you saying that the expected behavior is a "permanent" ban with no expiry date? That would seem to be counterintuitive.

Or are you saying that to avoid this problem I need to change the settings I displayed above?
 

Mendalla

Well-known member
Are you saying that the expected behavior is a "permanent" ban with no expiry date? That would seem to be counterintuitive.
The configuration you posted is set to "While warning points remain at or above threshold" so it remains in force until the warning points drop. There is not an actual expiry date since it does not know when the warning points will expire or otherwise be removed, so it treats it as permanent. If you want it to have an expiry date, you have to use the Temporary option and set a fixed date.
 
Solution

djbaxter

Well-known member
The configuration you posted is set to "While warning points remain at or above threshold" so it remains in force until the warning points drop. There is not an actual expiry date since it does not know when the warning points will expire or otherwise be removed, so it treats it as permanent. If you want it to have an expiry date, you have to use the Temporary option and set a fixed date.
So even if no expiry date is shown and the ban displays as "permanent", when the points drop below threshold the ban will be lifted? Is that correct?
 

Brogan

XenForo moderator
Staff member
It's not really any different to a manually added "permanent" ban - those can also be reversed.

It's only permanent in the sense that there is no pre-determined expiry date.
 

djbaxter

Well-known member
Right but I needed to know that they would be automatically lifted when the warning points dropped below threshold. As long as that's the case, it's really just a labeling issue and I'm fine with that.
 

Gsk8

Member
So glad I found this thread! I've been confused too and feeling a bit stupid. Coming from VB, the temp bans showed as "temp" - not "permanent" when based on points for warnings. In XF, I'm having a difficult time sorting through my ban list trying to establish who is "temporarily banned via points/threshold" to that of those we perm ban for spam.

So to be clear with the options, am I right in assuming the below?
  • While at or above point threshold - means temporary until the points drop below the threshold and then user is auto-unbanned. But ban will still show up as "permanent".
  • Permanent - means just that. Unless manually lifted.
  • Temporary - means temporary until the points drop below the threshold and then user is auto-unbanned. Ban will still show up as "temporary".
Thanks in advance!
 

Gsk8

Member
For instance, the date of the first expiring point would be the date the ban is lifted. I have over 1800 perm bans, most of which are spammers.
When you look at the list below, you can see that there is both no End Date or Temporary for the "temporary" bans. I manually added one so you could see what I'm looking for.

1604334664989.png
 

Harpers Tate

Well-known member
To make a suggestion here
a) the simplest thing would simply be to reword the term "Permanent" to say instead "Until lifted" (or words to that effect). That would then be less exact but more accurate.
b) or, more complex, to have any action that has a duration determined by an external trigger (such as a Warning Action) to have its own label such as "See Warning Action" or similar.
 
Top