We had a community manager reach out to us because they saw that the number of users on their forum was not rising as well as they were used to.
After some research we found that a lot of users that just signed up were being removed because they were deemed inactive.
This turned out to be because the setting clean_up_inactive_users_after_days was set to 1
So I clicked the history icon and saw that the setting was changed from 730 (two years) to 1,095 (three years) over a year ago.
Yes people, when you enter a comma (or a dot, as is common in non-English speaking countries) as a digit group separator in a numeric site setting, it will silently(!) cut off everything behind the first separator. To make things even worse, this will only become visible after a hard page refresh.
This is a scary one, indeed. We have fixed this here by 1) only allowing numeric inputs in the UI, and 2) removing any non-digits on the back-end for extra safety.
Thanks for the report, Richard! I am also able to replicate what you are describing. It’s all “by design” as of today, except for the 5,0 resulting in 0 in firefox which is a bug. That’s a weird one.
Looks like we do need to take another pass through this, to at least update what the admin sees so it is accurate and does not include the separators. Currently you have to refresh your web browser after saving changes to see it.
But I think we can also do more here to help the admin avoid making these mistakes and avoid being confused by them. It feels wrong to me that you can put in “364.5 days” for suggested topics max days old and have that turn into 3645 days. Maybe we just don’t allow non-numbers to be entered in these types of fields.
We previously sanitized input for integer site settings
on the server side only, which was a bit confusing when
users would enter e.g. 100.5 and end up with 1005, and
not see this reflected in the UI.
Now that we are using native number inputs for these settings,
we can improve the experience a bit by not allowing . or ,
in the input, because it should be whole numbers only, and
add a step size of 1. All other characters are already prevented
in this native number input.