[00:03] <Makyo> gary_poster, Proposed, added note in cr.  Can add comment about our internal QA with LGTM if you think that would help
[00:03] <gary_poster> Makyo +1
[00:03] <gary_poster> and thank you
[00:26] <hatch> rick_h_: what is a helper? handlebars helper?
[00:26] <gary_poster> Makyo hi.  We have permission to land from dfc if you can make some small changes
[00:29] <rick_h_> hatch: nvm, I'm going a diff route
[00:29] <rick_h_> hatch: I meant like a Y.Object.areEqual()
[00:29] <hatch> alrighty
[00:29] <hatch> oh that's kind of tough
[00:29] <hatch> because how many levels deep do you go
[00:29] <rick_h_> I'm trying a diff approach. I got everything working but the double routing causes things to get redrawn over and over. 
[00:29] <hatch> everything in js is an object :)
[00:30] <rick_h_> so back to trying to check against state to see if it should redraw/load or what
[00:30] <rick_h_> hatch: yea, I've got a small state object of just 5 fields
[00:30] <hatch> would instanceof work?
[00:30] <rick_h_> hatch: no, I wanted to basically check if the 5 state fields are the same/diff
[00:31] <rick_h_> hatch: but all good, that won't work anyway since I need to know on a field by field basis
[00:41] <Makyo> gary_poster, working on it, not sure what the ResolvedResults was about, but I'll roll it back.
[00:42] <gary_poster> Makyo, great, thank you!  I have some progress on the other bug; can share when you are ready if you want (but if it is time for EoD at any point then take it!)
[00:45] <hatch> rick_h_: ahh ok
[00:46] <huwshimi> rick_h_: Has the sidebar content been broken. It won't load for me with: "XMLHttpRequest cannot load http://staging.jujucharms.com/api/0/sidebar_editorial. Origin http://uistage.jujucharms.com:8080 is not allowed by Access-Control-Allow-Origin. "
[00:49] <hatch> huwshimi: yes something about an endpoint being changed
[00:49] <hatch>  he told me to just ignore it
[00:49] <hatch> not sure if that's reasonable for you
[00:49] <hatch> :)
[00:50] <huwshimi> hatch: Yeah, not so helpful if the content doesn't show up for me to style :)
[00:53] <rick_h_> huwshimi: I've got a fix in this branch. sec I'll get you a diff
[00:53] <rick_h_> huwshimi: diff is loading: https://code.launchpad.net/~rharding/juju-gui/browser_links/+merge/159215
[00:53] <rick_h_> huwshimi: look for the changes from sidebar_editorial/interesting
[00:54] <rick_h_> huwshimi: in store.js and then in the sidebarEditorial.js calling it
[00:57] <Makyo> gary_poster, submitted.  Would be glad to look at changes on the other bug for a bit.
[00:57] <Makyo> s/submitted/submitting.
[00:58] <huwshimi> rick_h_: Will you be landing this tonight?
[00:58] <gary_poster> Makyo, awesome thanks for submitting.  I'm quite confused.  What I found was that .x and .y were actually set on the service
[00:58] <gary_poster> but then
[00:58] <rick_h_> huwshimi: no, I would like to but still working out the double reloading and will need to get 2 reviews and everyone is going to be EOD any minute now
[00:58] <gary_poster> I tried to make a setter
[00:58] <gary_poster> but that didn't repeat
[00:59] <rick_h_> huwshimi: diff is done loading. Looks like the big part is at the top of the page
[01:00] <gary_poster> however, now *all* services seem to exhibit crazy dragging behavior Makyo.  I think the only difference is the array.length change I made, which does not make a lot of sense.  My current plan is to try and get things to where they were, get it proposed and maybe landed, and hand it to your able hands.
[01:00] <huwshimi> rick_h_: What should I do? Branch from yours today?
[01:01] <rick_h_> huwshimi: so you can dupe the changes to app/store/charm.js in your branch and I'm getting you the other section you need. 
[01:01] <rick_h_> huwshimi: should be like 10 line diff to fix you up
[01:01] <rick_h_> huwshimi: line 503 of the diff
[01:01] <huwshimi> rick_h_: Can't we just land that if trunk is broken?
[01:01] <rick_h_> so the first file + line 503 should make it work for you
[01:02] <rick_h_> huwshimi: yea, I can get it in a sec. Just have my branch in the middle of a mess and didn't take the time to split off a new thread of work to fix it. 
[01:02] <rick_h_> huwshimi: give me 20 and I'll get an update with just that to trunk. 
[01:02] <huwshimi> rick_h_: OK, that sounds best. Thanks for that.
[01:02] <rick_h_> the one downside of colo :)
[01:03] <huwshimi> :)
[01:03] <gary_poster> Makyo, wow, yeah, fixing that .length thing breaks any service you add
[01:04] <Makyo> gary_poster, hmm.. Maybe it was doing something right, but it'd be nice to figure out what.
[01:04] <Makyo> gary_poster, Does this only happen with sandbox, or does it happen with improv too?
[01:05] <gary_poster> Makyo, have not tried with improv.  I'm proposing previous fixes, then need to EoD
[01:05] <Makyo> gary_poster, sounds good.  I'll take a look at proposal, then.
[01:05] <gary_poster> thank you
[01:08] <huwshimi> rick_h_: Also, did you remove the <a> from the changelog toggle?
[01:08] <rick_h_> huwshimi: yes, back to using a click event on the whole div
[01:08] <rick_h_> huwshimi: so that click-space should fix up peachy back the way it was
[01:08] <huwshimi> rick_h_: Click-space?
[01:08] <rick_h_> huwshimi: the clickable area of the charm-token
[01:10] <huwshimi> rick_h_: I'm not sure what you mean. It's not inside a charm-token (charm-tokens are only in the sidebar right?)
[01:10] <rick_h_> huwshimi: oh sorry, misread. changelog toggle. /me didn't think he touched that
[01:11] <rick_h_> huwshimi: oh right. That was the other day. It was a hack because of some debugging that afterwards looked like it did no damage/simpler
[01:12] <rick_h_> huwshimi: dealing with bugs where events get bound twice and such so didn't realize what the issue was and was tinkering with the event binding on the changelog stuff to test/fix it
[01:12] <huwshimi> rick_h_: Want me to replace it then?
[01:12] <rick_h_> huwshimi: whatever you think is best. I really didn't care but afterwards initially missed it in cleaning up my debug code
[01:12] <gary_poster> Makyo, hatch, quick review? https://codereview.appspot.com/8812043
[01:14] <hatch> Ohhhhhh if you incist
[01:14] <hatch> :)
[01:14] <gary_poster> :-) thank you
[01:15] <huwshimi> rick_h_: OK will do. It's more browser friendly so worth doing. I'll get to it when I'm fixing up the changelog today.
[01:15] <rick_h_> huwshimi: just remember this is an all JS app. No fallback required. No link handling of <a> really works without JS anyway 
[01:15] <rick_h_> huwshimi: can you sanity check https://codereview.appspot.com/8783044 please?
[01:16] <rick_h_> huwshimi: it's simple, but I've crossed 12hrs and stoped trusting myself
[01:17] <huwshimi> rick_h_: Sure, but it's nice to have proper browser handling of links (being able to tab to the link etc.)
[01:17] <rick_h_> huwshimi: ah, gotcha you're right there. 
[01:17] <rick_h_> huwshimi: so I stand corrected then. :)
[01:22] <gary_poster> Makyo, hatch, thank you for reviews!  Makyo, I filed #1169782 and put it on board in Maintenance
[01:23] <gary_poster> landing code now
[01:23] <huwshimi> rick_h_: Looks ok to me and runs fine here.
[01:23] <rick_h_> huwshimi: ok, self-reviewing and landing. Sec to get through lbox
[01:23] <gary_poster> _mup_ is sad
[01:24] <rick_h_> huwshimi: note that there's no featured atm. They're working on that feature on the backend at the moment
[01:24] <rick_h_> huwshimi: but the new/popular are pulled from the live data now woot!
[01:24] <gary_poster> rick_h_, huwshimi, looking nice :-)
[01:24] <rick_h_> gary_poster: _mup_?
[01:25] <gary_poster> rick_h_, _mup_ is the irc bot that is supposed to translate bug numbers to LP links
[01:25] <rick_h_> ah, right. I knew it sounded familiar but a company directory came up empty lol
[01:25] <gary_poster> :-)
[01:25] <rick_h_> huwshimi: ok, should be merging now so check for that update
[01:25] <huwshimi> rick_h_: Thanks a lot.
[01:26]  * rick_h_ goes back to fighting stupid loading/caching/screw it all issues
[01:28] <rick_h_> actually I'm going to give up the fight and carry this card another day. Check you all tomorrow. 
[01:34] <huwshimi> rick_h_: Night Rick. Thanks for your help
[07:22] <huwshimi> http://staging.jujucharms.com/ has gone down a little while, but I don't suppose anyone is awake to deal with it?
[10:25] <frankban> hi rogpeppe: I've seen --fake-series precise no longer work. How to obtain the same result?
[10:26] <rogpeppe> frankban: i think it happens automatically now.
[10:27] <frankban> rogpeppe: cool, trying. at what revision was juju-core frozen?
[10:29] <rogpeppe> frankban: i don't think it's frozen yet!
[12:09] <gary_poster> My wife has a dr visit this morning, so I will be unavailable starting in about an hour
[12:09] <gary_poster> to take care of our 2-yr-old while she is gone
[12:11] <bac> gary_poster: can't you just give her the ipad and have her do QA?
[12:12] <gary_poster> bac, heh, I feel more comfortable giving her the ipad when wifi is turned off
[12:19] <gary_poster> teknico LGTM with a bug fix and test
[12:23]  * gary_poster is starting the qa for frankban's branch, so other reviewer can just look at code
[12:34] <gary_poster> guihelp, someone please remind me what I need to do fully refresh a juju core, including dependencies, please?
[12:34] <gary_poster> google drive appears to be down for the count
[12:35] <bac> gary_poster: if you have no changes to juju-core you can do a 'get get -v launchpad.net/juju-core/...'
[12:35] <gary_poster> bac, thanks.  that includes building?
[12:35] <bac> recall it does a 'bzr pull --overwrite'
[12:35] <gary_poster> ok
[12:35] <bac> gary_poster: i don't think so
[12:36] <bac> you'll need a 'go install launchpad.net/jujuj-core/...' too.  that does a build, i think
[12:36] <gary_poster> ack ok thank you bac, trying
[12:37] <gary_poster> worked
[12:47] <frankban> gary_poster: thanks for QAing my branch! my own QA showed a behavior we might avoid: if you try to destroy a service in an error state, you hit the known bug of the service not being really detroyed. But, in that case, juju sends a Life: dying message, so the service disappears from the GUI, even if it's still there. One possible solution is a branch (that continues the work of my current one) that only hides the se
[12:47] <frankban> rvices if they are not alive AND not in an error state.
[12:47] <gary_poster> frankban, ugh for the situation, and +1 for the solution.
[12:49] <frankban> gary_poster: cool, I will do that after this one lands. 
[12:49] <gary_poster> thank you
[12:49] <frankban> bac: could you please review https://codereview.appspot.com/8824044 ? no qa required, Gary is already doing that
[12:50] <bac> frankban: ok
[12:50] <frankban> bac: thanks
[12:52] <gary_poster> frankban, bac, I think benji already reviewed fwiw
[12:52] <benji> yep; I tagged it and everything
[12:52] <bac> gary_poster: yep, i just noted that
[12:52] <benji> yay for coordination
[12:55] <frankban> ah! didn't see the tag, and now the board is not loading. anyway, thank you benji. juju-core already sends the Life field as part of the ServiceInfo delta
[12:55] <benji> frankban: ah, that makes sense; thanks
[13:10] <gary_poster> frankban, qa went well.  LGTM.  thank you
[13:10]  * gary_poster goes to babysit
[13:10] <frankban> gary_poster: great
[13:52] <rick_h_> bcsaller: when you get rolling today wonder if I can steal some time to chat about routing please. 
[14:06] <hatch> they see me routin......they hatin.....dispatchin.....tryin to catch me ridin recursive......tryin to catch me ridin recursive...
[14:06] <rick_h_> hatch: :P
[14:07] <hatch> geek hop mc here
[14:08] <hatch> there was a hilarious tweet the other day  "Bitcoin won't be huge until some rapper claims to have a lot of it"
[14:31] <hatch> anyone else find it odd that there is no link to ubuntu one from ubuntu.com?
[14:32] <hatch> especially considering it's a subdomain :)
[14:34] <teknico> hatch, sure there is, you just have to dig a little :-P http://www.ubuntu.com/desktop/features/personal-cloud
[14:35] <hatch> oh jeeze lol
[14:35] <teknico> and those guys complaining (rightly so, in my opinion) that the community has been demoted to the footer, they had it good
[14:36] <teknico> as the saying goes, there are apps, there are more apps, and there's ubuntu one
[14:40] <hatch> setConfig and setConstraints are undocumented in fakebackend.js
[14:41] <hatch> anyone know what the deal is with those methods? I can throw the comments in the branch I'm about to propose
[14:42] <gary_poster> hey hatch, thanks.  you mean, can someone give you an idea of what they do so you can write the docstrings?
[14:42] <hatch> that that :)
[14:42] <hatch> yeah that*
[14:42] <hatch> :)
[14:42] <gary_poster> heh
[14:43] <hatch> they are pretty self explanetory I guess but I don't really want to get it wrong :)
[14:43] <gary_poster> hatch, yeah, serviceName is a string that is a service id
[14:44] <gary_poster> config is a an object/hash of values that are set.  Values already existing in the configuration settings are left alone if they are not in the given config
[14:45] <gary_poster> The configuration is a set of values that the charm author has established, and the meaning of each value is defined by the charm
[14:46] <gary_poster> constraints are a way of specifying what kind of machine should be used for a service
[14:47] <gary_poster> pyjuju and go juju have different values here, and IIRC this should really come from the provider.  We hard code them now in the GUI, because I guess there is not a better way to get them from juju (we ought to add this to juju core's EnvironmentInfo call)
[14:48] <hatch> ahh
[14:48] <hatch> and `data` is either an array or object of constraint data
[14:48] <gary_poster> hatch, I hink it has to be a hash of constraint values.  not sure what else it would be; looking at code
[14:49] <gary_poster> oh yeah
[14:49] <gary_poster> weird
[14:49] <gary_poster> so either an array of strings "foo=bar" or an object {foo: 'bar'}
[14:50] <hatch> great done
[14:50] <gary_poster> thanks again hatch
[14:52] <gary_poster> hey rogpeppe1 .  How are things looking on the juju core side for you?  things look good afaict.  question about constraints: right now the GUI hard codes them as ['cpu-power', 'cpu-cores', 'mem', 'arch'].  Can that change for different providers?  If so, could we include schema information in EnvironmentInfo?
[14:52] <gary_poster> constraint schema, I should say
[14:53] <rogpeppe1> gary_poster: that can't currently change - it's defined independently of providers
[14:53] <gary_poster> rogpeppe1, ok cool for now.  thanks.
[14:53] <rogpeppe1> gary_poster: things looking ok i think
[14:53] <gary_poster> great :-)
[14:53] <rogpeppe1> gary_poster: i proposed a patch which only starts the allManager when it first gets touched, BTW
[14:54] <rogpeppe1> gary_poster: that means that every single agent isn't sucking down all changes to anything...
[14:54] <gary_poster> I saw that rogpeppe1.  Cool. Have you done any profiling to see what kind of effect the allwatcher has on the system yet?
[14:54]  * gary_poster is curious about Go profiling tools
[14:55] <rogpeppe1> gary_poster: profiling a distributed environment isn't that easy :-)
[14:56] <gary_poster> rogpeppe1, true.  However, in this case it would seem that we would want to look at the mongo traffic, at the network traffic, and at the machine usage where the allwatcher is running, yeah?  seems like a pretty good start, at least
[14:56] <rogpeppe1> yeah, that would be good to do
[14:57] <hatch> LF two reviews please https://codereview.appspot.com/8830043/
[14:57] <rogpeppe1> gary_poster: they had 220 odd machines running with it yesterday
[14:57] <gary_poster> on it, after tagging board, hatch
[14:57] <rogpeppe1> gary_poster: all running the allWatcher...
[14:57] <gary_poster> rogpeppe1, cool :-) worked fine?
[14:57] <hatch> thanks
[14:57] <hatch> teknico: reviewing your branch
[14:57] <rogpeppe1> gary_poster: apparently
[14:57] <rogpeppe1> :-)
[14:58] <gary_poster> rogpeppe1, heh great :-)
[14:59] <gary_poster> after this review will go to Ben's
[15:05] <teknico> hatch, thanks, I think frankban is reviewing it too, but be my guest if you wish :-)
[15:07] <hatch> thanks for that fix teknico, review all done
[15:09] <hatch> gary_poster: any preferred task for me to move to next?
[15:09] <teknico> hatch, thanks! please tag yourself on my card :-)
[15:10] <hatch> I did!
[15:10] <hatch> you might need to refresh, I have noticed the kanban isn't updating today
[15:10] <hatch> (could be just me though)
[15:10] <gary_poster> hatch, often that way for me. :-/
[15:10] <hatch> ahh darn
[15:11] <hatch> oh gary_poster I see you created a npm pack ticket in high maintenance - I created one in slack :)
[15:11] <gary_poster> hatch, I suggest one of the two available cards from rick_h_ in the Maintenance lane: integrate browser add button in to environment  (I can give background if it is not clear already fwiw), or move default environment content right to account for sidebar being open
[15:12] <rick_h_> gary_poster: hatch double route issue! I've got it close!
[15:12] <hatch> rick_h_: yeah? you're removing the double dispatching?
[15:12] <gary_poster> rick_h_, great!  benji, is that something you are looking at too?
[15:12] <rick_h_> hatch: no, but I narrowed a location but don't know where to go frmo there
[15:12] <gary_poster> maybe coordination/pairing would be good if so
[15:13] <benji> gary_poster/rick_h_: yeah, I'm looking at it
[15:13]  * benji teleport's in.
[15:13] <gary_poster> :-)
[15:14] <rick_h_> benji: hatch guichat?
[15:14] <gary_poster> hatch, those tasks make sense? (fwiw, if you see a ready-to-code critical or high card that you think you can do, you are always welcome to go for it)
[15:15] <benji> rick_h_: sure
[15:16] <gary_poster> hatch, re npm pack card, I am happy to have it in the "real work" lane :-) I'll look collapse the two cards into one after merging descriptions
[15:16] <hatch> sure one min
[15:16] <gary_poster> hatch otoh, if you have slack time and want to look at something like that card, you are also welcome to do so.
[15:22] <gary_poster> hatch, LGTM with some small fixups
[15:25] <gary_poster> benji, did you see my homage to potpourri?
[15:25] <gary_poster> gallimaufry was favorite synonym in the thesaurus
[15:26] <benji> gary_poster: I did.  That was a new word to me.
[15:27] <gary_poster> I might have heard it before, but essentially new to me too.  A fun one though
[15:34] <jcsackett> rick_h_: is there any reason that the CharmView doesn't extend MainView rather than Y.View?
[15:34] <jcsackett> is MainView meant to *just* be for Fullscreen and Sidebar?
[15:38] <rick_h_> jcsackett: yes, just for those two
[15:38] <rick_h_> charmview is shared
[15:38] <rick_h_> between teh two
[15:39] <jcsackett> rick_h_: yeah, i was just noticing that apiFailure thing was in Mainview, so if all views extended that they would have it.
[15:39] <rick_h_> jcsackett: right, but that's why the goal was to move it to a view utils
[15:39] <jcsackett> rick_h_: right, this was an alternative to that.
[15:39] <rick_h_> so that the views can get it frmo utils vs requiring an inheritance chain
[15:39] <jcsackett> thus my curiosity about mainview.
[15:40] <jcsackett> my concern with apiFailure wasn't inheritance--it's that we have it defined multiple places. one place via inheritance would be fine with me.
[15:40] <jcsackett> but i can see that mainview shouldn't be the parent for everything.
[15:40] <rick_h_> jcsackett: right, but not everyone is meant to inherit from mainview. Naming fail on my part 
[15:41] <rick_h_> it was an early refactor to pull same code from Sidebar/Fullscreen views
[15:49] <bcsaller> rick_h_: If you still want to talk routing let me know
[15:53] <gary_poster> jujugui please update kanban
[15:57]  * gary_poster reloads kanban
[15:58] <gary_poster> jujugui call in 2
[16:04] <hazmat> ods keynote live stream fwiw http://openstackportland2013livestream.eventbrite.com/
[16:07] <hazmat> sorry bad link.. this one is beter http://www.openstack.org/
[16:08] <hazmat> mark's keynote is in +1hr 15m
[16:09] <BradCrittenden> hazmat: our ad slide is not too compelling...
[16:10] <hatch> oh woops I forgot to mention I'm taking lunch at 12:15 today
[16:10] <hatch> just fyi
[16:11] <bac> hatch: 私は日本のロボットではないです、どうもありがとうございました。
[16:11] <hatch> bac: lol
[16:12]  * bac -> ceviche
[16:12] <gary_poster> bac, lol
[16:16] <benji> gary_poster: I marked https://bugs.launchpad.net/juju-gui/+bug/1170031 as "high" but it could go either way; feel free to change as you see fit.
[16:17] <teknico> gary_poster, maybe you want to rebalance the WIP limits of the different stories :-)
[16:17] <gary_poster> teknico, good call thanks
[16:17] <teknico> Makyo, I need your help, hangout when you can?
[16:17] <Makyo> teknico, now's good.
[16:17] <gary_poster> benji, is there a user-facing problem that this raises, or is it just about being confusing to developers?
[16:17] <teknico> Makyo, great, thanks: https://plus.google.com/hangouts/_/02bb45411739e441fe107c9f66e2a8cc36ba4ba7?authuser=0&hl=en#
[16:18] <hatch> still looking for one more review https://codereview.appspot.com/8830043/
[16:20] <benji> gary_poster: the only user-facing effects are that you will sometimes see a "flash of topology" before you see the final screen you were navigating to, and it does quite a bit more work than it needs to so, slowness
[16:20] <gary_poster> benji, ok.  please add that to description and we'll leave it at high
[16:22] <benji> gary_poster: done
[16:22] <gary_poster> thanks benji
[16:24] <benji> rick_h_: when you get a minute, will you explain "Integrate browser add button in to environment" to me?
[16:24] <frankban> gary_poster: when a service is destroyed and you are in that service detail page (or in one of its units detail pages), the GUI hangs ("loading"). Also reproduced in uistage. Filing a bug: does this belong to "maintenance"?
[16:25] <gary_poster> frankban, yes
[16:26] <gary_poster> and high, frankban 
[16:26] <gary_poster> even on kanban
[16:26] <gary_poster> thank you
[16:26] <frankban> gary_poster: ok
[16:28] <rick_h_> benji: http://uistage.jujucharms.com:8080/bws/sidebar/precise/apache2-6/ has an add button in the upper right. Clicking no that has an event that needs to get apache2 into the ghost environment. 
[16:29] <rick_h_> benji: the trick is that in that we've got an instance of BrowserCharm, which I've tried to make backward compatible with the Charm model, but not really tested so the idea is click the button, take our BrowserCharm, turn it into a Charm, and then feed it to whatever needs it to add it to the environment
[16:30] <rick_h_> benji: this is in app/subapp/views/charm.js
[16:30] <rick_h_> benji: _addCharmEnvironment callback
[16:30] <benji> rick_h_: is "add" like the previous "deploy" button?
[16:30] <rick_h_> benji: correct
[16:30] <benji> ok, I think I understand; I'll work on that
[16:30] <rick_h_> benji: but it's all in the fake environment? since you can do this without setting up an environment or what not/
[16:31] <rick_h_> /\/? that is
[16:31] <rick_h_> benji: cool, thanks
[16:32] <frankban> gary_poster: https://bugs.launchpad.net/juju-gui/+bug/1170037
[16:32] <benji> rick_h_: I don't understand that last bit.  We do set up a "ghost" service for a second while we wait on the back-end to really start the service.
[16:32] <rick_h_> benji: well that's the part I'm confused about. SO if a user clicks the "Try out juju" link they land here, have no environment setup yet. So they're working in the 'ghost' one? 
[16:33] <rick_h_> benji: or maybe I'm mixing up the 13.10 goal where the charm is 'ghosted' while the right sidebar comes up to provide config and such?
[16:34] <benji> oh, that's a different thing, no ghosts there; currently uistage uses the "improv" back-end which is mock juju server
[16:34] <rick_h_> benji: so yea, for 13.04 I guess it's just a new 'deploy' button
[16:34] <benji> sounds good
[16:35] <rick_h_> ok, lunch break!
[16:37] <gary_poster> perfect thanks frankban 
[16:37] <frankban> np
[16:51]  * hatch lays a test trap
[16:51] <hatch> https://codereview.appspot.com/8830043/
[16:52]  * hatch puts a SSD in the trap hoping to catch an unsuspecting reviewer
[17:00] <bcsaller> hatch: I'll do it
[17:00] <hatch> *snap*
[17:00] <hatch> heh sucker....the SSD was fake
[17:00] <hatch> haha :)
[17:01] <bcsaller> the cake was a lie?
[17:01] <hatch> lol exactly
[17:01] <teknico> the SSD was OCZ
[17:01] <hatch> rofl
[17:01]  * hatch has an OCZ SSD
[17:01] <rick_h_> nooooooooo
[17:02] <rick_h_> no wonder hatch's test runs take so long :P
[17:02] <hatch> hahaha
[17:02] <teknico> hatch has temporary data ;-)
[17:02] <teknico> no no, the tests run fast, they're just wrong ;-)
[17:02] <hatch> lol!
[17:04] <hatch> I have timemachine set up so I'm not worried :)
[17:04] <rick_h_> heh, /me goes to pull up twitter history of people that have thought that before
[17:04] <hatch> assuming of course the backups aren't corrupt - cuz ya know - i've never tested it
[17:05] <teknico> *that*'s what I was going to ask:
[17:05] <teknico> how often do you test the restore procedure? :-P
[17:06] <hatch> I also have a NAS which everything backs up to, which is also backed up
[17:07] <hatch> so while loosing a drive would suck I shouldn't lose any data that's important
[17:07] <hatch> shouldn't being the key word
[17:12] <hatch> http://www.engadget.com/2013/04/17/researchers-devise-fast-and-powerful-microbattery/
[17:19] <hatch> removed 1/4 dispatches
[17:29] <hatch> hmm
[17:30] <hatch> this multi dispatch was kind of written right into the core flow of the application
[17:32] <gary_poster> GUI is live at ODS
[17:32] <rick_h_> woot
[17:33] <hatch> yay!
[17:39] <hatch> bcsaller: in service.js:1047 there is a `nsRouter.url({gui: getModelURL(service)})` which is generating '/:gui:/:gui:/service/haproxy/ '
[17:40] <bcsaller> hatch: because getModelURL includes the NS now?
[17:40] <hatch> correct
[17:40] <hatch> sorry got sidetracked :)
[17:40] <hatch> so is that intenttional
[17:40] <hatch> or a bug?
[17:41] <hatch> ahhh
[17:41] <bcsaller> I think its the correct behavior, but we might want to add a flag so it returns an object with the namespace and omit the object in service.js
[17:41] <hatch> finalPath = this.nsRouter.url({ gui: matches[idx].path });
[17:42] <hatch> ok fixing that in service.js
[17:52] <hatch> bcsaller: in the request object in show_service there is a param called 'src' which is 'add' or 'replace' any insight?
[17:53] <bcsaller> hatch: that sounds like its coming from the history change event maybe. add or replace the url is history state
[17:54] <hatch> ahh that makes sense ok I'll investigate that
[17:54] <hatch> somehow it's being called twice for a single navigate event
[17:54] <hatch> once with add and once with replace
[17:59] <bcsaller> hatch: _navigate is explicitly replacing it looks like
[18:01] <hatch> yeah by removing the Y.App.prototype._navigate.call() and just adding it to the queue it only hits the route once
[18:02] <hatch> not sure of the side effects of that decision
[18:02] <bcsaller> yeah, its very easy to regress there with back button handling and so on
[18:04] <hatch> yeah commenting that out breaks the back button
[18:04] <hatch> alright well I think I have found enough
[18:05] <hatch> I have to take off for lunc in 10 but when I return bcsaller do you want to chat about this?
[18:05] <hatch> say 1.5h ish?
[18:08] <bcsaller> sounds good
[18:26] <benji> hatch: re. bug 1169638: if I start the server with "make debug" and then enter the URL "http://localhost:8888/:gui:/service/wordpress/" I get a 404.  Is that the sequence of steps that works for you?
[18:42] <gary_poster> bcsaller, finally reviewed.  Not having openstack videos open helped :-P
[18:42] <bcsaller> gary_poster: thanks, looking it over now
[18:49] <rick_h_> hah, juju-gui as a "new charm" from the api now
[18:51] <gary_poster> :-)
[18:52] <rick_h_> hey, 3 days of crazy hacking on only 5 lint errors. It must be sinking in
[18:52] <gary_poster> heh
[18:53] <bcsaller> rick_h_: unless the lint error, is "cannot continue parse"
[18:53] <rick_h_> bcsaller: hah! no, but I know it'll fuss about undocumented functions once I fix the spacing complaints
[18:55] <rick_h_> and only one of those. Maybe today *is* looking up.
[18:56] <gary_poster> hey rick_h_, if we wanted to add a charm icon, where would we read about what we need to do, do you know?
[18:56] <rick_h_> gary_poster: yep, there's a doc in process. Let me get the link
[18:56] <gary_poster> thx
[18:56] <rick_h_> https://docs.google.com/a/canonical.com/document/d/1hBTH_7RLUYMV-VhZOGxb-bFHICXyVRU4t8L79Dlea80/edit gary_poster 
[18:56] <rick_h_> gary_poster: and then save the .svg into the charm as icon.svg
[18:56] <rick_h_> gary_poster: and we'll take care of the rest
[18:57]  * rick_h_ crosses fingers that works like it's supposed to. :)
[18:57] <gary_poster> cool thank you rick_h_!
[18:57] <rick_h_> gary_poster: but UX was supposed to be working on one for the gui. Did they get you guys one? 
[18:57] <rick_h_> it's on my list to ask about tomorrow as they owe us a new default icon as well.
[18:57] <gary_poster> rick_h_, no, but good to know.  when they get it to us it should be easy to add
[18:57]  * rick_h_ double checks the assets folder
[18:58] <benji> rick_h_: when the user clicks "Add" should they be taken away from the charm browser, left where they are (with "Add" becoming disabled perhaps) or do you want door number three?
[18:58] <gary_poster> A monkey appears...
[18:58] <rick_h_> benji: so if you're in sidebar mode I'd imagine you'd stay where you were?
[18:58] <benji> heh
[18:58] <rick_h_> benji: but if in fullscreen then maybe the answer is to move to the sidebar view so you can see it, but still have your notes/details up?
[18:59] <gary_poster> +1 on both of those, I think that is intent
[18:59] <rick_h_> benji: and doing that url handling is in the branch I'm trying to lbox right now
[19:00] <rick_h_> gary_poster: coming up empty in the current assets directory so yea, note for tomorrow
[19:00] <benji> rick_h_: is the "Add" button even on the sidebar? I only see it full-screen (e.g., on this page http://uistage.jujucharms.com:8080/bws/sidebar/precise/apache2-6/)
[19:00] <gary_poster> cool thanks rogpeppe1 
[19:00] <gary_poster> oops sorry rogpeppe1 , tab handling went crazy
[19:00] <gary_poster> :-P
[19:01] <gary_poster> thanks rick_h_ 
[19:01] <rick_h_> benji: http://uistage.jujucharms.com:8080/bws/sidebar/precise/apache2-1 has add in the upper right. sidebar and fullscreen share the same CharmDetails Y.View
[19:01]  * gary_poster had important idea of Thing We Need To Do and can't remember it now... :-/
[19:01] <rick_h_> benji: and it has a isFullscreen ATTR for telling the diff
[19:02] <benji> rick_h_: I don't understand something.  Is http://uistage.jujucharms.com:8080/bws/sidebar/precise/apache2-1 "fullscreen" or "sidebar"?
[19:02] <rick_h_> benji: sidebar
[19:02] <rick_h_> http://uistage.jujucharms.com:8080/bws/fullscreen/precise/apache2-1 is fullscreen
[19:02] <benji> (I know it says "sidebar" in the URL, but sure looks like it covers the whole screen)
[19:02] <rick_h_> benji: right, but you see the sidebar control and in design it wasn't supposed to fill the whole screen, but it was a 13.04 compromise
[19:02] <rick_h_> it'll change
[19:03] <benji> ah
[19:03] <rick_h_> benji: ah, right. So I guess going to sidebar and showing the environment is going to fail due to the 13.04 negotiations with UX
[19:03] <rick_h_> benji: so we'll have to bring that up and adjust that sooner vs later. 
[19:03] <benji> I'll do whatever is simplest for the time being and we can tweak from there
[19:04] <rick_h_> benji: yea, so the url handling isn't available yet anyway. So I'd file a bug/card and we'll have to work from there. 
[19:04] <benji> ok
[19:05]  * gary_poster remembered! "remove Firefox from warning list now that we have CI"
[19:05] <rick_h_> hmm, maybe they'll let me go back to only covering part of the environment in sidebar mode like I started out
[19:05] <rick_h_> gary_poster: woot!
[19:05] <gary_poster> :-)
[19:07]  * rick_h_ grumbles about not having setup proper email groups for the various groups of people to send stuff about gui related stuff.
[19:23] <rick_h_> oh hatch ... :)
[19:24] <benji> rick_h_: is it a known thing that simply deploying a service without configuring it might not be all that useful?
[19:24] <rick_h_> benji: hmm, I don't know. Up to the charms I guess. Most things aren't useful until you expose something I guess. 
[19:24] <rick_h_> benji: but most things should run with sane defaults right? 
[19:25] <rick_h_> If I deploy mysql and wordpress and link them and expose wordpress I get a working blog right? /me hasn't tried it out
[19:25] <benji> they should, but I am not aware of a way to change a service's name (with the GUI) after deploying it, and since names have to be unique, that means you can only deploy one of any particular service
[19:26] <rick_h_> benji: ok, got me that. I'm not aware of how that part works at all. 
[19:26] <rick_h_> /that/there
[19:26] <rick_h_> benji: I assumed the -2 -3 and such came out of the environemtn
[19:27] <benji> those are version identifiers
[19:27] <rick_h_> well when you juju deploy something and create multiple the local juju commands add a number to the end or do you mean some other name?
[19:27] <benji> (or more precisely, uniquifiers)
[19:28] <benji> that's not historically the way the gui has worked
[19:28] <hatch> rick_h_: what what?
[19:29] <rick_h_> hatch: sec, otp and following benji sorry
[19:29] <hatch> ok np
[19:29] <hatch> bcsaller: you around?
[19:29] <benji> (if I were a user I would be pretty irritated if all my web services were named things like "apache2-47")
[19:29] <bcsaller> hatch: I am, responding to a review though, maybe 5 minutes?
[19:29] <hatch> sur enp
[19:30] <gary_poster> benji you can change the name of the service as you deploy it in the old method.  is this the new method you are talking about?
[19:30] <rick_h_> benji: so which name are we talking? 
[19:30] <benji> gary_poster: yep
[19:31] <gary_poster> ah, k,.thanks benji
[19:31] <benji> rick_h_: the name of the service
[19:31] <rick_h_> 'wordpress'
[19:31] <gary_poster> rick_h_, benji, when the user clicks add on the left
[19:31] <gary_poster> then the right hand side configuration must appear with a ghost
[19:31] <gary_poster> or else we need to go back to UX
[19:32] <gary_poster> (when the ghost shows up you can change the name)
[19:32]  * gary_poster has call with deryck
[19:33] <benji> being able to change a ghost's name is new to me, looking into that
[19:33] <benji> oh, right, I can make it do that, but I strongly suspect that's not what the UX thinkers had in mind
[19:33] <gary_poster> benji the ghost name is just a temporary thing.  Even in the default story it is replaced with the service name.
[19:34] <benji> yep
[19:34] <gary_poster> benji, it is/was in the designers minds, or at least the version of this that is in my head is :-)
[19:34] <benji> heh
[19:35] <benji> I'm always happy to do something that will work but will irritate the people who didn't realize that it would be neccesary.
[19:35] <bcsaller> hatch: ok, have  a charm deploy test running now, I have some time
[19:35] <hatch> ok guichat
[19:36] <gary_poster> benji, you are supposed to click add in the browser thing on the left, and then the ghost would appear, along with the right hand config panel that exists now after you click deploy (that has the cancel/confirm buttons on it)
[19:36] <benji> which means that the "sidepanel" will have to dissapear because it was decided that it has to be full screen (for the time being)
[19:37] <gary_poster> benji, so after the full change to the left hand browser thing for 13.04, the right hand area will only have one view: the config page.
[19:37] <benji> that makes sense
[19:37] <gary_poster> benji, right.  the fullscreen sidepanel can't work with the plan that we had.
[19:37] <rick_h_> benji: well we can undo the fullscreen. That's a one css class name fix
[19:37] <rick_h_> benji: and we can just push back to UX on it
[19:38] <gary_poster> benji, rick_h_ also when you are in full screen and click add, you will have to switch to sidebar, assuming sidebar actually makes everything visible
[19:38] <rick_h_> gary_poster: right, so if we move back the sidebar charm details back to a smaller size it's golden
[19:38] <rick_h_> just need to push UX on it
[19:39] <gary_poster> rick_h_, golden-ish.  will chat after call with deryck
[19:39] <rick_h_> gary_poster: cool
[19:39] <benji> I propose we make it work (sidebar dissapears when you click "Add") and we make it better later.
[19:40] <benji> rick_h_: ^^
[19:40] <rick_h_> benji: sure
[19:40] <benji> cool
[19:40] <rick_h_> benji: works for me, it's just a matter of the url you choose to fire the event for
[19:41] <rick_h_> so we can switch it later to suppport /sidebar/*id vs just /sidebar
[19:41] <benji> rick_h_: I don't understand that comment and suspect it is important.  Will you elaborate?
[19:41] <rick_h_> benji: sec, otp 
[19:42] <benji> k
[19:47] <rick_h_> jcsackett: https://codereview.appspot.com/8726048/
[19:53] <rick_h_> jcsackett: http://uistage.jujucharms.com:8080/bws/sidebar/precise/cassandra-2
[19:53] <hatch> gary_poster: so I spent some time investigating the ticket in Maintenace "subapp will double dispatch..." but it looks like it's going to take a while, is there something more pressing you would like me on?
[19:58] <rick_h_> benji: https://codereview.appspot.com/8726048/patch/3001/4005 shows the upcoming way to change the route when you click add and redo teh screen
[19:59] <gary_poster> hatch, it is blocking Rick, right?
[19:59] <hatch> I think he worked around it
[19:59] <rick_h_> benji: so if we click add, and then hide the browser details, we need to change the url 
[19:59] <hatch> by reverting to old code
[19:59] <rick_h_> gary_poster: hatch yes
[19:59] <hatch> oh...
[19:59] <rick_h_> hatch: I've got a branch that now works...but it's sans tests
[19:59] <rick_h_> hatch: https://codereview.appspot.com/8726048
[20:00] <rick_h_> sorry, I meant 'yes' rick has a work around
[20:00] <gary_poster> ok rick_h_, hatch.  hatch will think after call
[20:00] <hatch> rick_h_: oh ok so you're not removing the dispatch just creating a workaround
[20:00] <hatch> I was working on removing the dispatches
[20:00] <hatch> (quite a ways from being successfull)
[20:00] <rick_h_> hatch: right, cheating like a mofo, but it freaking works
[20:00] <hatch> haha
[20:00] <rick_h_> so happy happy me
[20:01] <rick_h_> hatch: please give it a look over if you get a sec and let me know if I'm mad 
[20:01] <hatch> sure one moment
[20:01] <benji> rick_h_: so I need to fire a viewNavigate event?  What URL will I navigate to?
[20:01] <rick_h_> benji: so what you'd be doing is viewNavigate with a {change: {charmID: undefined}}
[20:02] <hatch> rick_h_: holy that's a lot of code
[20:02] <rick_h_> benji: sorry, wrong, two changes {viewmode: 'sidebar', charmID: undefined}
[20:02] <rick_h_> hatch: but it works!!! bwuhahahahahahaha
[20:02] <hatch> lol well atm that's the important part
[20:02] <rick_h_> benji: that will tell the subapp to take the current state, change the viewmode from fullscreen to sidebar and unset teh charmID and re-render
[20:03] <rick_h_> benji: the example in the link is for the close button to go from /bws/sidebar/precise/charmname to /bws/sidebar
[20:03] <benji> rick_h_: so that will show just the "Charm Browser" but take a way the actual details about the charm the user is adding, right?
[20:03] <rick_h_> benji: right, it'll show the sidebar component with no details selected for viewing
[20:04] <rick_h_> benji: dependant on this branch getting tests and reviewed and all that tomorrow :/
[20:04] <benji> gothca
[20:04] <benji> rick_h_: I suppose I should start over, basing my branch on yours then
[20:05] <rick_h_> benji: sure. Otherwise you can make it a todo/bug and I can follow up after it goes through. It's just that one event firing that needs to be added 
[20:05] <rick_h_> benji: whatever works for you
[20:05] <benji> ok
[20:06] <rick_h_> this dippy branch touches everything so much it's annoying. Who knew how broken an app is without routing urls :)
[20:09] <hatch> yusssss one more dispatch down
[20:09] <hatch> these are all huge hacks though, not comittable code
[20:10]  * rick_h_ goes to hatch's machine and types bzr xa "REMOVE ALL THE DISPATCHES"
[20:10] <hatch> lol
[20:10] <hatch> remove all but one you mean
[20:10] <hatch> we still need one :)
[20:10] <rick_h_> psh, prove it :P
[20:12] <hatch> I have to say it actually feels faster
[20:12] <rick_h_> it should, more control of the single thread to the user is good 
[20:12] <hatch> only rendering everything once probably helps
[20:12] <hatch> haha
[20:12] <rick_h_> lol
[20:17] <jcsackett> rick_h_: fyi, this is going to take me quite some time to review.
[20:17] <rick_h_> jcsackett: well, I'll work on tests tomorrow. Did you want me to walk through the browser.js changes for your needs/interest as far as search goes?
[20:17] <rick_h_> as long as hatch doesn't tell me I'm off my rocker and need to rethink it again
[20:18] <jcsackett> rick_h_: be honest, i'm sort of wondering if your rocker might be broken. :-P
[20:18] <bcsaller> jujugui: The charm could use one more review at https://codereview.appspot.com/8727047/ if anyone is free
[20:18] <Makyo> bcsaller, on it.
[20:18] <bcsaller> Makyo: thanks
[20:18] <jcsackett> rick_h_: i think i get how it impacts search, since i see viewState etc handling the search part of the url.
[20:19] <rick_h_> jcsackett: right, but it's not doing query string atm, that needs to get added into the viewstate
[20:19] <hatch> rick_h_: quite honestly I'm sure it's fine if it works but I'm just starting to look now
[20:19] <rick_h_> and become part of the if state checks in sidebar and fullscreen
[20:19] <jcsackett> rick_h_: i though querystrings were generated outside of the routing mechanisms/
[20:20] <rick_h_> jcsackett: right, but if the query string changes, it'll need to tell sidebar/fullscreen to re-render search results
[20:20] <rick_h_> just as right now if the charmID changes, the state will be marked as changed and it'll re-render the charm details view
[20:21] <jcsackett> rick_h_: ...aren't you overthinking this? searchbox needs to be made a form, right? with get using the search text...that should append querystring stuff to the url.
[20:21] <rick_h_> jcsackett: right, but once you hit submit and it's GET's the new url, it goes back and gets rerouted
[20:22] <jcsackett> oh, and this rerouting will eat the querystring.
[20:22] <rick_h_> jcsackett: so when it's rerouted it checks "did the viewmode change? If so, re-render the whole thing. Did the charmID change? If so, re-render the charmID"
[20:22] <rick_h_> jcsackett: the page doesn't reload, it goes through routing. And it hits either fullscreen() or sidebar() and then the page is re-constructed based on the new page state
[20:24] <jcsackett> rick_h_: right. but i already had to have the browser get the querystring and pass that to the searchview, and the searchview already re-renders on that changing (per our talk yesterday or the day before), so this state stuff shouldn't need to change it.
[20:25] <rick_h_> jcsackett: but fullscreen or sidebar need to know to call searchview
[20:25] <rick_h_> all decisions are made by those two methods
[20:26] <jcsackett> rick_h_: right, that's what i meant. i think we're talking circles round each other.
[20:26] <jcsackett> i'll finish my day out by reviewing your branch/getting my current branch landed, let's talk more about this tomorrow.
[20:26] <rick_h_> jcsackett: rgr
[20:28] <hatch> rick_h_: as far as the code is concerned it looks good
[20:28] <hatch> veryunfortunate that it's required
[20:30] <rick_h_> hatch: ok. If I have to rewrite it again I'm going to quit and work for Oracle or something :P
[20:30] <hatch> lol - yeah...go write Java....no bugs to fix there...
[20:30] <rick_h_> so I'm giong to quit close to on time. Come back tomorrow to write tests and try to get it up for formal review. 
[20:31] <rick_h_> hatch: bcsaller thanks for the calls/help today
[20:31] <bcsaller> :)
[20:32] <gary_poster> ok whatchamagoinon
[20:33] <gary_poster> ok so hatch...guichat for an update on the double dispatch thing?
[20:33] <gary_poster> and talk about what next
[20:37] <hatch> oops sorry i didn't get the ding
[20:37] <hatch> sure lemme get my dogs in
[20:38] <hatch> gary_poster: ok ready when you are
[20:39] <gary_poster> hatch come on by guichat
[21:01] <gary_poster> hey Makyo, any juicy details from investigation today?  I'm fascinated by that.  Were you ever able to dupe?
[21:02] <Makyo> gary_poster, No, Haven't been able to dupe yet :/  Have been adding a lot of docs around that to make sure what's going on is understandable, though.
[21:02] <gary_poster> OK cool Makyo.  Lemme see if I can dupe on trunk...
[21:03] <hatch> *ring*, "hello", "CONGRATULATIONS!!!!", *click*
[21:03] <gary_poster> heh, I assume that just happened.  weird
[21:04] <hatch> yeah stupid auto dialers
[21:04] <hatch> :)
[21:04] <hatch> I'd really like to know how they got my cell #
[21:05]  * gary_poster just now realized the *click* came from your end.  It was much more mysterious to imagine someone calling you, yelling "congratulations," and hanging up.
[21:05] <gary_poster> weird prank call
[21:05] <Makyo> ...I totally want to do that now.
[21:06] <hatch> lol
[21:06] <gary_poster> :-)
[21:08] <gary_poster> Makyo, can't dupe now. :-P  I guess that's good? Maybe just land your branch when it looks nicely documented?
[21:09] <gary_poster> I will mark bug as invalid
[21:09] <Makyo> gary_poster, sure.  That's really weird behavior, but to be fair, there is some weird code back there.
[21:09] <gary_poster> Makyo, :-)
[21:11] <gary_poster> Makyo, i removed bug from card, changed title to be about docs, and dragged it to active slack.
[21:11] <Makyo> gary_poster, sounds good.  Will be ready by EoD for sure; dogwalk for now.
[21:11] <gary_poster> cool
[21:19]  * gary_poster goes to get son from ACTING! class.  May be done for day...
[21:19] <gary_poster> bye
[22:09] <bac> gary_poster: update: i've made good progress and found some integration problems where juju-core was not sending what we expected, a different name and content packaging.  still trying to work out what's going on.
[22:17] <hatch> I think we need to do a release there are too many cards on the kanban it's slowing the site down haha
[22:20] <hatch> hmm I was sure I changed the code in the browser check to support FF and IE10
[22:20] <hatch> but trunk doesn't have that
[22:20] <hatch> was that reverted?
[22:28] <hatch> that's so odd, I know I wrote that code
[22:41] <hatch> could I get a quick review on a trivial 2ln commit? https://codereview.appspot.com/8796046/
[22:43] <hatch> jujugui ^
[22:44] <Makyo> On it
[22:44] <hatch> thanks
[22:46] <bcsaller> hatch: when did that change?
[22:46] <hatch> I just did it
[22:46] <hatch> although I was 100% sure I already did
[22:47] <bcsaller> I mean the requirement, last I knew FF didn't accel the svg canvas very well and had some other minors
[22:47] <bcsaller> maybe thats changed though
[22:47] <hatch> oh - not sure, Gary just told me to do it
[22:47] <hatch> :)
[22:47] <bcsaller> good enough 
[22:48] <hatch> am I nuts? Did I really dream that I wrote IE10 and FF/Chrome support into that?
[22:48] <hatch> I was sure I did that around sprint time
[22:49] <hatch> bcsaller: I have been messing with it in FF and it's definitely not as fluid as chrome but I haven't found any errors/bugs yet
[22:50] <hatch> the fadein for the charm list is a lot nicer in FF than chrome
[22:50] <hatch> :)
[22:51] <Makyo> Attribute access sped up quite a bit with a recent version.
[22:52] <hatch> YUI 3.10?
[22:54] <Makyo> Firefox.
[22:54] <hatch> ohh
[22:58] <hatch> there are pretty big speed improvements with yui 3.10 as well - I want to compare the time it takes to run the tests
[22:59] <hatch> see how much the improvements relate to in real world tests
[23:02] <gary_poster> bac, thanks for update.  doesn't sound good: do we need juju core changes?
[23:05] <hatch> gary_poster: if you send your kid to acting class how are you going to know when he is lying about his homework being done ;)
[23:05] <hatch> he could just be 'acting' and telling you it's done hehe
[23:06] <hatch> he/she :)
[23:06] <hatch> oh u said son
[23:06] <hatch> he
[23:13] <hatch> gary_poster: when you return - what is the expected functionality here https://bugs.launchpad.net/juju-gui/+bug/1170037 should we show a popup 'service go bye bye!' should we auto close the detail view? do nothing?