[01:03] wgrant: https://code.launchpad.net/~stevenk/launchpad/do-not-validate-bugwatch-on-delete/+merge/191543 [01:04] StevenK: r=me [01:09] wgrant: Javascript, since I've marked the MP as Needs Review? [02:51] wgrant: What about your favourite topic, microservices and the releases of auditor{,fixture,client}? [03:17] StevenK: Have you tested the JS for XSSes? [03:18] I think it's okay in that respect. [03:18] You thought so last time too :P [03:19] But it looks much better this time [04:08] wgrant: https://code.launchpad.net/~stevenk/launchpad/use-transitionToStatus-createManyTasks/+merge/191554 [04:17] StevenK: That's not clearly correct. [04:17] StevenK: It'll now create items in the activity log and send emails. [04:20] wgrant: I don't see anything in IBugTask.transitionToStatus() that notifies [04:21] ah, right, it's the terribly broken subscriber model that does that. [04:23] I can refactor out the reseting and setting attribute logic so that createManyTasks and transitionToStatus both call it. [04:23] How expensive is transitionToStatus? [04:25] It checks if the user can edit the status, switches the status and sets columns based on the status [04:25] So, createManyTasks is meant to be vaguely efficient [04:25] Sure [04:25] It currently isn't great, because it calls a separate method to update the target name cache [04:26] But transitionToStatus will make it a lot worse. [04:28] :-( [04:34] wgrant: But we're only updating a few columns of one row? [04:35] Or is it the horrible zope subscribers that are defeating us? [04:43] StevenK: Confused [04:43] StevenK: You're making various auth queries, then setting a few columns on a row, for several rows. [04:49] wgrant: So we refactor out the reset and setting logic out of transitionToStatus(), and then no auth queries.