[13:09] <gary_poster> hey benji  sorry for the email dump last night
[13:10] <gary_poster> you ok with that merge, and doing that review
[13:10] <gary_poster> ?
[13:10] <benji> heh, np; reviewing the branch now
[13:10] <gary_poster> cool thank you
[13:11] <gary_poster> I have just over an hour to work this morning before heading out to the dr
[13:11] <gary_poster> then back after lunch
[13:21] <gary_poster> bac, I wonder if get_node_for_unsubscribing in subscription.js might help you.  No worries if not, but if so, it does a lot of good stuff and is already well tested.
[13:21] <bac> gary_poster: thanks for the suggestion
[13:21] <gary_poster> np
[13:22] <bac> gary_poster: there is also stuff in bugtask_index_portlets.js that may be useful if i refactor
[13:22] <gary_poster> bac, true, though AFAICT that stuff is not tested at all
[13:23] <gary_poster> but whatever works, of course
[13:23] <bac> urgh
[13:23] <gary_poster> yeah
[13:27] <gary_poster> bac benji, I'll look at kanban in a moment, and call in 4
[13:30] <gary_poster> oops
[13:32] <gary_poster> bac benji you are not on Skype?  maybe bac is
[13:32] <gary_poster> having Skype UI issues
[13:32] <benji> well I thought I was
[13:32] <bac> i is
[13:33] <benji> gary_poster: am now
[13:33] <benji> grr; that's two days ina row
[13:42] <benji> bac: bzr+ssh://bazaar.launchpad.net/~gary/launchpad/direct-personal-subscription-actions/
[13:49]  * gary_poster didn't give anyone opportunity to say stuff
[13:49] <gary_poster> sorry
[13:49] <benji> np
[13:51] <bac> can we standardize on  Y.Node.create('<div/>') vs  Y.Node.create('<div></div>') ?
[13:51] <gary_poster> bac, benji, +1
[13:51] <bac> the former actually renders a proper div, though you cannot have a self closing <div>
[13:52] <benji> +1
[13:52] <bac> but it is less typing
[13:52] <bac> so you may do it in JS but not in a page template
[13:52] <benji> I was hoping that Y.Node.create('div') would do the right thing, but it doesn't.
[13:53] <gary_poster> I generally think benji's recent experiments are a great way forward.  One tweak I've wondered about is setStyles({...}) rather than setStyle setStyle setStyle
[13:53] <gary_poster> less typing and still readable I think
[13:54] <benji> I figured that several single-line calls were better than the nesting required for the multiline call, but it's probably more a difference of taste.
[13:54] <gary_poster> hm, interesting
[13:54] <gary_poster> I haven't actuyally looked at the diff, just thought of it
[13:55] <gary_poster> and thought about typing less ;-)
[13:55] <benji> since it's going to be the same number of lines either way
[13:55] <benji> tab completion, man ;)
[13:55] <gary_poster> heh
[13:55] <gary_poster> doesn't help with quotes
[13:56] <benji> oh, if you use an editor with abbreviations: I bound "ync" to "Y.Node.create" which for some reason is hard for me to type quickly
[13:56] <gary_poster> yeah, it does go on forever
[13:56] <benji> "quotes"?  oh, the fact that uou don't have to put quotes around the mapping keys, yeah, that is a vote in the setStyles column
[13:56] <gary_poster> yeah, I set up abbreviations and then I don't use them :-/
[13:57] <gary_poster> (yeah, that's what I meant)
[13:57] <benji> I only add one at a time (no matter how many I think I want) that way I only have one to learn at a time.
[13:58] <gary_poster> good idea
[13:58] <benji> That's the same rule I use for learning vim features, any more than that and your head explodes.
[13:58] <gary_poster> :-)
[14:16] <benji> gary_poster: I'm done with https://code.launchpad.net/~gary/launchpad/direct-personal-subscription-actions/+merge/58216; I included a patch to change the things I whined about
[14:16] <gary_poster> thank you benji!  I'll see if I can get that out before I go
[14:26] <gary_poster> bac, benji, the branch that we said we would base off of is now updated with the patch that benji provided in his review.  You might want to update.  I'm submitting it through ec2 land now.
[14:26] <gary_poster> Also, I only got started on making a helper function
[14:26] <gary_poster> http://pastebin.ubuntu.com/596028/
[14:26] <gary_poster> shows what I did
[14:26] <gary_poster> I focused on what I nbeed
[14:26] <gary_poster> need
[14:26] <bac> ok
[14:27] <benji> k
[14:27] <gary_poster> The helper function that I mentioned for bac does not clean up properly; it's possible that we ought to make that function above generic...or maybe make a clean up/redraw function that we all use
[14:27] <bac> gary_poster: you mentioned on the call about using strings for the actions for all but unsubscribe.  what were you referring to?  i don't see it.
[14:27] <gary_poster> bac return make_action('remove-direct-subscription')
[14:28] <gary_poster> but it is now fixed thatnks to benji's patch
[14:28]  * bac looks
[14:28]  * bac re-merges
[14:28]  * gary_poster running
[14:28] <gary_poster> ttyl
[17:09] <benji> bac: is lib/lp/contrib/javascript/yui3-gallery/gallery-accordion/gallery-accordion.js a straight vendor import or have we made changes to it?  I'm asking because I'm deciding whether or not to include it in my delinting.
[18:06] <gary_poster> bac, benji, where are we?  Should I continue with my patch, or has someone run with it while I was out?
[18:08] <benji> gary_poster: nope, I've not
[18:08] <gary_poster> ok thanks.  bac is biking I guess.  I'll run with it a bit more
[18:35] <gary_poster> benji, it's conceivable that, with the helper I've written, the implementation of the mute action becomes
[18:35] <gary_poster>         .appendChild(
[18:35] <gary_poster>             make_action_link(
[18:35] <gary_poster>                 'mute all emails from this bug',
[18:35] <gary_poster>                  'no', 'mute', {}));
[18:36] <gary_poster> similarly for unsubscribe, actually
[18:39] <benji> [coming back from llunch] sounds good; I'll be done with this in a minute and I'll start on one of the actions
[18:39] <gary_poster> ok...I might have done all of the actions...
[18:40] <benji> heh
[18:40] <benji> I'll take the afternoon off then.
[18:40] <benji> :P
[18:40] <gary_poster> heh
[18:40] <gary_poster> lemme see if this works
[18:41] <gary_poster> benji, do you have advice for building node text like at the bottom of https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2/Slide1 ?
[18:41]  * benji looks
[18:41] <gary_poster> You can also <link node>.  However...
[18:41] <gary_poster> IOW, how do you suggest dealing with the whitsepace-eating
[18:42] <gary_poster> I wonder if you or bac knows what the story is with the breadcrumbs in that mockup
[18:42] <gary_poster> I'd like to have a link to the bug
[18:45] <benji> gary_poster: I've used gratuitous <span>s in the past, which worked ok; I experimented with replaceing the leading and trailing spaces iwth &#32; but it was too ugly to live
[18:45] <gary_poster>  qqheh
[18:45] <gary_poster> -qq
[18:46] <benji> gary: bad option -q
[18:46] <gary_poster> :-)
[18:47] <gary_poster> span around whitespace?
[18:48] <gary_poster> .append('<span/>').set('text', ' ')?
[18:49] <benji> I was doing it before I entered my tags-only-in-Y.Node.create period, so I was doing .append('<span> words </span>'), but I bet setting the text will work too
[18:50] <gary_poster> so .append('<span/>').set('text', ' words ')
[18:50] <benji> to clarify: span around the words and leading trailing whitespace
[18:50] <benji> right
[18:50] <gary_poster> I can give it a try
[18:51] <benji> another thing I'd like to settle on is whether or not we should use Y.Node.create when using the <tag/> approach
[18:51] <gary_poster> why would we not?
[18:52] <gary_poster> grr, direct-personal-subscription-actions tests failed--and it looks like for reasons having nothing to do with my branch. :-/
[18:53] <benji> :(
[18:53] <gary_poster> benji, so that's two crucial tasks, one of which you can take
[18:53] <gary_poster> when you are ready
[18:53] <benji> k
[18:53] <gary_poster> 1) run with the branch I am working on now
[18:53] <gary_poster> 2) figure out what is up with that failing branch
[18:53] <gary_poster> and fix
[18:53] <benji> k
[18:58] <bac> benji: do not delint anything in lp/contrib
[18:58] <benji> bac: k, thanks
[18:59] <bac> gary_poster: i worked with your branch some and got a link for unsubscribe to render.  it isn't polished but POC
[18:59] <bac> gary_poster: btw, your branch was throwing an error b/c one of the reductions was null
[18:59] <gary_poster> bac, cool.  I think I may have a "one function to rule them all" kind of thing
[19:00] <gary_poster> bac, huh, I wonder why the tests didn't catch
[19:00] <gary_poster> ok so all three of us are here
[19:00] <gary_poster> these are the tasks I know of
[19:00] <bac> dunno.  i added a few subscriptions to bug/1.  to get it to work i had to get the node and check that it wasn't null so i could proceed with my work
[19:01] <gary_poster> 1) try to figure out why the branch I tried to land had all kinds of unrelated errors (bad merge?  bad devel at the time I ran the test?)
[19:01] <gary_poster> and try to land it again
[19:02] <gary_poster> 2) try to see if the "one function to rule them all" for the actions will work.  I'm at the "see if it will work" stage; it is sketched.  after it works, it will need tests
[19:02] <gary_poster> actually it also needs a story for transitions
[19:02] <gary_poster> (after you click something and it successfully changes state, redraw the pertinent parts of the page)
[19:02] <gary_poster> 3) figure out the problem bac described and fix
[19:03] <gary_poster> 4) lots of other cleanup & bugfix cards on the board
[19:03] <bac> gary_poster: so your #2 will make the little work i've done obsolete?  yippie if so
[19:03] <gary_poster> Then we have one more must-have green card on the board but I want us to have this card done before we look at it
[19:03] <gary_poster> bac, yes
[19:04] <gary_poster> and sorry...it's why I showed that function earlier, before I left
[19:04] <gary_poster> it's that functon with a few more variables
[19:04] <gary_poster> I needed it for unmute
[19:04] <gary_poster> which then looked pretty much the same as what we needed for everything else, AFAIK
[19:04] <bac> ok
[19:05] <gary_poster> bac, I'm willing to hand off my current branch, but I'd like it to work so that I know I'm not handing off a POC myself
[19:05] <gary_poster> so I want to run with it a bit farther at least
[19:05] <gary_poster> meanwhile you could investigate #3?
[19:05] <bac> gary_poster: sounds good
[19:05] <gary_poster> ok thanks
[19:06] <bac> gary_poster: will do
[19:06] <gary_poster> cool
[19:07] <bac> gary_poster: just so you'll know where it was, this is one of the two changes i made:
[19:07] <bac>         direct_node.one('.reductions').removeClass('hidden');
[19:07] <bac>         for (i=0; i<direct_info.reductions.length; i++) {
[19:07] <bac> but i'll look into it
[19:08] <gary_poster> I don't see the change
[19:08] <gary_poster> I mean, I see the code
[19:08] <gary_poster> where it is
[19:08] <bac> the test for null
[19:08] <bac> otherwise it was dying with a null object
[19:09] <gary_poster> so what does the code look like after your change?
[19:09] <bac> direct_node.one(...).removeClass()
[19:09] <bac> boom
[19:09] <gary_poster> huh
[19:09] <gary_poster> that reductions node should always be there
[19:09] <gary_poster> that was my intent I mean
[19:10] <bac> ok, at the time it was just in my way so i didn't investigate
[19:10] <bac> now it is my task so i'll figure it out
[19:10] <gary_poster> yeah np
[19:24] <gary_poster> ok, the basics all seem to work.  we need to redraw, and we need tests
[19:24] <gary_poster> and we need to tweak presentation
[19:25] <benji> gary_poster: ok, my lint branch is in the review queue; point me at my next victim
[19:26] <gary_poster> great, benji.  your choice.  I have the branch I've been working on, which now works, and you can see the intent pretty easily, and has the three tasks I listed above; or you can investigate why the dependent branch from this morning did not land
[19:26] <gary_poster> I'm happy for you to take either of those
[19:26] <benji> it seems that figuring out why the branch went south would be best
[19:26] <gary_poster> ok benji.  Thank you.  I'll forward you the email
[19:28] <gary_poster> benji, attachments make the email 21.9 MB.  Do you want me to send it to you, or send just the text and put the attachements for you on devpad later if you want them?
[19:28] <benji> send it on, I can take it
[19:28] <gary_poster> that's weird
[19:28] <gary_poster> ok
[19:29] <gary_poster> the body, not the attachments, might be the space hog.  I guess because, even though it has less info, it is uncompressed
[19:31] <gary_poster> benji, the mail just made it through the pipes on my side. :-)
[19:31] <benji> thanks
[19:32] <benji> gary_poster if you or bac have a second, there's no OCR right now and I don't want my lint branch to rot: https://code.launchpad.net/~benji/launchpad/lint/+merge/58371
[19:32] <gary_poster> bac, are you ok with that task?
[19:32] <bac> benji: i can do it
[19:32] <gary_poster> thank you
[19:32] <benji> thanks
[19:34] <benji> gary_poster: I got your email.  My laptop seems heavier.
[19:34] <gary_poster> heh
[19:36] <bac> benji: just a question, but is there any compelling reason to prefer v [19:36] <bac> i've had reviewers push me towards the Y.Lang versions
[19:36] <benji> bac: not that I'm aware of; the fact that Y.Lang.isNull exist suggests that it's better
[19:37] <bac> yeah, you'd hope so
[19:37] <gary_poster> hee hee
[19:41] <bac> benji: why the change at line 610 of the diff?
[19:42] <benji> bac: jslint doesn't like it when you use a symbol for the first time while in the definition of the symbol
[19:43] <benji> it gives some message like "foo used before it is fully defined"
[19:43] <bac> oh, ok
[19:46] <bac> benji: done
[19:46] <benji> cool, thanks
[19:48] <benji> well, gary: I can certainly reproduce the errors from the email.  Now to figure out why they're there.
[19:55] <gary_poster> ack, benji.  I assume buildbot does not show any problems like that?  And are there differences in unexpected files if you diff with devel?
[19:56] <benji> gary_poster: nope, only lib/lp/bugs/javascript/subscription.js and lib/lp/bugs/javascript/tests/test_subscription.js are different relative to devel
[19:57] <gary_poster> wow
[19:57] <gary_poster> and devel is not failing similarly?
[20:00] <benji> I'll know in a minute.
[20:01] <benji> gary_poster: oooh, devel failed in the same way
[20:01] <gary_poster> ah :-/
[20:01] <gary_poster> and buildbot is happy??
[20:02] <benji> that's hard to say
[20:03] <benji> they're red, but I haven't found the actual test output yet to see if it's the same thing
[20:03] <gary_poster> benji, https://lpbuildbot.canonical.com/builders/lucid_lp/builds/860/steps/shell_6/logs/summary
[20:03] <gary_poster> (it's the "summary" link in the waterfall)
[20:03] <benji> my browser is giving me fits; grey screen of locky-upness
[20:03] <gary_poster> :-(
[20:04] <gary_poster> sample looks familiar:
[20:04] <gary_poster> ValueError: ('Undefined permission id', <Distribution 'Distribution601950' (distribution601950)>)
[20:04] <gary_poster> henning thinks he has fixed it
[20:05] <gary_poster> there is still an error :-(
[20:05] <gary_poster> at least one
[20:05] <gary_poster> ComponentLookupError: (<lp.registry.model.distributionsourcepackage.DistributionSourcePackage object at 0x1632a190>, <InterfaceClass canonical.launchpad.webapp.interfaces.IAuthorization>, 'launchpad.Edit')
[20:05] <benji> yep, I thought someone was working on that; it was fall-out from henninge refactoring something that wasn't tested
[20:05] <gary_poster> and he landed it without running all tests on ec2?
[20:05] <gary_poster> meh :-/
[20:06] <gary_poster> ok, well, there goes your task ;-)
[20:06] <benji> he said something about ec2 tricking him
[20:06] <gary_poster> heh
[20:06]  * benji makes finger guns and says "pew! pew!"
[20:07] <gary_poster> lol
[20:07]  * benji feels a little silly today, obviously.
[20:07] <gary_poster> benji, I might have a way for us to collaborate later, but for now "Fix for 753152..." or...
[20:07] <gary_poster> book Dublin travel :-P or...
[20:07] <benji> actually, I think there is something I can do travel-wise, then I'll look at 753152
[20:08] <gary_poster> ok cool
[20:25] <bac> gary_poster: it looks like the changes i made to unsubscribe_action were causing the problem with reductions
[20:26] <bac> gary_poster: so #3 is probably a non-issue
[20:28] <gary_poster> ok cool
[20:28] <gary_poster> bac, any other cleanup card calling your name on the board?  I can highlight some
[20:28] <gary_poster> actually, bac
[20:29] <gary_poster> well, if you wanna or if benji wants to, there's the task of trying to make the boxes and stuff look prettier
[20:29] <gary_poster> for the direct actions we are working on now
[20:29] <gary_poster> anothr very small task probably
[20:29] <bac> ok.  i was admiring how ugly they are
[20:29] <gary_poster> lol
[20:34] <bac> gary_poster: how shall i deliver fixes?  give you a branch to merge?
[20:34] <gary_poster> bac, sure, I guess
[20:35] <gary_poster> bac, or just make a branch based on the other one
[20:35] <bac> you mean yours?
[20:35] <gary_poster> we won't be able to land until that branch is dealt with
[20:35] <gary_poster> yeah
[20:35] <bac> yes, i'll branch devel, merge from gary, and make my fixes
[20:35] <gary_poster> cool sounds good
[20:35] <gary_poster> thanks
[20:35] <gary_poster> then you can land after mine
[20:36] <gary_poster> or I can merge
[20:36] <gary_poster> whatever
[20:36] <bac> but i didn't figure they would be landable independently.
[20:36] <bac> righto
[21:03] <gary_poster> bac, benji, lp:~gary/launchpad/direct-personal-subscription-actions-subscribe has all actions working, with a crude redraw after each successful change
[21:03] <gary_poster> I have a call with flacoste now
[21:04] <benji> cool!
[21:04] <gary_poster> next tasks: tests, make look pretty
[21:04] <gary_poster> tests should probably be in this branch
[21:04] <gary_poster> pretty can be later
[21:04] <gary_poster> we need to update state better after other subscriptions
[21:04] <gary_poster> but we can do that in another card too
[21:04] <gary_poster> so anyway
[21:05] <gary_poster> benji, if you want to claim the branch and run with it, cool.  if you want to leave it for me when I get back, cool
[21:05] <benji> k
[21:44] <gary_poster> benji, did you run with it or should I continue?
[21:45]  * gary_poster continuing
[21:46] <benji> gary_poster: right, you shoudl continue
[21:46] <gary_poster> cool
[21:47] <benji> gary_poster: I'm doing something wrong on this "fix for 753152" thing; I can't repro in a db-devel checkout and I can't get qastaging to show me the link that has the help on it at all
[21:47] <gary_poster> benji, qastaging won't have the db dif
[21:47] <gary_poster> benji, only staging
[21:48] <benji> grr; I still don't understand all those moving pieces
[21:48] <gary_poster> qastaging = stable, staging = db-stable
[21:48] <gary_poster> but understood :-)
[21:49] <benji> I'm writting that in my notes.
[21:49] <gary_poster> :-)
[21:49] <benji> gary_poster: ok, I can't repro in staging either; the link opens in the little help box just like it should
[21:50] <benji> you should see the same thing when you visit https://bugs.staging.launchpad.net/launchpad/+bug/708258/+subscriptions
[21:50] <_mup_> Bug #708258: Failed to parse comment sent via email <code-review> <email> <questions> <Launchpad itself:Triaged> < https://launchpad.net/bugs/708258 >
[21:50] <gary_poster> huh, I don't see the help link at all on staging
[21:51] <benji> gary_poster: did you hover?
[21:51] <gary_poster> I appear to floating off the ground several feet!!
[21:51] <gary_poster> be
[21:51] <benji> lol
[21:51] <gary_poster> but yes, mouse went over link
[21:52] <benji> FF3 I presume
[21:52] <gary_poster> Chrome
[21:52] <benji> oh, let me try that
[21:53] <gary_poster> confirm in works in FF4
[21:53] <gary_poster> it
[21:54] <benji> Yay! It doesn't work in Chrome.
[21:54] <gary_poster> does not work in Safari either, somewhat unsurprisingly
[21:54] <gary_poster> heh
[21:54] <gary_poster> That's a new, different bug than the one I saw before
[21:54] <gary_poster> but if it's easy to fix, we can pretend that's the bug ;-)
[21:55] <benji> pfft; ok
[21:56] <bac> gary_poster: i'm not the best CSS person, but i'm at a loss why i can't separate the reason from the border box
[21:56] <bac> on the reason span i've added padding-bottom and margin-bottom but it doesn't move the box.
[21:57] <gary_poster> bac, try display:block?  or put it in a div instead?
[21:58] <benji> that's probably it; spans don't have padding
[22:01] <bac> benji: ah, thanks
[22:21] <bac> hi gary_poster, is this what you wanted or something more drastic?
[22:21] <bac> http://people.canonical.com/~bac/prettier.png
[22:24] <gary_poster> bac, good.  how does it lok when there are both boxes (increases & reductions() around?
[22:25] <bac> gary_poster: dunno yet
[22:25] <bac> need to figure out how to get increases
[22:26] <bac> if i mute i get increases only
[22:26] <gary_poster> bac, try subscribing at a medium level
[22:27] <bac> ah, it looks like turd
[22:27] <gary_poster> heh, I thought so
[22:28] <bac> hold, please
[22:31] <bac> gary_poster: better: http://people.canonical.com/~bac/prettier.png
[22:34] <gary_poster> bac, yeah, yay
[22:34] <gary_poster> might want to also check unsubscribe with warning
[22:34] <bac> ok
[22:34] <gary_poster> I would have expected that to be shown there
[22:35] <gary_poster> did you turn things on manually, or is this indicative of a logic error somewhere?
[22:47] <gary_poster> bac, benji, lifeless says that our squad needs to investigate https://bugs.launchpad.net/launchpad/+bug/766561 , dropping everything.  My impression of people's knowledge of this part of the codebase is (1) Danilo and myself; (2) Graham and Benji; (3) Brad.  On the basis of that
[22:47] <_mup_> Bug #766561: person in team A which is a subteam of team B not getting bug email for bugs team B is subscribed to <regression> <story-better-bug-notification> <subscribers> <Launchpad itself:Triaged> < https://launchpad.net/bugs/766561 >
[22:48] <gary_poster> impression, I'm inclined to toss my branch to one of you, and take a look at that myself.  However, I'm happy to let one of you claim the bug if you like.
[22:50] <bac> gary_poster: to your previous question, i did not turn things on manually so if unsubscribe with warning should be shown and isn't i'd guess it is a bug
[22:50] <gary_poster> darn, bac :-/
[22:52] <benji> gary_poster: I'm willing to take either, but won't be available until after feeding children (I'm down one wife for the evening).
[22:53] <bac> benji: how many does that leave?
[22:53] <benji> :)
[22:54] <gary_poster> benji, it doesn't have to be till tomorrow, unless you have extra hours left over for the day
[22:54] <bac> gary_poster: i can pick up your branch
[22:54] <benji> I've considered adding a hot-spare but interoperability is an issue.
[22:54] <gary_poster> heh
[22:54] <gary_poster> bac, ok thank you
[22:54] <benji> I'm hour-free at the moment.
[22:54] <bac> gary_poster: but i'm unsure what your roadmap was
[22:54] <gary_poster> benji, then talk to you tomorry
[22:55] <benji> I like your new accent.
[22:55] <gary_poster> :-)
[22:55] <gary_poster> bac, all that was left was to get current tests to pass, and then add tests for the new stuff I added
[22:55] <gary_poster> There's prettification to be done, and probably other stuff, but I think that can wait to a later branch
[22:55] <bac> gary_poster: oh, if that's all i'll be done before dinner
[22:55] <gary_poster> :-P
[22:56] <gary_poster> bac, were you hoping for a test roadmap?  I didn't have one yet.
[22:56] <bac> gary_poster: you want to stop, push your branch, and point me to the failing tests?
[22:56] <bac> gary_poster: well, it would be nice to know what needed to be done at a little better granularity.  but i can quiz you tomorrow
[22:57] <gary_poster> :-)
[22:57] <gary_poster> ok bac, how much more time do you have before eod?
[22:58] <bac> gary_poster: not much but i'll poke at it after dinner
[22:59] <gary_poster> bac ok thanks.  I'll send you an email in just a few then
[22:59] <gary_poster> thank you
[22:59] <bac> cool
[22:59]  * bac dinners