#launchpad-yellow 2011-03-01 <danilos> gmb, hi, for bug 720826 I need to add some text for the matching filters in the email body as well (for the benefit of gmail users); do you have a minute to discuss this? <_mup_> Bug #720826: Add subscription description header for bug notifications <qa-ok> <story-better-bug-notification> <Launchpad itself:In Progress by danilo> < https://launchpad.net/bugs/720826 > <gmb> danilos: I'm just grabbing some lunch; I'll be happy to talk when I've grazed, though. <danilos> gmb, sure, thanks <gary_poster> hi y'all. I'm having to flex time it a bit this morning because Karyn has a doctor's appt. I'll be in and out until about an hour from now. I do intend to be around for the call. <benji> k <gary_poster> bac benji danilos gmb mumble/kanban in 1-ish <gary_poster> gmb and danilos, yoo hoo <bac> whee! <gmb> danilos: You still there? <danilos> gmb, https://code.launchpad.net/bugs/720826 <_mup_> Bug #720826: Add subscription description header for bug notifications <qa-ok> <story-better-bug-notification> <Launchpad itself:In Progress by danilo> < https://launchpad.net/bugs/720826 > <danilos> gmb, https://code.launchpad.net/~danilo/launchpad/bug-720826-emails/+merge/51747 <gmb> bac: My dsl has dropped out. I'll ping you when I'm back online. <bac> gmb: ok <gmb> bac: I'm back in the land of the online. Firing up mumble now. <bac> ok * gmb -> afk for a little bit to run some errands <danilos> gmb, yep <danilos> uhm, wrong channel, wrong person <gmb> FAIL. <gmb> bac: This might be a rabbit hole we don't need to descend into, but do you have any idea why the height increases by 17px with every close/open cycle? <gary_poster> It's a feature. <bac> gmb: no idea <bac> even on my little example it increases by a few pixels each time, which i attribute to a border, perhaps <gmb> Hmm, possibly. <gmb> I guess we needn't worry until we've sorted the other stuff out. <gary_poster> though probably worth highlighting as an issue if we have the attention of a/the dev <gmb> Fair point. <bac> gmb: would you have a look at bzr+ssh://bazaar.launchpad.net/~bac/%2Bjunk/accordion_test and see if you think it demonstrates the problem minimally and clearly? <gmb> bac: Sure <gmb> bac: I think that demonstrates our problem, but it might help if the second item in the accordion had a note telling you how many lines should be displayed. It's hard to tell at first glance where it's going wrong. <gmb> (Whereas in our LP code it's far more obvious first-up). <bac> gmb: have you noticed how the accordion behaves nicely with the overlay when initially loaded? <gmb> Yes. <bac> it is only after the forced resize that it gets dumb <gmb> (That's kind of what I mean) <bac> yeah, ok <gmb> There's a danger that someone might lazily say "what? That works fine" <gmb> Without actually looking. <gary_poster> Have we tried setting display on and off, and cropping an enclosing div, and random stuff like that? I expect so, but I can't stop from asking <gary_poster> Or maybe it is not even pertinent/appropriate <bac> display on/off works nicely <bac> but it is not animatable <bac> and, yes, we're performing the resizing on an enclosing div <bac> but i've tried removing the wrapper and operating on the accordion itself <gary_poster> cool <bac> well it'd be cooler if it worked! :) <gary_poster> yeah <gary_poster> I wonder if the display on/off thing points to some acceptable hack. Won't worry about it till later; justa passing thought. * bac lunches * benji lunches. * danilos -> off, enjoy the rest of the day all <benji> so... what is the state of the art in JS testing? <gary_poster> I suspect that's a question for Deryck. Maybe bac has a pointer. I think LP does currently have some answers. <bac> benji, gary_poster: i just looked for a wiki page that i thought was helpful but cannot find it <bac> curtis' page is an brief intro: <bac> https://dev.launchpad.net/JavascriptUnitTesting <gary_poster> That looks good to me, thanks bac <bac> i *thought* i'd edited that page in the past to show how to run those tests from the command line <benji> thanks guys; I'll see what Deryck says. I guess this means that none of y'all have started your testing yet either. :) <gary_poster> I'm not writing JS right now :-) <gary_poster> benji, I'm going to have my call with Francis soon so I'm trying to tidy up the kanban board. You have three cards active on the board right now. Are all of them in fact in progress, or are some of them mistaken, possibly because of crazy card shenanigans I've pulled in the past? <benji> gary_poster: looking <benji> gary_poster: I moved "implement accordion panes" back to tasks an unassigned myself; if you'll remember, I did a little work on it but we decided the optimum would be for me to work on other things <gary_poster> right, cool, thanks benji <benji> the "wire up" card isn't done and I'm not actively working on it, but I expect I will when the accordion panes are done; perhaps marking it blocked is the right thing to do there <benji> gary_poster: ^ <gary_poster> (AIUI) blocked means you can't work on it because of things outside of you--you couldn't start it regardless of your own availability. So, on the face of it it doesn't sound blocked to me, benji. <benji> gary_poster: well, I can't finish wiring up the form until the accordion panes are done, and I'm not doing them, is that not blocked? <gary_poster> ah, yes, it is, benji :-) <benji> :) <gary_poster> thank you <bac> benji, gary_poster: i found the command-line invocation <bac> xvfb-run ./bin/test --layer=RegistryWindmillLayer -cvvt test_yuitests <bac> runs all lp.registry YUI tests -- not windmill <benji> cool <bac> i'll add this to the wiki now <gary_poster> ah-ha, bac! that looks golden. How do we run Bugs only--BugsWindmillLayer? <bac> note there is no way to specify a single test -- you can only get granularity of a subsystem <bac> gary_poster: i believe you've cracked the pattern! <gary_poster> ;-) <bac> thank god i've got my history file set to 'forever' <bac> in bash, i mean <gary_poster> :-) <bac> https://dev.launchpad.net/JavascriptUnitTesting -- now even better <gary_poster> sehr awesome, bac #launchpad-yellow 2011-03-02 <gary_poster> bac benji danilos gmb mumble kanban real soon now <danilos> ack <gmb> Yup <bac> ok <danilos> gmb, I'll paste you the question I had <benji> gary_poster: a small note, I'm going to take lunch a little early today (11ish), we have a realtor coming over; we're thinking about selling the house <gary_poster> benji, wow! <danilos> gmb, so, there is a BugNotificationRecipientReason in lp.bugs.mail.bugnotificationrecipients that kind of duplicates the functionality of BugNotificationRecipients reason construction <gary_poster> benji, cool. good luck. <gary_poster> benji, if realtor you are trying doesn't work out, we had good luck in F'burg with Mike Burleigh. <gary_poster> Can get you number if interested <danilos> *Reason stuff seems to be newer code, and seems to have decent unit tests, but doesn't seem to be used anywhere <danilos> gmb, do you have any idea what we should do with it? <gmb> danilos: ISTR looking at that in the last six months or so; let me take another look to refresh my memory. <danilos> gmb, heh, yeah, according to bzr log, you should know something about it :) https://bugs.launchpad.net/launchpad/+bug/594211 <_mup_> Bug #594211: Add a RecipientReason class to bugnotificationrecipients.py <lp-bugs> <qa-ok> <story-better-bug-notification> <story-refactor-bugnotifications> <Launchpad itself:Fix Released by gmb> < https://launchpad.net/bugs/594211 > <gmb> Ha. <danilos> gmb, anyway, it seems it's not tied in yet and is a dead code; do you know if it has been kept up to date regarding everything else or might it be stale regarding all the stuff that has happened in the meantime? <gmb> danilos: If it's not used, dump it. <gmb> danilos: It was added because we wanted to refactor l/c/l/mailnotification.py into something more sane <gmb> But that turned out to be a nest of vipers, so we gave up and I never removed the code I'd added. <danilos> gmb, but it has much nicer tests than anything else I've touched recently in bugs code :) <gary_poster> :-) <danilos> gmb, heh, ok, I'll add a card to get rid of it then <gmb> :) <gmb> danilos: Cool, thanks. <danilos> gary_poster, "big picture" backlog or JFDI? :) <gary_poster> JFDI danilos :-) <danilos> gmb, can I nudge you to give your blessing for https://code.launchpad.net/~danilo/launchpad/drop-dead-dead-code/+merge/51899 :) <gmb> danilos: Sure. <gmb> danilos: r=me <danilos> gmb, thanks :) <bac> gmb: ugh, bad news. your change exhibits the *exact* same bad behavior as the accordion. branch pushed to new location: lp:~yellow/launchpad/accordion-overlay-2 <gmb> BUGGER <gmb> bac: OTOH, maybe this means it's *not* the accordion then. <gmb> But something more insidious. <bac> gmb: therve responded on canonical-js * gmb looks <gary_poster> hm, that sounds promising <gmb> Indeed. <gary_poster> yay for small reproducible bits <gary_poster> and helpful colleagues <bac> gmb: i'm still digesting his suggestion <gary_poster> "But something more insidious" makes me want to hear some Jules Verne and/or Cthulu inspired cause for the JS issues. <gary_poster> squids need to be involved one way or another, I think. <gmb> I once wrote an easter-egg for a webapp that made an ascii-art Cthulhu appear after a certain sequence of mouse-clicks. Wonder if I could reuse it in the accordion... <gary_poster> lol <gary_poster> that would be awesome <bac> gmb: i incorporated therve's suggestion in the minimal example: bzr+ssh://bazaar.launchpad.net/~bac/%2Bjunk/accordion_test/ <bac> it seems to work with the accordion! <gary_poster> bac, fwiw I sent a note to Francis asking him to check up on Dav <gmb> \0/ <gary_poster> and, YAY <bac> gmb: please sanity check <gmb> bac: Pulling now. <bac> gmb: we'll have to make the corresponding change to lazr-js.effects, no? <gary_poster> challenges with working in a distributed environment: we can't all dance around in a jig in the same room <gary_poster> though maybe that's another advantage... <gmb> bac: Yes, I think that's the case (sadface). * gary_poster not happy with lazr-js being a stumbling block <bac> gary_poster: but on the upside, once there the animation will just DTRT and no one else using it will have to suffer this problem <gmb> gary_poster: It's a PITA, to be sure. But working together bac and I should be able to get this incorporated therin, reviewed and landed today. <gary_poster> I'm pretty darn happy with both of those :-) <gmb> (me waves hands vaguely about timescales) <gary_poster> :-) <gary_poster> a day, in the biblical creation story sense? <gmb> Hah. * bac wonders if his original email was really that muddled... <bac> original+1, actually <gary_poster> bac, I'd guess that it was your second, smaller and self-contained code example that got attention, but who knows for sure. <bac> gary_poster: right, but thomas commented even that was terribly confusing. it got an answer so i'm not fretting. <gary_poster> I see. ok, cool <bac> gmb: so at a minimum, it seems you need to set visibility to 'none' before trying to get the true height and then set height to 'auto' after animating to 0 <gmb> bac: Right. That sounds deceptively simple... is it? <bac> simple and obvious <bac> *of course* making something invisible would force him to not lie about his size <gmb> Heh <gary_poster> :-) <bac> gmb: i'm working on lazr-js now <gmb> bac: Okay. I'll be happy to review it for you. <bac> it's been a while since i've made changes there so i'm trying to remember the steps <gmb> Ah. <gmb> bac: I think deryck's your man if you have questions; I can't quite remember the steps either. * gmb -> heading out for a run; back in ~45 * gmb returns <gmb> bac: Is there anything I can be doing right now to help you out? <gary_poster> bac, gmb, maybe "wire up widgets to back end data store" that benji started? <gary_poster> wait, no <gary_poster> I think that's done... <gmb> gary_poster: I can take bug 721400 as a job to take me to EoD. <gary_poster> and we need to have a card for adding the internal widgets to each part of the accordion? <_mup_> Bug #721400: Bug:+subscribe can't cope with existing BugSubscriptions with a bug_notification_level of NOTHING <story-better-bug-notification> <Launchpad itself:Triaged> < https://launchpad.net/bugs/721400 > <gmb> (And I'll happily review bac's lazr-js work when it's ready) <gary_poster> gmb, how much work are those three mute button bugs, in your wavy-handed estimation? <gary_poster> I still suspect that the mute table might be a better approach, but if we can whip out those bug fixes, I'm +1 on moving ahead with the existing plan <gmb> gary_poster: I think I could have those done by EoW. <gary_poster> gmb, ok fire away <gary_poster> thanks <gmb> gary_poster: Cool; np. <gary_poster> ideally we would have a feature lane free but you can use quick jobs for now <gary_poster> bac, lemme know if you could use some help, or if gmb continuing as occasional consultant is the right approach. <bac> gary_poster: ok <bac> gmb has been more than that recently and i appreciate it <bac> gmb: i've pushed a new version back to the old spot: bzr+ssh://bazaar.launchpad.net/~yellow/launchpad/accordionoverlay <bac> it incorporates thomas' suggestions but inside our js, not lazr-js <bac> figured it was easier to get it working there <gmb> bac: I like your thinking. I'll pull it and take a look. <bac> it is better and shows promise but has obvious problems still <bac> my brain is mush so i'm going to go to lunch, despite my pledge earlier today <bac> let me know if you make any progress and i'll pick up later <gmb> bac: I'm somewhat disturbed to find that setting the node's height to 0 when the slide_in ends appears to just work. I'm not sure that that's right or that I'm not actually going to cause other problems though. <gmb> I've pushed my changes (including indentation fixes - sorry for the diff noise; vim corrects it for me automagically) to the ~yellow branch. <bac> gmb: so things seem to work now, despite it being hacky? <gmb> bac: Yeah. I think so, anyway. I also stripped out the collapsible classes since it might have caused the existing collapsible code to fight with it. <bac> ok <gmb> bac: But you may know of more little oddities than I know to look for. <gary_poster> so, bac, where is JS then? the discussion here seems to imply that everything is copacetic. Is that true? <gary_poster> where is our JS, I should say <bac> hi gary_poster <gary_poster> hey <bac> what we've been working on is in lib/lp/registry/javascript/structural_subscription.js <bac> the stuff gmb and i did today eventually needs to find its way into lazr-js <gary_poster> makes sense <bac> i'm still getting his branch to see what it looks like <gary_poster> (fwiw, Python structural subscription stuff has moved to lp/bugs, but don't worry about that now) <bac> oh, ok <bac> good to know and easy to fix <gary_poster> cool <bac> it really doesn't fit in either place, does it? <gary_poster> IMO there's nothing to do really with registry, and it is entirely about bug subscriptions <gary_poster> so, while it touches many parts of LP, it's essentially about bugs--if we didn't have a bug tracker but had everything else, these things would go away. <bac> make sense <benji> gary_poster: Style consultation: does http://i.imgur.com/tJmhm.png look enough like https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/SubsListRound1/Slide1 to not worry about any further? <gary_poster> benji, good. Two things. 1) ask Huw for CSS/changes for the pretty text-over-the-border look. 2) find the edit icon on LP and include it too. I think it is some funky sprite thing <benji> gary_poster: sounds good <bac> gary_poster: i'm exercising gmb's latest branch and it looks great <bac> i can't make it fail <gary_poster> bac, yay! yay! * bac happy <gary_poster> So what's left...we need tests of some sort still I assume, and we need to populate the accordion with the proper widgets? <gary_poster> bac ^^ <gary_poster> benji--sorry for the delayed followup, but there's a delete icon to use too. Let's include that too. I think it is in some of the other mockups, and it seems like a standard visual thing we do. <bac> gary_poster: yeah, all of that <bac> it needs polish <gary_poster> ok, but things we know how to do, mostly, yeah, bac? <bac> and hooking up <benji> gary_poster: sounds good <bac> famous last words, but yeah, i think so <gary_poster> cool benji <gary_poster> bac, understood :-) <bac> gary_poster: i will do some clean up this afternoon and hand it off to gmb with a list of next things. if that's what you want. <gary_poster> bac, sounds good to me. gmb was in the middle of a bug, so I'd be happy for him to get to complete it, but I think it's close if not done already <bac> ok <benji> gary_poster: I copied you on the email to Huw, I don't know if that's something you generally want or not, so you'll have to tell me to stop ;) <gary_poster> benji, I like it, please continue. :-) <benji> k <bac> gary_poster: we still have the outstanding design issue of the twisty arrow placement <gary_poster> bac, yes. AIUI benji and Huw are working on that. My hope is that the resolution won't be too far from the checkboxy thing <gary_poster> (So significant work will not have to be redone) <bac> ok <gary_poster> I'm just being optimistic, I guess, bac. :-/ <benji> by way of status update: I got an email from Huw yesterday morning asking some clarifying questions which I replied to immediately; nothing more yet. <gary_poster> right benji, thanks <bac> interesting, closing the overlay causes some of the items to be left behind, imprinted on the underlying web page. oops. <gary_poster> :-/ * gary_poster is out. ttyl #launchpad-yellow 2011-03-03 <danilos> gmb, hey, I've got one question: I am looking at the mockups from user testing, and I don't see the case where you *are* marked as the bug supervisor â should that be treated as if you have a structural subscription then? <bac> hi gmb <bac> the fix you made worked great. <gmb> bac: Cool, glad to hear it. <bac> there is one oddity i haven't yet investigated. when the overlay is closed, the accordion and some checkboxes remain behind <gmb> Hmm. <gmb> That's a bit weird. I didn't see that one but my testing was probably a bit perfunctory. <gmb> bac: I'm just going to grab a cup of tea, but I'll take another look in a few minutes. <bac> yeah i only saw it yesterday but not sure if it had been there all along. happens in webkit and FF <bac> ok thanks <bac> it'll be a little bit before im really here <danilos> gmb, do we already have some standard code that returns all the subscriptions for a (person, bug) pair? :) if not, do you know what code should I reuse to get at least some bits of it? <gmb> danilos: I guess you're after structural subscriptions there, aren't you? <danilos> gmb, nope, quite the contrary <danilos> gmb, I need things like "direct subscription", "through duplicate", "you are bug supervisor", "through team membership",... <gmb> danilos: Ah. Take a gregory37@example.net. There's a bunch of methods there that will be useful, but nothing that does everything you need all in one method. <gmb> danilos: Thinks like isSubscribed(user), isSubscribedToDupes(user), getSubscribersForPerson(user).... etc. <danilos> gmb, right, I just want to re-use as much as possible, thanks <danilos> gmb, btw, if you've got a minute to glance over https://pastebin.canonical.com/44215/, I wonder if I am covering all the bases :) <danilos> I thought of more supervisor actions ("leave the team" and "I don't want to be supervisor" if you are not product owner) * danilos -> food <gary_poster> hey benji, looks like Huw came through for the CSS. Any word on the triangle dealie? <benji> nope, none yet; once I try out his CSS I'll reply with a "thanks that worked great... how about the other thing"-type message <gary_poster> heh, ok benji, sounds good :-) <danilos> benji, hi, are you working on implementing the structural subscriptions part of mock-ups on https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2? <gmb> bac: I haven't been able to reproduce the problem you mentioned. Can you send me a screenshot <gmb> ? <bac> gmb, sure <gmb> danilos: I think you've covered everything with that list. <benji> danilos: I'm doing the list of user/team subscriptions for a bug (but I don't think it's mocked up on the slides you reference, it's at https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/SubsListRound1/Slide1 instead) <danilos> gmb, cool, thanks <danilos> benji, right, thanks <bac> gmb: good : http://people.canonical.com/~bac/overlay-opened.png <bac> gmb: bad http://people.canonical.com/~bac/overlay-closed-messy.png <gmb> OIC. Hang on... <bac> to go from good to bad i hit the 'cancel' button <gary_poster> oopsie <gary_poster> mumble nowish, bac benji danilos gmb <danilos> https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/DirectSubscriptionsOnBug <gmb> bac: So, http://pastebin.ubuntu.com/574977/ sort of solves the problem... I think it has to do with the way we deal with expanding nodes, but I'm not sure *why* <gmb> (That's not a solution, really, but it does make the controls vanish) <bac> interesting. and it'd need to be done for submit too, i guess <gary_poster> The "kill them all" apprach to DOM manipulation :-) <gmb> bac: Yeah (it'd be nice if FormOverlay had a 'hide' event that we could tie onto, but anyway...) <gary_poster> well, perhaps the "SHUT UP ALREADY!" approach to DOM manipulation... <danilos> gary_poster, gmb, anyone else who cares: I'll start using the IBug:+subscribe page for the work I am doing (description and direct subscription actions); if you feel I should leave that alone and provide a different page (eg. because we want to continue have +subscribe gracefully degrade), just let me know :) <gary_poster> danilos, we have a page for this already that gmb started and that benji is working on... <danilos> gary_poster, do we? <gary_poster> yeah <gary_poster> it has nothing on it ATM :-P <gmb> danilos: NOOOOOooooo. That page is used to render the overlay for direct subscriptions. Use Bug:+subscriptions <gmb> (Which is what gary_poster is talking about) <gary_poster> :-) <danilos> gmb, gary_poster: but I can't find it :) <danilos> gmb, gary_poster: ok, that's the kind of info I was looking for <gary_poster> cool <danilos> gary_poster, that actually confuses me a bit; benji told me he's working on https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/SubsListRound1/Slide1, so just to clarify, https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2 is part of that as well? * gary_poster looks <gary_poster> benji, you are working on the bottom part of https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2/Slide2 I thought? <gary_poster> ("Other subscriptions that may send you email about this bug") <benji> danilos: I don't see anything on those slides that (as far as I'm aware) I'm working on (i.e., I'm not doing the "If you don't want to receive..." part) <gary_poster> yeah you are :-) <gary_poster> the one you are looking at is a part of the full one; you are only implementing the non-direct subscriptions, though <gary_poster> which is pretty much the same <gary_poster> across the two mockups <gary_poster> danilos is working on the explanation and direct subscription part <gary_poster> does that ring a bell, benji, or at least are you satisfied that this jibes with what you were already doing? <benji> gary_poster: exactly, I'm doing the non-direct bits <gary_poster> Great. Danilos, you cool too? <danilos> gary_poster, yep :) <gary_poster> yay :-) <gary_poster> gmb, halloo. call now, or ping me when you are ready? <danilos> thanks all <gmb> Oh, bother, forgot about that. * gmb gets his mumble on. <gary_poster> :-) <gmb> bac: D'you have a second to mumble? <bac> sure <benji> gary_poster: an RM pre-nag about QAing Bug 164196 <_mup_> Bug #164196: Quickly-undone actions shouldn't send mail notifications <email> <lp-bugs> <qa-needstesting> <story-better-bug-notification> <Launchpad itself:Fix Committed by yellow> < https://launchpad.net/bugs/164196 > <gary_poster> thanks benji. Yeah, QA is blocked on the bug I'm working on :-/ <gary_poster> (was blocked on staging being down for about a week brfore that) <gmb> bac: http://pastebin.ubuntu.com/575007/ <gary_poster> hey danilos. ping when you are ready for call? <gary_poster> https://pastebin.canonical.com/44238/ <danilos> gary_poster, https://pastebin.canonical.com/44239/ with syntax highlighting :) <gmb> gary_poster: I've just submitted AWS expenses; rather higher than I'd hoped as there was an EC2 instance that got stuck. <gary_poster> gmb :-/ ack, approving. <gmb> gary_poster: Thanks. <gary_poster> approved. np <gmb> Ta <gmb> bac: I've added a rudimentary test suite (i.e. all the setup, doesn't do anything helpful yet) to the ~yellow branch. I'll check back later, so if you've any questions, ping me. * gmb -> dinner <bac> ok <bac> gmb: another annoyance -- if you simply click away from the overlay somewhere else on the page, the overlay disappears, leaving the cruft in place. is it supposed to make the overlay disappear? seems wrong. <gmb> bac: Yes, it's supposed to hide the overlay. I wonder if the overlay does fire a 'hide' event that we can tie our cleanup to. It would seem odd not to. <gary_poster> bac, I still haven't had lunch and am feeling a bit lightheaded. I should get some food. I might be 10 min late for our call. Is that alright? <bac> gary_poster: that's fine. would you like to just say 3:00? <gary_poster> sure, thank you bac <bac> great. i'm going to take a walk now, then. <gary_poster> cool <bac> see you in a bit <gary_poster> bye #launchpad-yellow 2011-03-04 <gary_poster> bac benji danilos gmb mumble/kanban in 2 followed by weekly deliverable review <gary_poster> well, in 1 now <bac> ok <danilos> ack <gmb> ack <gary_poster> benji yoohoo <benji> gary_poster: you asked about the sprites, here's the latest iteration of the page: http://i.imgur.com/vM6bn.png <gary_poster> benji, beautimus. Only suggestion: make "Edit this subscription" and "Unsubscribe" on the same line, as it is in the mockup. <benji> gary_poster: I'm back <benji> it took me a minute to figure out what you were talking about, I thought you were having a stroke or something <gary_poster> heh <gary_poster> benji, I prefer the side-by-side for a number of non-defensible reasons. The only mildly defensible one is that it is what the approved mockup did, but I don't regard those as gospel. So, I'm +1 on side-by-side, but won't throw my weight around because I don't feel I have the expertise or the arguments to do so. <benji> I'm cool with that. One line it is. <bac> gmb: do you know of a js module that is nicely tested i could look at? <gary_poster> cool <gmb> bac: lib/lp/bugs/javascript/tests/test_bug_subscription_widget.js is pretty comprehensive. <gary_poster> The bac, he is gone <gmb> Yep. * gary_poster was so bothered by the itch on his memory that he had to look up the fact that his brain was alluding to "Mistah Kurtz, he dead" from Apocalypse Now. Ah, the weirdnesses of brains. Or mine, at least. <gary_poster> or maybe it was the book <gary_poster> Heart of Darkness <gary_poster> anywayyyyyyy <gary_poster> hey danilos, lemme know the bug number for the "make jsbuild" problem when you file it so I can put it in notes please <benji> http://en.wikipedia.org/wiki/Heart_of_Darkness#Motifs <gary_poster> The horror! The horror! <gary_poster> Good book <danilos> gary_poster, will do <gary_poster> thank you <gmb> gary_poster: Indeed. Been quite some time since I read that; I think it's on my list-of-books-to-get-a-kindle-version-of <gmb> gary_poster: Separately, I've just submitted a holiday request for 2011-03-25. <gary_poster> been awhile for me too. <gary_poster> thanks for heads up; will go approve <gmb> Ta <gary_poster> (bac not here), gmb, danilos, benji, I meant to check on the call if the schedule for the daily meeting and weekly meeting was still working out OK for everyone. I particularly was thinking of gmb and danilos because of their lunch, but all of us are having the call at somewhat unusual times. S'alright? <gmb> gary_poster: It works fine for me; I have lunch 12 - 1 anyway :) <danilos> gary_poster, yeah, it's good, and the time I'd like wouldn't really work for anyone else :) <benji> I like it. <gary_poster> :-) k <gary_poster> cool. (me too) <gary_poster> heh, danilos. ok cool guys, thanks <gary_poster> approved gmb <gmb> Thanks. I've added it to the LP team calendar. <gary_poster> great * gmb -> run <gmb> ] <danilos> gary_poster, hey, do you think you can review https://code.launchpad.net/~danilo/launchpad/bug-720826-links/+merge/52226? <gary_poster> looking danilos <danilos> gary_poster, it's measly 131 lines of diff :) <gary_poster> danilos, :-) I'll do it, looking <danilos> gary_poster, cheers :) <gary_poster> danilos, not done, but I'd like to see a test showing the fact that multiple filters carry over <danilos> gary_poster, there are unit tests for that in other branches <danilos> gary_poster, let me find them :) <gary_poster> :-) k <gary_poster> danilos, very happy that the structuralsubscription.py could be that small. That's what I was hoping for. <danilos> gary_poster, "-t test_header_multiple" <danilos> gary_poster, I am unsure about the distinct, perhaps I can remove it now? <danilos> gary_poster, tests pass either way, but simply because python code checks for duplication anyway <gary_poster> danilos, agree, remove the distict=True. It made sense without the filters, but not so much now <gary_poster> danilos, approved. Yay! <gary_poster> I didn't chage the status--figured you could do that after you removed distinct=True <gary_poster> I hope this does not add a performance hit--adding a record for every filter <gary_poster> a noticeable performance hit, I mean, of course <gary_poster> we'll see :-) <danilos> gary_poster, thanks, and done :) <gary_poster> aesome <gary_poster> w <danilos> gary_poster, yeah, we'll have to check that, but it's mostly going to be serialization cost, and my experience is that that is not too bad <gary_poster> ok cool <bac> hi benji -- can i ask you a question about gnome keyring and lplib? <benji> bac: sure <bac> i think i have an old key for launchpad.dev lplib access <bac> but in seahorse i don't see anything to do with lplib <bac> should i be looking elsewhere? <bac> i need to find the old key and delete it so i can recreate a new one <bac> hmm, perhaps i am wrong <benji> bac: look in ~/.launchpadlib/api.launchpad.dev/credentials <bac> benji: yeah, i just did. i thought those had moved to gnome keyring <bac> anyway, i found it there and deleted. problem solved. <benji> new credentials use the keyring lib, but the old ones are still honored <benji> cool <bac> i just recreated and it was put into .launchpadlib not the keyring <bac> bbiab <gary_poster> thank you bac <gary_poster> bac, btw, did you see that gmb replied about good js tests this morning when you were offline? If not can dig it up for you or it is in the logs <bac> gary_poster: i did not see his reply <bac> i can look at the log. thanks for letting me know <bac> btw, i've made good progress adding more wiring to the work benji had done <gary_poster> np bac. it was "lib/lp/bugs/javascript/tests/test_bug_subscription_widget.js is pretty comprehensive." fwiw. more wiring: great #launchpad-yellow 2011-03-07 * gmb -> lunch <gary_poster> bac` benji gmb mumble/kanban in 2 <gary_poster> & hi :-) <gmb> gary_poster: ok <gary_poster> btw, I have to take kids to school this morning, so will be out briefly for that <bac> hello. test. echo. <gary_poster> hello, test, echo, bac <bac> thank gary_poster <bac> s <gary_poster> :-) <bac> my long nightmare of moving servers seems to be over <bac> yay kvm <gary_poster> is there a quick description as to why you did so? <bac> yeah, i had an old box on LTS-1 that i've been "meaning to" set up a back up strategy. <bac> i decided it was easier to move its jobs over to my newer box in a VM and power off the other one <bac> my power bills are nuts and i'm trying to get rid of extra goo <gary_poster> ah, I gotcha <bac> and now my backup strategy will be to clone the VM once a week <gary_poster> makes sense to me <bac> wouldn't work for google but is good enough for me <gary_poster> :-) <gary_poster> FWIW, re power bill, we've been switching to LEDs where we can <gary_poster> they are expensive but for themselves...oh it's been a while since I did the math <gary_poster> quick enough <gary_poster> and lightbulbs add up on our power bill surprisingly quickly <bac> i installed four cree LEDs in the kitchen. they replace the cans that were there and completely seal against air leaks too <gary_poster> cool <gary_poster> our kitchen has I dunno 18 r20s <bac> expensive but the light is fantastic <gary_poster> taht adds up wattage fast <gary_poster> yeah <gary_poster> I've been pleased, though some of them seem to hum <bac> CFLs are the biggest joke evar <gary_poster> :-) how so <gary_poster> compared to LEDs they are <gary_poster> but they seemed bettar than incandescents for some uses <gary_poster> heh, better <bac> well, the ones they sell at lowes, etc are just junk. slow to light, only last 18-24 months, poor light <gary_poster> ah gotcha <gary_poster> yeah <bac> they give the industry a bad name <bac> i should've done more research <bac> and bought good ones <gary_poster> we ended up not using that many of them. where we have them, they are not awful <gary_poster> I sure hope the LEDs last as long as they are said to * gary_poster needs to go get ready for taking kids to school. back soon * gmb -> run <bac> gmb: ping me when you get back, please <gmb> bac: What can I do you for? <bac> gmb: i was looking at test_bug_subscription_wizard and was confused until i realized this was the work you have stopped <bac> i've since sorted that out. :) <gmb> Ha. <gmb> bac: Apologies; I thought I'd dumped that code. <gmb> Was that what I pointed you at on Friday? <bac> gmb: yes <gmb> Hahaha. <gmb> bac: I must've just gone "bac needs some example tests; these are tests therefore they serve as examples." <gmb> Sorry. <bac> it makes reasonable sense...just isn't wired to anything <gmb> Right. <gmb> bac: Unless you've done it already or have any objections, I'll land my code removal branch for that today. <bac> sounds good <gmb> Cool <benji> I /really/ need to reboot Firefox so I'm going to let my system update itself and reboot. Hopefully I'll be back in a few minutes. <gary_poster> benji, fwiw, you might have already figured this out, but the last sentence of the second bullet of my cover letter ("I wrote some new tests for the method, which also prove that the function does what we want (TestGetStructuralSubscriptionsForPerson).") was supposed to apply to the third bullet point <gary_poster> (that is, it is about getStructuralSubscriptionsForPerson, not about getStructuralSubscribers) <gary_poster> Sorry for the confusion <benji> gary_poster: no problem, your explanation came about 45 seconds before I was going to be confused <gary_poster> :-) excellent <benji> gary_poster: review done (https://code.launchpad.net/~gary/launchpad/bug723999-2d/+merge/52478) <gary_poster> thank you benji! Did I singlehandedly consume half your day? I appreciate it, in any case <benji> more or less :) <gary_poster> well, it was good stuff at least, I think <benji> I enjoyed it though. It crossed my mind that I wouldn't mind being OCR more often. <gary_poster> :-) cool <gary_poster> night all #launchpad-yellow 2011-03-08 <bac> hi gmb <gmb> hi bac <bac> gmb: i'm working on YUI test for my structural_subscription.js file. i've got a lot of little helper functions, none exposed. do you tend to add those all to the namespace for testability? <gmb> bac: Generally, yes, and then mark them as @private in the function documentation. <bac> ah, ok, i hadn't seen that part. <gmb> It has no practical effect; it's rather like calling a Python method _foo(). <bac> actually i don't see any instances of @private in bugs or registry js <gmb> Hah. <gmb> bac: Maybe I saw it in the Accordion code, then. <bac> ok <gmb> and assumed it was a pattern that we would have adopted. <bac> still not a bad idea <gary_poster> bac benji gmb mumble/kanban in 2-ish <benji> gary_poster: am I supposed to be on the whole team lead call or will I get a cue? <gary_poster> benji, ideally you would get a cue <gary_poster> you are supposed to get a cue <gary_poster> the cue might be "hey, would you get on the whole team lead call?" <benji> wow, it's using real phones; I haven't used the conference system yet, figuring out how that works now <benji> heh <gary_poster> :-) I SkypeOut fwiw <benji> it looks simple enough and there's a US toll free number <gary_poster> yeah, it's easy <benji> gary_poster: I just learned that the reason for the rescheduling is that the LOSA who was to do it is sick. <gary_poster> ah, that's a lot more understandable <benji> yep <gary_poster> gmb, when you have a moment, I'd like a call to help me think through some "unsubscribe in anger" issues <gmb> gary_poster: Sure, can you give me 15 mins to grab a shower and a drink? <gary_poster> course gmb thanks <gmb> gary_poster: I'm ready on mumble whenever you are. <gary_poster> https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/DirectSubscriptionsOnBug <gary_poster> gmb, mrevell suggested that we change the wording of https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2/Slide5 <gary_poster> from "You received the email that linked to this page because you are a direct subscriber to all events on bug #23456, which is marked as a duplicate of this bug, #12345" to <_mup_> Bug #23456: system doesn't shutdown <linux-source-2.6.15 (Ubuntu):Invalid by ben-collins> < https://launchpad.net/bugs/23456 > <_mup_> Bug #12345: isdn does not work, fritz avm (pnp?) <isdnutils (Ubuntu):Fix Released by doko> < https://launchpad.net/bugs/12345 > <gary_poster> "You received the email that linked to this page because you are a direct subscriber to bug #12345. You originally subscribed to its duplicate, bug #23456." <gary_poster> Unfortunately, his text is wrong AIUI. I can't think of a way to make the original text better in the direction he was pointing, can you? I'm inclined to go with your original. <_mup_> Bug #12345: isdn does not work, fritz avm (pnp?) <isdnutils (Ubuntu):Fix Released by doko> < https://launchpad.net/bugs/12345 > <_mup_> Bug #23456: system doesn't shutdown <linux-source-2.6.15 (Ubuntu):Invalid by ben-collins> < https://launchpad.net/bugs/23456 > <gary_poster> thanks mup :-) * gmb /ignores mup <gary_poster> :-) <gmb> gary_poster: I think you're right; the revised text implies that you have a subscription to the master bug, which in fact you don't. I can't think of a nicer way to word the original text (ISTR that was one of the hardest to compose in the first place). <gary_poster> cool, thank you gmb. * gmb -> afk for the evening <benji> I just reallized that YUI is from the south: Y.all(...) <gary_poster> :-) <gary_poster> benji, you are only getting the structural subscriptions for the current person now, not those for their teams, right? <gary_poster> (we need both) <benji> gary_poster: I'm getting their team's too; let me look at the specifics. <gary_poster> oh, yay <gary_poster> do you handle the management options differently depending on their privileges? <gary_poster> i.e., they can edit stuff if the susbscription is theirs or they are a team admin, but otherwise they can just look but not touch (if they are an unprivilged team member) <benji> I don't do anything quite yet with that, but my understanding is that we want the same rules as for creating subscriptions: team administrators can edit/remove subscriptions for a team <gary_poster> right <benji> right <benji> left <gary_poster> :-P <gary_poster> three rights make a left, silly! <benji> pfft <benji> I thought we were marching. <gary_poster> :-) <gary_poster> ok, cool, thank you <benji> yep #launchpad-yellow 2011-03-09 <gary_poster> bac benji gmb mumble/kanban now-ish <gmb> Right. <bac> ok <benji> I've not been doing the big function header comments with parameter names, types, descriptions, etc.; is that something we feel strongly about wanting? <gary_poster> reviewers sometime request it. We do generate docs with it <gary_poster> sphinx and something else too I think <gary_poster> I would say "encouraged but not required" at least from my perspective <benji> for now I'll do it for APIs exported in a YUI namespace and leave the rest for later if we want <gary_poster> cool <bac> gmb: new rev pushed to bzr+ssh://bazaar.launchpad.net/~yellow/launchpad/accordionoverlay/ <gmb> bac, benji, gary_poster: Could one of you scholarly gents review https://code.launchpad.net/~gmb/launchpad/add-mute-button-204980-2/+merge/52686 for me? There aren't any OCRs around yet. <gmb> bac: Okay, I'll grab that shortly. <gary_poster> thank you bac <gary_poster> oh <gary_poster> I misread that <gary_poster> :-P <gary_poster> I'll review it gmb <benji> gmb: I can review it <benji> or gary <gary_poster> :P <gary_poster> benji wins :-) <benji> heh <gmb> :) <gmb> gary_poster: Thanks. <gary_poster> np. not sure where that left us, benji, so I claimed it to be clear <gary_poster> (if you really want it, please ask; I'm taking it to not block anyone else) <benji> have at it <gary_poster> cool <gary_poster> gmb, is there a quick description of what will need to change to fix the broken behavior you describe in the MP ("if you're already subscribed it will actually unsubscribe you") or is a bunch of small niggly things that would be hard to summarize? <gmb> gary_poster: The latter. I'm writing a list and will file one or more bugs as necessary. <gary_poster> cool, thanks <gmb> gary_poster: It's a case of clicking the link and working out what wasn't supposed to happen, mostly :) <gary_poster> heh <gary_poster> the smalest niggle ever, but I'd be tempted to indent line 228 of the diff given the change you made--that, or compress lines 227, 228, and 229 into one. <gary_poster> do as you will * gmb looks <gmb> gary_poster: I'll do the second Thanks. <gary_poster> cool <gary_poster> gmb, (circa line 58 in diff) I think that if you added a clause to test_mute_subscription_link (or a separate test) that subscribed at METADATA or COMMENTS or LIFECYCLE and then rendered the link, it would still do the right thing. Might as well add such a clause/test; if it passes, it should be super fast to do, and if it doesn't, won't that be good to know. :-) <gmb> gary_poster: Agreed. I'll do that. <gary_poster> cool <gary_poster> gmb, I won't ask for a change, but if you are planning on landing this as is I'd be inclined to have the stuff in the pastebin (http://pastebin.ubuntu.com/577852/) included, commented out or otherwise disabled, with a comment explaining that this is a work in progress. <gary_poster> Whatever the method (I can think of others), the overriding thought is that I'd like someone viewing your code in the tree without access to your MP to not have to wonder, "hm, should I delete this unused cruft? I don't see any reason why not...." <gmb> gary_poster: Right, I see what you mean. I'll add it and comment it out. <gary_poster> cool <gary_poster> gmb, the fact that you are sometimes having to make a fake JS subscription object (it is fake when is_subscribed is True, and it only exists because of UI considerations, AIUI) reminds me of my general unease about combining the mute functionality with the direct subscriptions. <gary_poster> There's nothing to be done about this now--I still think proceeeding with the existing plan is reasonable given everything else--but I had to let the thought out or let it build pressure inside. :-) <gary_poster> All that said, it looks like one of the core pieces of broken logic that you described is in lines 108-114 of the diff (starting with "if (! is_subscribed) {" in setup_mute_link_handlers). That's where I'd expect to see code handling the "I'm subscribed but I need to mute" situation. An XXX is probably appropriate there, unless I'm reading it wrong. <gary_poster> (I also dislike the fact that you can have a direct subscription, click mute by accident, click unmute, and then have lost your direct subscription) <gary_poster> Anyway, approving. :-) <gmb> gary_poster: These are all things I aim to fix :) <gmb> But I'd rather land this and then start a fresh branch. <gary_poster> how will you fix that last one? <gary_poster> it seems inherent to the model we have <gmb> gary_poster: That one may be the straw that breaks the camel's back with regard to saying "You know what, we can't do this properly without a BugMute table." <gmb> (Or some other DB change). <gary_poster> right, that's what I was thinking <gary_poster> ok <gary_poster> So, I'll copy over some edited version of all this and approve. Thank you <gmb> np. <gary_poster> approved, gmb <gmb> Thanks. * gmb -> afk to run an errand; back in 30. <bac> gmb, when you get back: i'm seeing oddities with monkey patching named_post and patch. ping me when you have a moment. <gmb> bac: I'm back. What oddities are you seeing? <bac> gmb: i have two test cases. in both setUp routines i monkeypatch the .patch method. but i see tests in the second test case calling the patched version from the first or saying .patch is not a function <gmb> bac: Er. Hmm. Can you push your changes to the accordionoverlay branch so I can pull them and take a look locally. <bac> gmb: yeah, will in a sec. thanks. <bac> gmb: done <gmb> bac: Ok, pulling now. <bac> gmb: i also have questions about the use of window.LP vs. LP. that can wait <gmb> Ok. <gmb> bac: Taking a look at the first problem; bear with me whilst I downshift my brain. <gmb> bac: So, if I'm reading this right, the current test run goes something like this: <gmb> Start test case 1 <gmb> Do stuff <gmb> Finish <gmb> Start test case 1 <gmb> s/1/2/, sorry <gmb> Call the patch method from test case 1 <gmb> do more stuff <gmb> Call the patch method from test case 2 <gmb> Finish. <gmb> bac: Right? <bac> yes <bac> and, if you duplicate the first test from TC 2, tests after the first one DTRT * gmb prods a bit more <bac> *and* if i remove the monkey patching from TC1 the first test from TC2 fails as the patch is not called. <gmb> bac: So, I think your problem is that lp_client is a global variable in the structural-subscription.js. <gmb> bac: I've run up this patch: http://pastebin.ubuntu.com/577899/ <gmb> which makes it a namespace property instead. <gmb> (Of course, that then breaks tests which expect it to be undefined when in fact we've monkeypatched it already) <gmb> (And I'm not completely sure that I'm right) <gmb> bac: In fact, wait a moment, because I've broken things horribly there without meaning to. <gmb> bac: I've fixed the failures and pushed my changes. I think that my changes might actually not be necessary, though; I realised that we're doing the lp_client setup in a domready handler, but the testrunner doesn't wait for domready, so it gets out of sync. At least I think that might have been the core problem (but I had to do all these other changes to spot that). <bac> gmb: ok. so it is a mistake to do the set up inside the DOM ready handler? <bac> it seems to not have any dependencies on the DOM <gmb> bac: I don't think it's necessarily a mistake, but it might be worth trying to do it outside and see what breaks. <bac> ok <gmb> Alternatively, the test s should only run after domready. <gmb> It was that unpleasant an idea, he ran away. <gary_poster> :-) <gary_poster> benji, I suspect you should be pinged for todays call. If you are not in, say, 8 minutes, lemme know (or ask jml, whom I believe to be today's host) <gary_poster> team lead call I mean <benji> gary_poster: k <bac> gmb: sorry for disappearing...my box rebooted <gmb> np <gmb> Last think I did was agree with you and say: <gmb> "Alternatively, the test s should only run after domready" <bac> gmb: removing your changes and then moving the setup to outside the dom ready works <gmb> bac: Cool. Simpler is better :) <bac> so in yui unit tests, anything inside a domready handler just get executed as soon as possible? <bac> so to do that properly you do a dom ready wait inside the test? <gary_poster> benji, you getting on the call? <benji> gary_poster: yep * benji lunchinates * gary_poster lunches <gmb> bac: Sorry, didn't see your last couple of messages. <gmb> bac: I guess the right thing to do would be to have the Test.Runner.run() method called on domready and not before. <gmb> bac: Oh. <gmb> Which it is... <bac> er? <gmb> That's bizarre. <bac> tres bizarre <gmb> Hang on, let me try something... <gmb> bac: Hmm. So it should all *just work*, even with the domready stuff in place. I'm not quite sure why it doesn't, to be honest. <bac> weird <bac> well, for this case, rearranging the code is not a big deal <gmb> Right. <gmb> bac: I've got no further yet with the stuff-still-shows-up-when-it-oughtn't problem. I'm going to grab some food and then take another look before my brain loses context, otherwise I'll just have to start over tomorrow. <gmb> I'll ping you if I find anything. <bac> ok <benji> gary_poster: what's the status of the new every-subscription-has-at-least-one-filter rule? <gary_poster> benji, several parts to it. <benji> ok, that would explain the behavior I'm seeing <gary_poster> 1) every newly created subscription has a filter <gary_poster> 2) staging follows the rule (or it did a short while ago) <gary_poster> 3) prod and qastaging do not <benji> cool <gary_poster> 4) I don't *think* sample data does <gary_poster> prod and qastaging need to have me verify that things are speedy enough with filters everywhere, which I should be able to do on staging. Then we need to acton bug 728818 to run the SQL on prod and qastaging, and update sampledata <_mup_> Bug #728818: Production and qastaging should have a filter for every structural subscription <story-better-bug-notification> <Launchpad itself:Triaged by yellow> < https://launchpad.net/bugs/728818 > <gary_poster> (done) <bac> gary_poster: ping <gary_poster> 'hey bac <bac> hi, just testing my connectivity. connection to canonical IRC and IMAP just disappeared and IRC has me marked as dead <bac> not sure what is going on <gary_poster> you're not dead yet <bac> but freenode appears to work. sorry to bother you <bac>
{'channel': 'launchpad-yellow', 'month': 3}