Page MenuHomePhabricator

Testing large edit filters fails with "Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://en.wikipedia.org/w/api.php..."
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • With edit filter rights create a large edit filter (of the length of en.wikipedia edit filter 614 or longer)
  • Open the browser console
  • Use "Test this filter against recent edits"
  • Press the Test button

What happens?:

  • You will see errors at various stages. The critical one is the last: this is the point that the test fails to run. The software returns "true" so no error is displayed.

What's wrong:

  • The api is being invoked with GET, this is failing due to the length of the (url-encoded) filter being added to the URL.
  • Note that the non-breaking errors indicate that we are probably using other GETs which may be completely un-necessary.

Confirmation test

  • Perform the same tests with a short filter, no issue arises.

What should have happened instead?:

  • The API should be invoked using POST, the call should succeed and the test results should be returned.
  • If the API call fails the user should be notified.

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

  • Tested on Chrome, Brave and Edge.

Event Timeline

Change #1239324 had a related patch set uploaded (by Dragoniez; author: Dragoniez):

[mediawiki/extensions/AbuseFilter@master] Use POST for abusefilterchecksyntax requests

https://gerrit.wikimedia.org/r/1239324

Change #1239324 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] Use POST for abusefilterchecksyntax requests

https://gerrit.wikimedia.org/r/1239324