[09:02] <danilos> wow, we've got a nice flower on the board
[09:04] <danilos> nice *yellow* flower, that is
[11:35] <gmb> We are a delicate flower.
[11:38] <danilos> gmb, heh
[11:39] <danilos> gmb, btw, do you feel like reviewing a JS branch that lacks tests? I'd ask an OCR but I think self-reviewing non-trivial changes is not our common practice :)
[11:39] <gmb> :)
[11:39] <gmb> danilos: Sure. Link me.
[11:40] <danilos> gmb, https://code.launchpad.net/~danilo/launchpad/add-subscription-link/+merge/56392
[11:40] <danilos> cheers :)
[11:40] <gmb> np
[11:40] <danilos> gmb, a movie to prove that at least at one point, it all used to work: https://devpad.canonical.com/~danilo/screencasts/add-subscriptions.ogv
[11:41] <danilos> (or that I am pretty good at montaging a screencast)
[11:43] <gmb> :)
[11:43] <gmb> Fair enough.
[12:02] <gmb> danilos: 354	+        '<div style="margin: 1em 0em 0em 1em"'+
[12:02] <gmb> 355	+            '      class="subscription-filter"></div>')
[12:02] <gmb> I'm not keen on manually setting styles.
[12:03] <gmb> Can you create a class for that and add it to the CSS?
[12:03] <gmb> Or is there a reason for doing it this way?
[12:07] <danilos> gmb, that's just moved code
[12:07] <gmb> Ah, okay.
[12:07] <gmb> Maybe file a tech-debt bug for it then.
[12:07] <danilos> gmb, I am not very keen on that either, I even had to add a hack to fix the problem on removal where margin-top was left to 1em
[12:07] <gmb> Ech.
[12:08] <danilos> gmb, basically, I didn't add any plain-HTML node creation, I just factored it out into smaller and yet smaller methods :)
[12:08] <gmb> Right :)
[12:08] <gmb> danilos: So, file a tech-debt bug for it; it can be taken care of by a maintenance team (probably us).
[12:09] <danilos> gmb, we might decide to fix that sooner rather than later, but sure, I'll file a bug
[12:09] <gmb> Cool.
[12:09] <gmb> Otherwise, r=me
[12:09]  * gmb -> lunch
[12:19] <danilos> gmb, thanks
[13:12] <gary_poster> danilos, gmb, I commented on https://bugs.launchpad.net/launchpad/+bug/752406 fwiw, in case you want to add some voices of dissent :-)
[13:12] <_mup_> Bug #752406: Do not set style directly in structural-subscriptions.js <story-better-bug-notification> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/752406 >
[13:16] <danilos> gary_poster, well, for one thing, it's very hard (or very ugly) to test stuff with direct style setting, whereas with classes it's so much easier to test for the (non-)presence of a class, imho
[13:16] <danilos> gary_poster, that's one big reason for not setting the style directly
[13:16] <bac> gary_poster, danilos, gmb: regarding the in-place style vs CSS issue, I'll just note there is not agreement or a consistent policy across LP.  sinzui argues adding items to the CSS should only be done for general things that are to be shared; one-offs should be done locally.  OTOH I've gotten a lot of review comments urging the other practice, the last from thumper, I believe
[13:17]  * bac likes danilos testability argument
[13:18] <gary_poster> Yeah, sounds like I'm in sinzui's camp.  I could be more convinced of the other approach if we had structural-subscription.js-specific css file, but dumping it in a giganto shared one makes things hard IMO
[13:18] <danilos> we perhaps should not put everything inside a single CSS file though, but we do that because fetching stuff over SSL is slow (even small CSS files might cause a hit)
[13:18] <gary_poster> we can compress the CSS AIUI
[13:18] <danilos> gary_poster, that I'd counter-argument with perhaps we can have multiple CSS files that get combined ala JS stuff we do
[13:19] <gary_poster> I don't buy the testability argument TBH, at least for the kinds of things I know we set style for.  YUI.getStyle
[13:19] <gary_poster> is easy
[13:19] <gary_poster> and not necessary to test if you are just saying (this stuff should (always) float right)
[13:19] <danilos> gary_poster, I don't like having a test that asserts that YUI.getStyle("margin-top") is zero or something like that, because even if you set it in ems, it might return pxs and such and
[13:20] <danilos> gary_poster, well, some of those things are "always, until we decide to hide it"; on removal, subscription filters kept 1em margin-top that was set as <div style="..."> because they were only hidden
[13:21] <danilos> gary_poster, when I fix a bug like that, how do I add a test that makes sure it never comes back?
[13:21] <gary_poster> classes don't hep answer that particular question, fwiw
[13:21] <danilos> I mean, we don't test CSS itself, but at least it'd be outside the code, and we'd know the code does what it's supposed to
[13:21] <gary_poster> help
[13:22] <danilos> gary_poster, imo they do, but I guess that's an argument we can have some other time :)
 we disagree but I'm happy to defer on this :-)  What do you think we should do about the bug?
