I'm trying to setup a system of temporary bans based on warning points, but instead of XF's very draconian ban option that locks out users from everything (including the PMs of why they were banned,) I've instead setup the Banned user group to highly restrict permissions; users on it can view the forums and view and use PMs. This part works as intended.
The problem is the warning action. For example, in my current testing this is what happens.
100 warning points temporarily adds the user to the banned usergroup for 1 day. Now, suppose it's determined that the ban was unjustified, and an admin reverses the ban and removes the points.
I'm just guessing on this, but it seems like that when the usergroup is manually removed, that was originally added through warning action; there's a hidden timer for that groups expiration that isn't cleared or checked. Oddly enough though, it seems it prevents the user from being automatically added to the Banned Users group again until that hidden timer expires. In my example, no amount of points for any threshold will move the user into the Banned Users group - if I wait a day, to when the original ban expired, then the warning actions work properly again.