Page MenuHomePhabricator

Abuse filter does not allow for use of old_text or old_html
Closed, ResolvedPublic


Author: delbu9c1

In the details of the abuse filter log -- such as -- one can clearly see the presence of the old_text and old_html variables. These variables are clearly documented at

However attempting to use these variables in a filter results in a syntax error for unknown variables:

"abc" in old_text

results in

Syntax error detected: Unrecognised variable old_text at character 8

new_text and new_html work fine.

This is a problem because to use new_text or new_html, a proper filter often needs to also check old_text or old_html, respectively. Enwiki in particular is dealing with a particular vandal against whom new_text is the only appropriate choice, but without old_text this filter is encountering false positives.

Looking at the source code, old_text and old_html already appear to be implemented, it just seems that old_text and old_html are just not recognized by the abuse filter parser for some reason.

Version: unspecified
Severity: minor



Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 11:07 PM
bzimport added a project: AbuseFilter.
bzimport set Reference to bz23027.
bzimport added a subscriber: Unknown Object (MLST).

They are deliberately disabled for performance reasons. Some engineering would be required to bring them to a state where they would not bring the site down.

Can you elaborate? I don't understand how retrieving the static HTML would be problematic.

It requires reparsing the old text, which in some cases can take tens of seconds. Of course, the old text has already been parsed at some point, but some engineering is needed to actually retrieve this parsed HTML from the appropriate cache.

old_wikitext is available. Is there is use case for old_html or old_text ?

  • This bug has been marked as a duplicate of bug 24310 ***
  • This bug has been marked as a duplicate of bug 22075 ***