<div dir="ltr">+100<br><div><br></div><div>Also a tip for those of you wanting to clear up the resulting email spam: you can temporarily turn off "conversation mode" in Gmail's settings, then search for messages from CommunityTechBot or the spammer, and delete all these emails without having to delete the threads they belong too.</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 2 Jul 2018 at 18:18, Joel Aufrecht <<a href="mailto:jaufrecht@wikimedia.org">jaufrecht@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Thank you Leon for this heroic effort, and thanks to everyone who helped in this cleanup. </div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 2, 2018, 9:58 AM Leon Ziemba <<a href="mailto:musikanimal@wikimedia.org" target="_blank">musikanimal@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>The bot has now completed it's run. If you see any outstanding tasks that need to be repaired, please give me the task IDs.</div><div><br></div><div>The bot ran for roughly 36 hours, repairing at least 4,000 tasks (perhaps many more).</div><div><br></div><div>There were some issues with the bot that may still affect your tasks:</div><div>* The triage level was not restored, or was put in "Needs triage". This was fixed around 16:00 UTC on July 1. Hundreds of tasks were affected.</div><div>* For most of the bot's run, it was subject to a newly imposed rate limiting. If the rate limit was hit in the middle of repairing a task, the bot may not have fixed everything. Many tasks were affected. This issue was fixed around 15:00 UTC on July 1.</div><div>* For some tasks, the vandal removed tags as well adding some. The bot did not properly restore the removed tags until around 12:00 UTC on July 2. The number of tasks affected by this is estimated to be low.</div><div>* Some tasks have "custom fields" that were vandalized, which the bot did not restore. An example is the "due date" on <a href="https://phabricator.wikimedia.org/T193593" rel="noreferrer" target="_blank">https://phabricator.wikimedia.org/T193593</a>. The number of tasks affected by this should be very low.</div><div><br></div><div>If you notice any tasks where the bot didn't fix everything, and you don't want to fix it yourself, just give me the task IDs and I can re-run the bot on those.</div><div><br></div><div>Thanks to Andre, Mukunda, and everyone else to helped with this effort.</div><div><br></div><div>~Leon</div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 1, 2018 at 8:49 PM Mukunda Modell <<a href="mailto:mmodell@wikimedia.org" rel="noreferrer" target="_blank">mmodell@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Leon. I can't thank you enough for your efforts to help clean things up in Phabricator. I can, however, help make the bot more effective. See below for responses inline.<div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 1, 2018 at 10:47 AM Leon Ziemba <<a href="mailto:musikanimal@wikimedia.org" rel="noreferrer" target="_blank">musikanimal@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">An update... the bot went to sleep as instructed a few hours after I went to sleep. Bot is now back up and running, with some ~4,500 tasks still to fix.<div><br></div><div>A few problems:</div><div>* The new "rate limiting" of the API is rather rigorous. Release engineering tried to whitelist the bot but we had no luck. So, it will take some time to go through everything.</div></div></blockquote><div><br></div><div>I'm still looking into why the bot hits the rate limit. I'm sure I can come up with a way to get it whitelisted.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>* If the bot hits the rate limit while editing a task, all other changes it was going to make to that task didn't happen. Hence you may see only some corrections on some tasks.</div><div>* The priority level is now being set to "Needs triage". This is because the Conduit API gives me numbers for the priority level, and the edit API wants a string (?!?). I don't know what numbers are for what priorities, so "Needs triage" it is. Older versions of the script left the priority level unchanged, so either way you may wish to review the priorities of your tasks. If you know what the priority number to string mapping is, please tell me :)</div><div><br></div></div></blockquote><div><br></div><div>If you would like to alter the bot to restore the correct priority, this should help; The priority levels are configured as follows:</div><div><br></div><div><div><font face="monospace, monospace">{</font></div><div><font face="monospace, monospace"> "10": {</font></div><div><font face="monospace, monospace"> "color": "sky",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "lowest"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "Lowest",</font></div><div><font face="monospace, monospace"> "short": "Lowest"</font></div><div><font face="monospace, monospace"> },</font></div><div><font face="monospace, monospace"> "25": {</font></div><div><font face="monospace, monospace"> "color": "yellow",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "low"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "Low",</font></div><div><font face="monospace, monospace"> "short": "Low"</font></div><div><font face="monospace, monospace"> },</font></div><div><font face="monospace, monospace"> "50": {</font></div><div><font face="monospace, monospace"> "color": "orange",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "normal"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "Normal",</font></div><div><font face="monospace, monospace"> "short": "Normal"</font></div><div><font face="monospace, monospace"> },</font></div><div><font face="monospace, monospace"> "80": {</font></div><div><font face="monospace, monospace"> "color": "red",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "high"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "High",</font></div><div><font face="monospace, monospace"> "short": "High"</font></div><div><font face="monospace, monospace"> },</font></div><div><font face="monospace, monospace"> "90": {</font></div><div><font face="monospace, monospace"> "color": "violet",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "triage"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "Needs Triage",</font></div><div><font face="monospace, monospace"> "short": "Triage"</font></div><div><font face="monospace, monospace"> },</font></div><div><font face="monospace, monospace"> "100": {</font></div><div><font face="monospace, monospace"> "color": "pink",</font></div><div><font face="monospace, monospace"> "keywords": [</font></div><div><font face="monospace, monospace"> "unbreak"</font></div><div><font face="monospace, monospace"> ],</font></div><div><font face="monospace, monospace"> "name": "Unbreak Now!",</font></div><div><font face="monospace, monospace"> "short": "Unbreak!"</font></div><div><font face="monospace, monospace"> }</font></div><div><font face="monospace, monospace">}</font></div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Cheers,</div><div><br></div><div>~Leon</div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 1, 2018 at 5:32 AM Max Semenik <<a href="mailto:maxsem.wiki@gmail.com" rel="noreferrer" target="_blank">maxsem.wiki@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We've got ourselves da MVP!<br>
<br>
On Sun, Jul 1, 2018 at 12:51 AM, Leon Ziemba <<a href="mailto:musikanimal@wikimedia.org" rel="noreferrer" target="_blank">musikanimal@wikimedia.org</a>><br>
wrote:<br>
<br>
> I wrote a rollback script, currently running as CommunityTechBot<br>
> <<a href="https://phabricator.wikimedia.org/p/CommunityTechBot/" rel="noreferrer noreferrer" target="_blank">https://phabricator.wikimedia.org/p/CommunityTechBot/</a>> and previously<br>
> Community<br>
> Tech bot <<a href="https://phabricator.wikimedia.org/p/Community_Tech_bot/" rel="noreferrer noreferrer" target="_blank">https://phabricator.wikimedia.org/p/Community_Tech_bot/</a>>. It<br>
> seems to work, aside from setting the triage level, which hopefully isn't a<br>
> huge deal. I can try to fix that later. It is also being slowed down by<br>
> rate limiting. The script isn't quite shareable yet but when it is I'll<br>
> publish it. Going to sleep now :)<br>
><br>
<br>
-- <br>
Best regards,<br>
Max Semenik ([[User:MaxSem]])<br>
_______________________________________________<br>
Wikitech-l mailing list<br>
<a href="mailto:Wikitech-l@lists.wikimedia.org" rel="noreferrer" target="_blank">Wikitech-l@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/wikitech-l" rel="noreferrer noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/wikitech-l</a></blockquote></div>
_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" rel="noreferrer" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
</blockquote></div></div></div>
</blockquote></div>
_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" rel="noreferrer" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
</blockquote></div>
_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
</blockquote></div>