Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Add a static analyzer for the filter language | mediawiki/extensions/AbuseFilter | master | +1 K -171 |
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | Nullzero | T260903 Create a static analyzer for the filter language | |||
Resolved | Nullzero | T238709 The parser should be more lenient | |||
Open | None | T237610 Syntax validation should flag unused variables | |||
Open | None | T290454 Create a new RuleChecker class to transform string rules into result objects | |||
Open | None | T234690 Syntax checker fails to account for scoping |
Event Timeline
Change 551966 had a related patch set uploaded (by Daimona Eaytoy; owner: Nullzero):
[mediawiki/extensions/AbuseFilter@master] Add a static analyzer for the filter language
This would require dropping the old parser, for which see T239990#6717693. I will continue working on this after the overhaul.
Change 551966 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Add a static analyzer for the filter language
Should this go in Tech/News as an advanced item, or should we just have people find out via user delight?
Something should be said somewhere, though something in non-geek would be helpful. The documentation on the gerrit is okay, though maybe we can explain it in terms of the outputs that it will produce and where/how it will be seen.
There shouldn't be any big difference from the user perspective. Assuming that changes to error messages don't need to be announced, the main difference is that (paraphrasing from gerrit):
a := [1]; false & (a[] := 2); a[0] === 1 will evaluate to true, while it used to evaluate to false
Which I think matches the common sense and general expectations of people writing AF rules. I'm also unsure about the amount of filters that use user-defined array variables, especially in a conditional fashion as in the example above. All in all, I feel that adding this to tech news would primarily be just noise.