Page MenuHomePhabricator

Android application does not display custom AbuseFilter messages
Closed, ResolvedPublic

Description

Steps to reproduce:

Go to enwiki, and using the Android application, add the string "work=Trafford Publishing" to Draft:Sandbox

Expected result: The message at MediaWiki:Abusefilter-warning-selfpublished is displayed:

Actual result: This irrelevant message is displayed:

An automated filter has identified this edit as potentially unconstructive. It may contain one or more of the following:

· Typing in all caps
· Blanking articles or spamming
· Irrelevant external links or images
· Repeating characters· Irrelevant external links or images

Similarly, for a custom disallow message, this is displayed:

An automated filter has identified this edit as potentially unconstructive, or potential vandalism.

Wikipedia is an encyclopedia and only neutral, notable content belongs here.

Tested with: Android 9 with app version 27.50341-r2021-02-02

This is a problem because the messages don't provide any indication of why the filter tripped; are they supposed to have memorized a list of self-publishing houses, for example? Furthermore, there's no link to our false positives page, so what are they supposed to do when the filter gets it wrong?

Event Timeline

Yes. What other app can be used to edit enwiki?

Daimona triaged this task as High priority.Mar 2 2021, 8:45 PM
Daimona added a subscriber: Daimona.

This is problematic for several reasons:

  • For maintainers:
    • More code to maintain, for handling the various error types (warn, disallow, etc)
    • Messages that should be kept up-to-date
    • Translations of those messages
  • For users:
    • While whoever wrote those messages thought that they would make it easier to understand an AF action, they actually make it worse, because they show generic info
    • Any additional information, e.g. where to report false positives (as mentioned above) is also missing

AbuseFilter returns detailed information for API edits, including which message should be displayed, and this information could just be passed through, but I'm failing to understand why this code is reinventing the wheel instead.

LGoto lowered the priority of this task from High to Medium.Mar 22 2021, 4:23 PM
LGoto moved this task from Needs Triage to Product Backlog on the Wikipedia-Android-App-Backlog board.

Thank you for creating this @suffusion_of_yellow and for your additional feedback @Daimona.

I want to acknowledge the receipt from the Android team and that we are planning to evaluate gaps in communication on the Android app these next few months and determine what things we can fix within our team and what may be back end challenges we may need to request support from other teams to address. I will attach the project page for that effort , including timelines in the coming days. The concerns here and in the parent task will be represented on the project page.

Look forward to collaborating and thank you again for raising all of this, it is helpful.

Looks good to me on 2.7.50356-alpha-2021-05-10

Tested with 2.7.50357-alpha-2021-05-10.

A vast improvement, thank you!

But still one problem. I don't know if it's a problem with the app, the API, or AbuseFilter:

If a wiki has locally overridden MediaWiki:Abusefilter-disallowed or MediaWiki:Abusefilter-warning, the MediaWiki default messages still displays. The non-standard message, e.g. MediaWiki:Abusefilter-disallowed-my-custom-message, work fine.

This is a problem on enwiki because we've customized our message to link to a false positives report page. The default message just tells the user to "inform an administrator" which isn't very helpful.

@suffusion_of_yellow Thanks for checking it out --
Yes, what you describe is likely a limitation of the API. How are you triggering the default message from the app on enwiki? All of my experimentation seems to be triggering more specific filters.

@Dbrant: Try making any edit to https://en.wikipedia.org/wiki/Wikipedia:Edit_filter/Message_tests. Filter 1147 will disallow all edits to that page, (currently) with the default disallow message.

@suffusion_of_yellow Could you try the latest alpha: https://github.com/wikimedia/apps-android-wikipedia/releases/download/latest/app-alpha-universal-release.apk

I added an extra API parameter that should now force it to use site-specific MediaWiki messages instead of the default ones.

Tested in 2.7.50359-alpha-2021-05-27 on enwiki

All messages display correctly, but internal links open in the browser (as if they were external). I'm not sure if this is new; I don't remember clicking on a link in the previous test.

Also now any successfully saved edit now gives me "Edit failed! Received unrecognized edit response" even though the edit saves. Not sure if that's related to this.