Board Thread:New Features/@comment-1526346-20160902104505/@comment-452-20160920180732

The original and continued purpose is having all the reports immediately available, so I won't be adopting your first suggestion.

I had considered having them labelled with "Special:" and "Category:", but chose not to due to space concerns, and the fact that I could easily tell the difference.

Unlike the previous version of MaintenanceReport, the list is the same as defined in the Arrays, with Specials first and Categories second. The previous version ended up mixed, due to empty reports always being listed below populated reports, as well as race conditions.

Anyone who can't tell the difference between "Wantedpages" and "Cleanup", and want to add "Special:" and "Category:" labels for themselves can easily do so. And, as I said, anyone who uses the script should customise the lists to make them relevant to themselves anyway.

I've updated the script with a few minor changes, as well as fixing a small logic problem:

When performing an intersection, comparing 2 worked fine, but when comparing 3 or more lists, any time the previous comparisons resulted in an empty array, the next loop filled the array with the entire next list. But that is fixed now.

I could have caught that bug earlier by performing more rigorous tests, but if a multi-million dollar corporation can get away with insufficient testing, I can too.

Edit: I've also just added another user-defined array "defaults", which should contain items from the previous arrays which should be listed by default. This makes the default results more similar to the previous incarnation of MaintenanceReport, and several fewer clicks before relevant information is visible. As with the other Arrays, it should be customised by whoever uses the script to make it more relevant to themselves.