Sep 13 2018
Oct 20 2017
Oct 16 2017
Oct 14 2017
This script inserted zeroes (the user ID zero, suggesting a CU lookup failure) into the blacklists of a few thousand users, and possibly broke all notifications for them. See T177825#3685628.
@He7d3r I don't think ccnorm_contains_any solves anything for https://pt.wikipedia.org/wiki/Special:AbuseFilter/18.
It literally translates to contains_any(ccnorm(param1), ccnorm(param2), ...) so you still have the boundaries issue.
Oct 11 2017
We want to detect edits which add any expression from a given list of "words". We need to use regexes in order to specify this list, because:
- We need to check for word boundaries to avoid false positives (e.g.: "VIADO" vs "AVIADOR")
- Each word has many variations (e.g. BANDID(?:AO|ONA|INH[AO]) matches 4 specific variations of a single word while not matching variants which would increase the number of false positives)
- Some characters are not normalized as we want (e.g. ccnorm('ÈÉÊẼÌÍÏÓÒÔÕ∅Q̃ÚŰÜŨ') == 'EEEEIIIOOOOOQUUUU' should be true), so we use character classes inside the regexes to deal with these cases.
Oct 10 2017
@He7d3r: I can't parse what https://pt.wikipedia.org/wiki/Special:AbuseFilter/18 is trying to do. Can you give us a simplified use case here? The use case that ccnorm_contains_any() was written to address is the one in the description:
ccnorm_contains_any( added_lines, "testing", "vandalizing" )
Change 383183 merged by jenkins-bot:
[mediawiki/extensions/Echo@master] updatePerUserBlacklist wfWaitForSlaves()
Change 383183 merged by jenkins-bot:
[mediawiki/extensions/Echo@master] updatePerUserBlacklist wfWaitForSlaves()
Oct 9 2017
General reminder: Please add codebase projects like Notifications so such tasks can be found when searching for tasks in that codebase project. Thanks.
Change 383183 had a related patch set uploaded (by Hashar; owner: Hashar):
[mediawiki/extensions/Echo@master] updatePerUserBlacklist wfWaitForSlaves()
@hashar is a boss man and fixed the bug and ran the script. This is done!
Change 383183 had a related patch set uploaded (by Dbarratt; owner: Hashar):
[mediawiki/extensions/Echo@master] updatePerUserBlacklist wfWaitForSlaves()
Change 383182 merged by jenkins-bot:
[mediawiki/extensions/Echo@wmf/1.31.0-wmf.2] updatePerUserBlacklist wfWaitForSlaves()
Mentioned in SAL (#wikimedia-operations) [2017-10-09T19:50:42Z] <hashar@tin> Synchronized php-1.31.0-wmf.2/extensions/Echo/maintenance/updatePerUserBlacklist.php: Sync a live hack in Echo updatePerUserBlacklist https://gerrit.wikimedia.org/r/#/c/383182/ - T173475 (duration: 00m 47s)
The updatePerUserBlacklist script required a live hack. I did a commit for the wmf branch but that needs to be ported to the master branch https://gerrit.wikimedia.org/r/383182 updatePerUserBlacklist wfWaitForSlaves()
Change 383182 had a related patch set uploaded (by Hashar; owner: Hashar):
[mediawiki/extensions/Echo@wmf/1.31.0-wmf.2] updatePerUserBlacklist wfWaitForSlaves()
The deploy failed (again)
Mentioned in SAL (#wikimedia-operations) [2017-10-09T19:17:52Z] <hashar@tin> Synchronized php-1.31.0-wmf.2/extensions/Echo: Reapply "Use User Ids instead of User Names for Echo Mute"" - T173475 (duration: 00m 52s)
Change 383173 merged by jenkins-bot:
[mediawiki/extensions/Echo@wmf/1.31.0-wmf.2] Reapply "Use User Ids instead of User Names for Echo Mute""
Change 383173 had a related patch set uploaded (by Hashar; owner: Hashar):
[mediawiki/extensions/Echo@wmf/1.31.0-wmf.2] Reapply "Use User Ids instead of User Names for Echo Mute""
Could you also add examples which applicable to T65242#3669911 (T29987#324746), if possible?
I'm having a hard time trying to see if/how this can be used to deal with the original use case mentioned at T29987#324746. Our regexes are less readable then ever:
https://pt.wikipedia.org/wiki/Special:AbuseFilter/18
Tim's proposal would still help (since the special character "|" of the regexes would not be normalized), but I'm not sure if we can use this new function to improve things a little...