[12:46] Oh, bugger. Better grab some food. [12:46] * gmb -> lunch [12:59] gmb, changes look good, thank you [12:59] and incidentally, bzr diff -r5 has a significantly different output than bzr diff -r-5 [13:16] Heh [13:20] * bac relieved. the first two times i tried doing QA with our overlay, qastaging died. i was beginning to wonder if it was causal. [13:22] weird anyway, though :-/ [13:23] danilos, your mic working today? [13:24] gary_poster, surprisingly, yes (and I first got a cheap headset for 6 euros, spent 20 minutes getting that one to partially work, and then just tried my regulard logitech USB headset and the mic worked); so, now I've got an extra headset just-in-case [13:24] heh [13:24] ok [13:24] and also weird :-) [13:28] bac benji danilos gmb call in 2 [13:29] k [13:31] danilos pyoo hoo [13:31] heh [13:31] thant's a combination of ping and yoohoo [13:31] mumble won't take my "unmute" clicks [13:31] bah [13:32] bah [13:32] I can hear you [13:32] 1 sec [13:34] :((( it's up at 100% cpu [13:39] danilos: how goes the "revert lousy xss fix"? [13:40] gary_poster, it's landing, not sure why it didn't land yesterday [13:40] ok [13:40] and how about add button on structural subscriptrion page [13:40] gary_poster, didn't get any emails from ec2 or pqm, so I resubmitted [13:40] gary_poster, should be up for review in an hour or two [13:42] gary_poster, however, it seems mumble is the cause of all my sound troubles, because I tested with skype earlier today and it all worked fine [13:45] danilos can you get on Skype then? [13:45] gary_poster, well, not with my regular USB headset, but yes with the new one [13:45] danilos please do it then :-) [13:45] or well, a combination [13:54] grr, that's a stupid place to put that button [14:02] danilos: Are you sat inside a washing machine? [14:02] gmb: :) [14:02] gmb, hahaha, something like that [14:03] gmb, my setup is a bit weird atm, I am using one headset to listen in, and another for the microphone [14:03] Heh, lovely. [14:05] https://wiki.canonical.com/StayingInTouch/Video [14:08] gary_poster, when do we have our call? I'd like to get some food and get my old headset working [14:08] fwiw, i'm +1 on using skype as it frees me from being tethered to my laptop. (i always get the urge for tea when these calls start.) [14:09] danilos, propose a time :-) [14:10] gary_poster, 1h50mins? [14:10] wfm danilos [14:10] *in* [14:10] gary_poster, excellent, then it's a deal :) [14:10] :-) cool [14:17] hi benji, could you have a look at https://code.launchpad.net/~bac/launchpad/person-in-team/+merge/55928 [14:17] it's quite short [14:17] sure [14:20] bac: approved [14:20] benji: thanks [14:41] gary_poster: i have the outstanding task of blogging about bug 164196 -- any reason not to do that now? [14:41] <_mup_> Bug #164196: Quickly-undone actions shouldn't send mail notifications < https://launchpad.net/bugs/164196 > [14:41] bac, sure. [14:42] any subtleties to the way it works? [14:43] gary_poster: btw, i never heard back from sarah. perhaps you should ping her today. [14:44] bac, subtleties: ...thinking. to start with the obvious: if there's a non-undone action, all bets are off. In particular, [14:44] If I do something [14:44] make a comment [14:44] and then undo it [14:44] then you'll get it all [14:44] also [14:44] it is within our collection window for events [14:45] I'm not sure if that is one minute or five [14:45] in the above example "make a comment" could be replaced with "do anything that is not itself undone" [14:45] (since you can't undo making a comment that always fits) [14:46] (and because comments define our batches to some degree) [14:46] so 'assign to alice; make comment; assign to bob' results in alice and bob bothing getting notified about three events? [14:46] correct [14:46] but assign alice; reassign to bob only results in bob getting notified? [14:47] correct [14:47] it works for a whole bunch of different kinds of changes [14:47] i think that deserves to be explained! [14:47] it's possible we missed some reasonable ones [14:47] but I don't know of any [14:47] bac, actually [14:48] "but assign alice; reassign to bob only results in bob getting notified" : no, no one gets notified [14:48] * danilos reboots [14:48] bac, re sarah: ack. I have an email started to her and Francis to send out my text review, which will be a practical ping on the subject, I think. [14:49] back to alice and bob: if something is undone, and nothing hiccups the evaluation, no-one is notified, whatever the change. [14:50] here's another example [14:50] assign alice; change the status; reassign bob. [14:50] people will get notifications, but only of the status change [14:51] (assuming this all happens within the collected time frame) [14:52] "but assign alice; reassign to bob only results in bob getting notified" -- why would bob not get notified? assuming he wasn't the original assignee. [14:52] oh [14:52] nobody-alice-bob is what i meant [14:52] perhaps you were referring to bob-alice-bob [14:52] I interpreted "reassign to bob" as bob was initially assigned. [14:52] gotcha [14:53] what you describe is not regareded as "undone" in the current code [14:53] regarded [14:53] nobody -> Alice -> Bob are "real" changes according to the code [14:53] nobody -> Alice -> nobody is a mistake and not reported, according to the code [14:54] ok, even thought the temporary assignment to alice was a "mistake" it didn't return to the initial state [14:54] (as is Bob -> Alice -> Bob) [14:54] right [14:54] so we don't get rid of intermediate states; we get rid of undone states [14:54] here's yet another example [14:55] nobody -> Alice -> Bob -> nobody would also squelch the notifications [14:55] (or should) [14:55] because the changes were undone [14:56] this is also true of status, importance, description, and so on [15:09] bac, review when you have a moment: https://code.launchpad.net/~gary/launchpad/bug741684-3/+merge/55935 . danilos, this is the optimization I mentioned to you yesterday, fwiw. [15:20] Now I know what I should get Gary Jr. http://www.thinkgeek.com/interests/looflirpa/e8bb/ [15:20] lol [15:21] that's awesome [15:23] I guess it makes sense that think geek would go all out for April 1, but that's still pretty imporessive [15:24] the video is great [15:26] the connection between devel and db-deve appears to be becoming very tenuous [15:26] by which I mean merges and such take a long time [15:32] yeah, the video is a very nice parody [15:43] gmb, for my tests I think I'm just going to instantiate BugSubscriptionFilterMutes directly. You probably are adding an API to do that, but that doesn't exist in the db branch, right? [15:44] gary_poster: Right; I'm doing it in a separate branch so that the DB patch can land. [15:44] But instantiating directly shouldn't cause problems. [15:44] great, thanks [15:48] gmb, I have a call with danilos in 12 min, then I'll ping you for discussion on UI. I'm hoping you have good ideas on what to call this thing. :-) [15:48] gary_poster: Far be it from me to want to shatter your hopes. [15:48] lol [15:51] hey is that jelmer in the apple video? [15:52] heh, the first playmobil guy after the apple people? good call [16:00] danilos, you ready? [16:00] gary_poster, yeah, skype-ready [16:21] gary_poster: your branch looks good. very dense but i don't see anything glaringly wrong. [16:21] i am curious why you have a bare assert in your test: assert(len(sources)==2) [16:21] instead of using assertEqual? [16:22] bac, yeah. I did that because it was sort of an internal test sanity thing, rather than a test. Happy to change. [16:23] gary_poster: i'd say comment or change since it does stand out. [16:23] ack will do thanks [16:25] I should get a "lazr.restful Wrangler" branch. [16:25] *sigh* [16:25] Badge. [16:26] And a brain. [16:38] gmb, call? [16:39] gary_poster: Sure. Skype or Mumble? [16:39] Skype alright? [16:39] Yep === Ursinha is now known as Ursinha-lunch [17:18] * gary_poster lunching, back soon [17:52] what happened to the review lanes; it's like they're zero-width [17:54] that's exciting [17:54] i suspect leankitkanban is having some sort of problem [17:56] ...which affects evert browser I have, fwiw [18:00] well...I made it mildly better [18:00] still broken [18:00] and quick jobs is unusable [18:03] Syntax schmyntax. Damn you, Python [18:14] benji, leankitkanban fixed it. [18:15] yep, I just saw that; I like the resulting ginormus review lanes [18:15] gary_poster: In the spirit of idempotence should BugSubscriptionFilter.mute() raise an error if called on a non-team subscription (or by someone who's not a member of the team that owns a team subscription) or should it just fail quietly? [18:15] :-) I fixed them too [18:16] I'm leaning towards raising an error, because otherwise people calling the API might find themselves wondering what's going wrong. [18:16] gmb, I think that's not so much idempotence as value error. I say, make it puke at us all. [18:16] Righto [18:26] gary_poster: So, I'm going to EoW shortly. Here's my more-or-less-complete-but-not-reviewed API branch: lp:~gmb/launchpad/team-subscription-opt-out-apis [18:26] gary_poster: The methods you're interested in are: [18:26] BugSubscriptionFilter.isMuteAllowed() ; .mute() and .unmute() [18:26] * gary_poster listens [18:26] got it [18:26] easy enough [18:27] All of them take a person parameter, but that's all handled by call_with(), so you should just be able to call them directly as named_posts. [18:27] gmb, should I review, too? [18:27] gary_poster: Urm... Actually, if you just give me ten minutes to do a quick refactor, yes, that would be cool. [18:28] ok, cool gmb, no rush here, still writing tests for my script changes [18:36] gary_poster: https://code.launchpad.net/~gmb/launchpad/team-subscription-opt-out-apis/+merge/55982 when you've got a moment. [18:37] I'm going AFK now but will check back later and set EC2 going if it's good to land. [18:37] awesome gmb! I'll do it this afternoon. Have a great weekend! [18:37] Thanks, you too. [18:55] gary_poster: I'm trying to figure out what I need ot do for 740640; do I need to merge Danilo's branch into mine before landing? [18:56] no benji, they can be separate [18:56] IMO [18:56] well, I already merged part of it to help avoid conflicts [18:56] should be alright then [18:57] he's already trying to land it [18:57] oh, so I don't need to do anything? [18:57] benji, by "Danilo's branch" which one do you mean? [18:57] gary_poster, I was going to ask you the same :) [18:57] I thought you meant "revert lousy xss fix" [18:57] :-) [18:57] I don't know. He pointed me at a patch and I applied part of it. [18:57] heh [18:57] that one is already landed, but benji is probably inquiring about the other one I have in progress [18:58] benji, so, don't worry about that one, I'll merge with your changes once your branch lands [18:58] that makes sense to me. thanks danilos [18:58] danilos: ok, I'll assign you the "xss vulnerability in new bug subscription overlay" card [18:58] uh [18:58] why? [18:58] I think there's some branch confusion going on [18:58] because that's the one about bug 740640 [18:59] right... [18:59] but what Danilo is working on now does not affect that [18:59] it only touches the same part of code [18:59] So, Danilo had two branches [18:59] one was "Revert lousy xss fix" [18:59] that has landed already [19:00] that's kinda sorta related to 740640 [19:00] benji, right, the part that you "patched" was minor refactoring that I needed in the heavy-on-manual-node-construction code [19:00] but really only as a clean up [19:00] benji, just to reduce the chances of conflicts in there, at least that was my impression of what gary wanted :) [19:00] now he is working on "Structural subscription edit/delete page should also allow..." [19:00] (I am not sure I am helping :)) [19:01] :-) [19:01] which happens to touch on the same part of the code that you were touching on your xss branch, benji [19:01] ok, reboot: I need to work on the "xss vulnerability in new bug subscription overlay" card, which is in "Landing"; what do I need to do? [19:01] :-) [19:01] AFAIK, land your branch [19:01] then that card is done [19:01] do you have reason to believe otherwise [19:02] ? [19:02] well, I don't have any idea what's going on, but that's not neccesarily evidence to the contrary [19:02] :-) [19:02] ok, let's have a quick call [19:02] I don't /have/ to understand :) [19:03] since you are doing the work I think that would be comforting :-) [19:03] ok; mumble or skype? [19:03] skype please [19:04] [19:04] :-) 1 sec [19:07] I can here you. [19:08] /s/re/ar/ [19:08] try unplugging your headset === Ursinha-lunch is now known as Ursinha [19:53] gary_poster: *poof!* I appear over here. [19:53] benji hi :-) [19:55] yep, that's it; I kept thinking that one had the downward-blue-triangle-of-lowness on it so didn't read it [19:55] yeah, the overlapping is a bit hard to read at times [19:55] did you want to do a pre-imp call on that? [19:56] So, I suspect you will want to clarify what the card means first, if you are not already sure...yeah. We'll have a quick one, and then I suspect you'll want one with Brad [20:26] I like happening upon the ever-changing ~yellow logos. [20:27] bac: I'm having trouble finding the branch that has your additions of the edit links to all the bug targets (I'm going to use it as a guide to adding "My Subscriptions" links) [20:27] gary_poster: you'll like this; I don't even think it's an April fool's joke: http://zodb.ws/ [20:28] benji: https://code.launchpad.net/~bac/launchpad/accordion-client-2/+merge/55361 [20:28] bac: thanks [20:36] heh, I had not seen the yellow submarine. I suspect danilos :-) [20:40] benji, that's insane. :-) [20:41] insane and awesome [20:41] yes that too [20:42] did y'all see web2pyramid? [20:42] no [20:42] http://web2pyramid.pylonsproject.org/ [20:44] :-) [20:44] I can't tell if that's an April Fools joke or not. [20:44] :-P I'm saying yes [20:48] "Blaze LaFlame" [20:50] gary_poster: so for "quickly" undone actions, does "quickly" mean "do it before the next run of the cronjob"? [20:51] bac, no, there's a configured amount of time to wait, so it is at least as long as that amount of time, rounded up to the next cronjob [20:52] do you know that number? [20:52] I'm guessing you should probably know what that amount of time is...trying to find out... [20:53] interval = timedelta( [20:53] minutes=int(config.malone.bugnotification_interval)) [20:53] ... [20:53] lib/canonical/config/schema-lazr.conf:bugnotification_interval: 5 [20:53] ... [20:55] thanks, i was looking around in there but didn't see that part [20:55] so 5 minutes plus whenever the next cronjob runs [20:55] bac, from the above, and the fact that that string is not redefined in lp-production-configd, I am pretty sure the answer is 5 min [20:55] yeah [20:55] thanks [20:55] np [21:21] gary_poster: this is not much but is something: http://blog.launchpad.net/?p=2043&preview=true [21:23] bac, looks good to me. Thank you! [21:23] ok, if it is accurate i'll publish [21:24] I believe it is accurate, bac. Thanks. [21:24] done [21:25] * bac is no longer haunted by that task [21:25] great! [21:25] :-)