Page MenuHomePhabricator

Special:UnreviewedPages cache should contain pages from all namespaces
Open, Needs TriagePublicFeature

Description

Feature summary

In miser mode, Special:UnreviewedPages only shows at most 5000 unreviewed pages. Currently, the cache is shared between namespaces (even though the special page itself forces the user to select a namespace, so it’s impossible to show unreviewed pages from all namespaces at once), which means that if a namespace contains more than 5000 unreviewed pages, it may cause all other namespaces’ lists to be empty, even if those namespaces also have unreviewed pages. The cache should be modified to contain pages from all namespaces that have unreviewed pages.

The easiest solution is to simply query at most 5000 pages from each flagged namespace, and concatenate them. This could in edge case multiply the query page cache’s size by the number of flagged namespaces, but since this is quite an edge case, the multiplier is still a constant (implicitly) set in LocalSettings.php, and the 5000 seems to be arbitrary value anyways, I don’t think it would cause issues.

Use cases

Using Special:UnreviewedPages in wikis that have a very large number of unreviewed pages. Several bug reports (T300970, T307857, T309429) could hopefully be resolved by this feature.

Benefits

Reviewing in different namespaces require different attitudes. If someone specializes on reviewing files or templates, they won’t be prevented by unreviewed pages in namespaces they don’t want to review.

Event Timeline

@Ladsgroup are you aware of the existence of this bug? It seems like an important regression from how it functioned before.

I can take a look but I don't maintain FR. It's just my volunteer capacity (FR is fully unowned) so it might take a bit.

It seems like an important regression from how it functioned before.

Please note that it’s not a regression in a technical sense: what happens (and, as far as I’m aware, has always happened) is that the first 5000 results are displayed, and the list is primarily sorted by namespace. If you keep up and don’t have more than 5000 unreviewed pages across namespaces, all unreviewed pages appear. If you don’t keep up that much, unreviewed pages from higher-numbered namespaces start to disappear. If you don’t keep up at all, and have more than 5000 unreviewed pages in mainspace alone, no pages from any other namespace appear. So if you feel like it’s regressed, it’s just because your community stopped keeping up with the new pages. (And indeed: there are over 65k unreviewed articles on ruwiki – making one in thirty articles unreviewed! Which is bad; but nothing to blame anyone for, we’re all volunteers.)

Well, previously all of the results were available in those API requests; now, only a small amount of it, even though it is an important part of workflow. So I’d consider it a regression from the previous state.

(Discussing whether a specific community is failing at reviewing seems like a distraction from the technical issue at play that can and should be fixed. This also prevents people from effectively reviewing more pages in areas where they are familiar with, as @Facenapalm wrote out in T314878: Filtering by category is broken at Special:UnreviewedPages.)

Well, previously all of the results were available in those API requests

Which API requests? This task has been only about a special page until now, not about any sort of API. (I don’t use the API of FlaggedRevs, so I’m not really familiar with it.) Also, can you roughly tell what that “previously” means, i.e. when it was last working as expected and when it was first not working? It probably doesn’t help fixing the issue, but it does help understanding the background.

(Discussing whether a specific community is failing at reviewing seems like a distraction from the technical issue at play that can and should be fixed.

I don’t want to distract. I recognize and agree that this is a problem that needs a technical fix – which is why I opened this task in the first place. I just wanted to explain how it became more visible.

This also prevents people from effectively reviewing more pages in areas where they are familiar with, as @Facenapalm wrote out in T314878: Filtering by category is broken at Special:UnreviewedPages.)

Actually, my proposal won’t fix that: my proposal is that we include the first 5000 pages in each namespace, which will make the first 5000 files and all unreviewed pages show up on ruwiki (which are currently hidden), but it won’t make the last 60k articles show up, and as a result, still only category members that happen to be in the 5000 will appear when filtering. (It would improve results for categories that contain non-mainspace pages, but the example in T314878 contains only articles.)