Page MenuHomePhabricator

[Microtask generator] Bugs
Closed, ResolvedPublicBUG REPORT

Description

⚠️They are ordered by relevance according to @SEgt-WMF , but will be reviewed by @Isaac as well 😊

  • Pageviews column treats large numbers as decimals when sorting

When sorting the pageviews column numerically, values like "100333" are being interpreted as "100.333" due to comma/thousands separator parsing issues. This results in an incorrect sort order, with smaller numbers appearing before larger ones.
Expected: Pageview numbers should be sorted as integers, with proper handling of thousands separators. "100,333" should sort higher than "50,000" and lower than "200,000".

  • Replace standalone quality column with integrated quality progress bar

The current "Quality" column occupies space and duplicates information already shown in the progress bar.
Expected: Remove the separate Quality column and incorporate the term quality directly into the progress bar column (e.g., "Quality progress: 65%"). This simplifies the interface and reduces visual clutter.

  • Clarify "Add References" vs. "Add Sources" in micro-tasks

The micro-task generator offers two seemingly similar task types: "Add References" and "Add Sources." This distinction is unclear to users.
Expected: Provide tooltips or inline documentation explaining the difference (e.g., "Add References" = citation needed tags; "Add Sources" = articles lacking any sources). Alternatively, consider merging or renaming for clarity.

  • Remove regions from "topics" and just leave regional selectors as part of countries.

Expected: Any topic from the articletopic model that starts with "Geography" is excluded.

  • Fetch pageview counts even when titles need to be normalized. Right now, if the first letter in the title is lowercase, features like topics/quality still work but pageviews return zero. Note: this seems to be relevant to language link counts in the current MR too so will need fixed there too.

Expected: Use the output of the revision API call to set the canonical name for the article and use that for any future API calls. If this means that we also only use the canonical titles in the output table (post normalization/redirects) and not the specific titles input by the user, I think that's okay.

  • Make results table sortable

The output table is currently static. Columns (e.g., article title, quality signal, namespace, etc.) should be sortable so users can prioritize tasks more easily.

  • Incorrect status shown for non-existing articles

When an article in the input list does not exist on the target wiki, the tool sometimes shows “Up to date”, which is misleading.
Expected: Non-existing pages (e.g., Telugu: మాక్స్ వెబర్) should be clearly flagged as *“Page does not exist”* (or similar), not treated as valid articles.

  • Namespace handling bug with category results that include Talk pages

When categories return pages from Namespace 1 (Talk:), the tool should remove everything before the colon to get the correct names of articles
Expected: Talk:ArticleName becomes ArticleName.

  • Duplicate recommendations in output

The same article can appear multiple times in the recommendation list.
Expected: Each article should appear only once per generated task list.

  • Don't split page titles on commas

Commas are acceptable values in page titles. For example, if I wanted data on en:Paris, Texas, the tool actually splits this into en:Paris and en:Texas. Newline should be the only split character in that input method I think.

  • Unhelpful error messages

Errors such as “Error fetching article quality” do not guide the user.
Expected: Provide actionable guidance, e.g., suggest reducing batch size, retrying after a short wait, or indicating possible API latency/timeout (may be related to existing latency ticket).

  • No loading indicators for long operations

When processing large lists, the interface appears unresponsive, which may lead users to think the tool has frozen.
Expected: Show a loading indicator or progress state during long-running requests.

Event Timeline

Thanks! A few thoughts on what's included:

  • I'd move Unhelpful error messages to a larger task about documentation
  • I also added No loading indicators for long operations (excellent idea) to a larger task about latency: T415710: [Microtask generator] Reduce latency / load for tool and external APIs. I think reasonable to prioritize it but it felt important consider in the context of all the possible things we might do in that space. If that works for you @SEgt-WMF, I'd say we can remove it from the list here.

A few thoughts on addressing some of the bugs:

  • Re namespace handling and talk pages: @Mercyoyelakin just to reiterate what we discussed, you can extend the cmnamespace parameter when you call categorymembers to be 0|1 (main and talk namespace) and then for each result, just check whether it's in the 1 namespace and if so, remove everything before the colon in the title -- e.g., title.split(":", maxsplit=1)[-1]
  • Re "Incorrect status shown for non-existing articles", presumably can catch when an article doesn't exist from whether you get a revision out of get_latest_revision_id.

@SEgt-WMF and @Mercyoyelakin I'm thinking we can drop the more generic geography topics -- e.g., "Western Europe" -- from the topic list now that Mercy has incorporated the countries -- e.g., "Portugal", "Spain", etc.

If folks are onboard, I think we can file as a minor bug here and @Mercyoyelakin you can fix when you get a chance (but not urgent)?

Hum, I think generic geographic topics make sense, especially since some organizers are looking for region-specific tasks (e.g., LatAm, CEE). With Hubs now available, I'd love to know if this simplifies things for them. What do you think, @Isaac?

SEgt-WMF renamed this task from Microtask generator bugs to [Microtask generator] Bugs.Feb 17 2026, 5:12 AM
SEgt-WMF updated the task description. (Show Details)

Hum, I think generic geographic topics make sense, especially since some organizers are looking for region-specific tasks (e.g., LatAm, CEE). With Hubs now available, I'd love to know if this simplifies things for them. What do you think, @Isaac?

@SEgt-WMF one piece of context that's guiding my thinking: the specific country labels that come from the articlecountry model are more accurate than the general region predictions that come from the articletopic model (mostly in higher recall but presumably also in higher precision too though I haven't tested that). So part of my desire to get rid of the regions is that I'd rather we just depend on the countries as the source of data (even if we do some additional aggregation to make them more accessible). I see the UI benefits though by looking at your example of CEE, which has way too many countries to individually check (Albania, Armenia, Azerbaijan, Belarus, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Cyprus, Estonia, Georgia, Greece, Hungary, Kazakhstan, Kosovo, Latvia, Lithuania, North Macedonia, Malta, Moldova, Montenegro, Poland, Romania, Russia, Serbia, Slovakia, Slovenia, Turkey, Ukraine). So new suggestion: we add some hierarchy or broader region selectors to the country filters. Content Translation uses continents but in our data, there are already other UN regions and grant-making regions available too. Are any of those a good fit or would you want to define additional ones based on your experience with organizers?

As far as UI then, I guess this would be a hierarchical selector where you'd initially be presented with the list of regions and could either select the full region or open it up and select individual countries from it. Similar to this screenshot of ContentTranslation, which I see you uploaded (yay! thank you!) so I'm sharing more for others than for you.

This is a great idea @Isaac, @Mercyoyelakin please let us know if you need help implementing the hierarchical region selector

@SEgt-WMF thanks, I added part of it then to the task. Do you have a preference on which hierarchy to use? Just start with continents as the current approach in Content Translation or do you think there's a better fit here?

I would think WMF-regions make more sense because so many organizers work with that logic but if not possible the content translation approach works @Isaac?

Please close this task as Resolved if complete. Thanks!