[13:23] <danilos> I'd like us to solve it, but I'd also like us not to introduce mess into CSS; how about we add our own CSS file and establish a practice for that? (bin/combine_css has a simple names=[] variable where we can manually list it for now)
[13:24] <danilos> where "solve" try to use more of the CSS classes instead of setting style directly
[13:24] <danilos> "solve" ==
[13:24] <gmb> Coming late to the party here I think  that danilos suggestion is a good one.
[13:25] <danilos> gmb, you must be the sound of reason since at this point of the party, all the booze is gone :)
[13:25] <gmb> :)
[13:25] <danilos> s/sound/voice/ (see what partying does to a man? :))
[13:25] <gary_poster> heh
[13:26] <gary_poster> that sounds good to me danilos.  Do you mind that not being "high"?  I'm happy to have it as a "fix it if you want to" card in the backlog though
[13:27] <gary_poster> bac benji (who is not here) danilos gmb: please make sure kanban is up to date now-ish
[13:27] <gmb> yup
[13:27] <danilos> gary_poster, yeah, non-high is just fine
[13:27] <gary_poster> cool
[13:27] <gary_poster> I'll up it to medium, and make a backlog card
[13:30] <danilos> gary_poster, thanks
[13:30] <gary_poster> bac, you on Skype?
[13:31] <bac> oops
[13:31] <bac> on now
[13:34] <danilos> sorry about that, new, better headset is on order :)
[13:35] <gary_poster> :-)
[14:05]  * danilos -> lunch
[14:15]  * gary_poster to car garage.  back soon.
[14:18]  * benji is back from the dentist.
[14:49]  * gary_poster back too.
[14:57] <gmb> gary_poster: Any objection to me taking bug 424849?
[14:57] <_mup_> Bug #424849: Launchpad should batch attachment notification emails <lp-bugs> <story-better-bug-notification> <story-better-notification-sending> <Launchpad itself:Triaged by gmb> <apport (Ubuntu):Invalid> < https://launchpad.net/bugs/424849 >
[14:57] <gmb> (I think I know how to do it, so it seems the post obvious option)
[14:57] <gary_poster> gmb, ok, fire away
[14:57] <gmb> *most
[14:57] <gmb> Cool.
[15:38] <gary_poster> bac, benji, danilos, gmb, I want us to try and do a better job tracking what is released.  I'll try to lead this.  For now, I've made the following changes to the kanban board.
[15:38] <gary_poster> 1) I split up Deployment: Ready into three sub-lanes.
[15:38] <gary_poster> If you land something into db-devel put it into the db-deploy lane.  If it is a normal devel landing, put it in no-downtime.
[15:38] <gary_poster> If you've landed something in db-devel inbetween a db-devel deploy code freeze and a db-devel deployment, like we did with the "mute team subscriptions" stuff recently, you can put it in "Next db-deploy".
[15:38] <gary_poster> 2) I moved all of our "ready" cards to "done-done" because of today's deploy.  Please move cards back to "no-downtime" (or other) if you know they are not actually deployed.
[15:38] <gary_poster> that's it, thanks.
[15:39] <gmb> gary_poster: Righto. Makes sense; I admit it was a bit unclear how to handle the db-devel versus devel stuff.
[15:39] <gary_poster> cool
[15:40] <bac> gary_poster: i'm unhappy with the way i've been working on cards with no bugs and having to use no-qa.  i'd like to start filing more bugs for task tracking.  you ok with that?
[15:41] <gary_poster> bac, absolutely.  I sometimes make cards when I land, just for the qa.  Do whatever works for you.  The tension between kanban cards and bugs is not lost on me. :-/
[15:41] <bac> a bug seems like a too heavy artifact for a lot of things but without one we lose qa-ness
[15:41] <gary_poster> But I mostly need the kanban cards
[15:41] <gary_poster> right
[15:41] <gary_poster> bac, sorry, I meant "I sometimes make *bugs when I land, just for the qa."
[15:43] <danilos> gary_poster, ack
[15:43] <gary_poster> thanks
[16:14] <gary_poster> benji, I want to know how smart the code is that handles IJSONRequestCache(request).objects--in particular, if it reuses the same data structure in the JSON if the same object is used multiple times, via relying on some sort of JS post-processing.  I doubt it, but it woud be silly to work around that if it were handled already.
[16:14] <gary_poster> So you know where I should look?
[16:14] <gary_poster> Do
[16:15]  * benji looks.
[16:22] <benji> gary_poster: since you have to add objects by name, and the cache is a simple dictionary, duplicates aren't eliminated
[16:22] <benji> (see src/lazr/restful/jsoncache.py)
[16:22] <gary_poster> got it, thanks benji
[16:24]  * gmb -> brain stall; increasing tea reserves
[16:27]  * gary_poster back to garage
[17:18]  * danilos off
[17:33] <gmb> You know that feeling when you've just spent half an hour on a really, really good test, only to suddenly realise it doesn't exercise the code you want it to? Yeah, that.
[17:51] <danilos> actually, my branch failed with some test failures, resubmitted with fixes, and pushing my merged-with-db-devel to lp:~danilo/launchpad/db-add-subscription-link (includes some devel revisions so I'll ec2 land that one as well)
[18:01] <danilos> gary_poster, actually, I can't land that easily without an MP, Gary, can you please confirm that all mute-related functionality works as expected and then ec2 land it on db-devel if so?
[18:02] <danilos> (I was supposed to be out over an hour ago, and I just wanted to get this finished, so db-devel doesn't hit a conflict that's hard to resolve)
[18:02] <danilos> gary_poster, I also didn't check any tests, I am sure some have broke
[18:02]  * danilos -> really off
[18:08] <gary_poster> danilos, ack, will do, thanks
[18:22] <gary_poster> The JS tests on danilos' branch pass...
[18:27]  * bac -> lunch
[18:27] <gary_poster> qa on his branch works...
[18:40] <benji> WARNING: GIANT, MAN-EATING BIKESHEAD AHEAD
[18:40] <benji> The subscription listing wording for the mute link seems quite odd: "Do not receive emails from this subscription".
[18:41] <benji> suggestion: "Stop emails about this bug"
[18:41] <benji> end-of-bikeshead
[18:41] <gary_poster> The problem is that your simplification is not true
[18:41] <gary_poster> We have a concept of muting bugs
[18:41] <gary_poster> well, emails about a bug
[18:42] <gary_poster> which is handled elsewhere
[18:42] <gary_poster> this is for the case in which you are in a team
[18:42] <gary_poster> which has a subscription to [something[
[18:42] <benji> oh, that's not muting
[18:42] <gary_poster> right
[18:42] <gary_poster> that's why I didn't call it muting in the interface
[18:42] <benji> I'm sure coming up with good words for that was (is) hard, but I'm still complaining about them ;)
[18:43] <gary_poster> complaining is only mildly interesting without a compelling solution.  :-) Alternatively, make a card for "ask Huw about wording" for that feature
[18:44] <benji> last shed-swatch: "Stop emails from this subscription"
[18:45] <benji> I'll make a card and shepherd it.
[18:46] <gary_poster> I'd be fine with that wording benji.  That said, I'm not clear on it being a win, but that's not any kind of endorsement of or belief in the current wording.  User testing is the proof of the pudding.
[18:47] <gary_poster> Feel free to just make the change.
[18:48] <benji> gary_poster: ok, the "Stop..." wording assuages [that's a hard word to spell] my inner-shed
[18:50] <gary_poster> I feel kinda blech
[18:50] <gary_poster> Karyn is telling me to take a half day sick
[18:50] <gary_poster> I think I might do that
[18:52] <gary_poster> guys, I got permission for a sick day
[18:52] <gary_poster> danilos branch is in ec2 land
[18:52] <gary_poster> sick half-day I should say
[18:52] <gary_poster> Hopefully I'll feel better tomorry
[18:52] <gary_poster> TTYL
[21:57] <bac> i like how the kanban favicon now looks like it was custom-made for the yellow squad