Found this while playing around, adding for review and QA purposes with a fix.
To reproduce:
- Go to Special:RecentChanges
- Clear out filters
- Choose "Newcomers" and "Changes by you"
- Refresh.
Result - "Changes by you vanishes" (!!!)
The reason for this is that we treated parameters as numbers (0 and 1) when in fact they are strings ('0' and '1') and so when we check for truthiness, both !'0' and !'1' are true, which made all 'full coverage' groups always all-true, and hence, all-false, which made the filter disappear in the normalization when refreshing.
Unit tests also collected parameters as if they're numbers, which is not what we do in reality, so unit tests passed even though things failed in reality. I fixed that in the commit as well.