/srv/irclogs.ubuntu.com/2013/04/19/#juju-gui.txt

hatchI think I did all of the reviews that were needed01:51
hatchif anyone needs one tonight let me know01:51
=== rogpeppe1 is now known as rogpeppe
rogpeppefrankban: ping10:59
frankbanrogpeppe: pong10:59
rogpeppefrankban: i was just looking at statecmd.ServiceGet and wondering if you used the Charm field in the ServiceGetResults11:00
rogpeppefrankban: i was wondering if it should really be CharmURL11:00
rogpeppefrankban: as we're using that as a key11:01
frankbanrogpeppe: looking in the GUI code11:01
rogpeppefrankban: thanks11:01
frankbanrogpeppe: AFAICT, we only use config and constraints in the callback11:05
rogpeppefrankban: ok, cool, thanks11:05
bacthanks for the review frankban12:27
gary_posterfrankban, rogpeppe, bac, we use service.charm from ServiceGet in the app/store/emdpoints.js code12:27
rogpeppegary_poster: ok. i had decided not to change it now anyway12:28
gary_postercool rogpeppe 12:28
rogpeppegary_poster: but in general, the charm name is fairly useless - the charm url tells us everything (including the charm name, 'cos it's easy to get metadata given the url)12:28
gary_posterrogpeppe, oh!12:29
gary_posterrogpeppe, yeah I may have misunderstood.  We need the charm url as the id for this stull12:29
rogpeppegary_poster: ah. currently ServiceGet returns the charm name, not the url12:30
gary_poster:-/12:30
rogpeppegary_poster: it looked wrong to me.12:30
rogpeppegary_poster: i'd prefer to change the field to CharmURL to match the other places, but that would affect your code.12:30
gary_posterbac, can you weigh in on above?  I'll try to finish my review of your branch from yesterday (sorry) in return12:30
frankbangary_poster: I cannot find any call to get_service in that file12:30
bacfrankban: it is added in my new branch12:31
gary_posterah, that's where I saw it :-)12:31
bacrogpeppe: so the proposal is to replace the charm name with the charm url in Service Get?  we'd then have to do another query to get the charm metadata in order to find the name?12:33
frankbangary_poster, bac: but AFAICT, Brad's charm does not change the fact that we don't use the returned Charm in the go env12:33
rogpeppebac: i'm presuming you need the charm metadata around anyway12:33
* gary_poster defers to bac12:33
bacsorry, my irc was off-line and i didn't notice, so i'm catching up12:33
rogpeppebac: so you'll be maintaining a cache of charm metadata that you can query at any time, keyed by charm url12:33
rogpeppebac: why do you need the charm name, BTW?12:34
gary_posterbac, LGTM with comments12:43
bacgary_poster: thanks12:43
bacrogpeppe, gary_poster, frankban: upon looking at the code it looks like we don't use the charm name returned from get_service, nor would we use the charm URL if it were there.  the charm is loaded in the processing of the delta stream.12:44
rogpeppebac: cool12:44
bacfrankban: is that what you understand?12:44
gary_posterbac, oh interesting.  that means we are waiting for the delta stram12:44
bacgary_poster: unless i'm missing something12:45
gary_posterwhen ideally we could use the immediate result12:45
gary_posterbac, so my take away is that if we added CharmURL that would make the GUI more responsive12:45
gary_posteris that reasonable?12:46
bacgary_poster: if you look at loadService, the callback for get_service for all environments, only constraints and config are used from the results12:46
bacgary_poster: perhaps it is reasonable.  what is the latency between us recognizing we have a new service and calling get_service vs. waiting on the delta?  not rhetorical, i don't know as i haven't messed with the watcher code.12:48
gary_posterbac, gotcha.  My question is whether we could make the GUI more responsive in the new code.  I guess you are right: this would only help for someone who went directly to a settings url of a service, perhaps (rather than going to an environment, waiting for a delta, and then clicking on the service), and maybe even that is not pertinent.12:52
gary_posterI think it is pertinent, but it is not a terribly important use case atm12:52
bacgary_poster: it may be a win, i'm just saying i can't say right now.12:53
gary_posterack bac12:53
gary_posterlet's not worry about it atm12:53
bacmaybe document it somewhere for future work.  seems very low priority now.12:54
gary_posterfrankban, CSS fix LGTM, and I suggest/request landing right away12:56
frankbangary_poster: thanks, landing12:57
frankbanbac: just saw the back scroll: yes, that's what I was saying. We do not store the charm url in the get_service callback. That URL arrives from the delta.13:00
bacfrankban: thanks13:05
* frankban -> late lunch13:06
teknicoweird, I could not convince Chrome to reload the stylesheet13:23
teknicothe only thing that worked was a forced reload directly on /juju-ui/assets/juju-gui.css13:24
gary_posterugh! fix CI!  Someone!  Please!13:44
* gary_poster will look when possible13:44
hatchbac has your branch 'fix settings link' landed yet?14:10
bachatch: no14:11
bachatch: working on post-review changes14:11
hatchok I just wanted to know it's considered bad practice for anyone to have access to the app14:11
hatchs/know/say14:11
hatchas it makes things way to tightly coupled14:12
gary_posterbac, hatch, agree as a rule.  may be exceptions especially to deal with existing code14:12
gary_posterin that case happy to regard that kind of thing (passing app) as low priority bug to be fixed when possible14:13
bachatch: how would you restructure it?14:13
gary_posterbac, he means just like with the app show_environment14:14
gary_posterbac, you pass what you need14:14
gary_posterwhich may be quite a lot14:14
hatchyeah the idea is that the application is a controller14:15
gary_posterwhich starts to call the advice into question IMO14:15
gary_postereven though I agree with it largely14:15
hatchso you would never pass a controller around an app14:15
baci need the app for the callback loadService14:15
hatchyou fire events to tell the controller what to do14:15
gary_posterbac, loadService: Y.bind(this.loadService, this),14:15
bacwell there is that14:16
bac:)14:16
hatchthis damn loadService function14:16
hatchhaha14:16
gary_postermaybe would be interesting to have a state object or something14:16
gary_posterthat app creates14:16
hatchI just removed it from being used in my branch14:16
gary_poster<shrug> not high on my list to consider atm14:16
gary_poster(a separate state object I mean)14:17
hatchtypically the application would listen for an event and then fire the loadService method14:17
hatchs/fire/call14:17
gary_postersounds reasonable14:17
hatchthen you will have access to the proper context to execute the loadService method under14:18
hatchbreak those coupled chains!14:18
* hatch thinks that could be a pop song14:18
hatch♫ break those coupled chains......♫14:19
benjirick_h_: has your branch that has the new way of doing navigation landed?  I looked at the log and didn't see anything that looked like it.14:22
bachatch: at your EOD you asked about reviews to do.  do check the kanban board reviews lane if you're looking, especially when other folks aren't around to answer!14:22
gary_posterBlackbird singing in the dead of night14:22
gary_posterBreak those coupled chains and learn to fly14:22
gary_posterAll your life14:22
gary_posterYou were only waiting for this moment to arise14:22
rick_h_benji: no, still writing tests. Tryingn to get done asap today14:22
hatchbac: yep I did everything that was in that column14:22
hatchbut sometimes people forget to drag it14:22
bachatch: except mine...14:22
benjiok, thanks14:22
bacit was there!  i swear!14:22
hatchbac: it had juju-core and gary14:22
hatchso I thought it didn't need mine14:22
hatch:)14:22
bachatch: juju-core isn't a reviewer14:23
bacjuju-core is just a tag that means it has something to do with the go side, even it is a pure GUI fix14:23
hatchohh woops I missunderstood14:23
bacno biggie14:23
hatchI thought that meant it was held for a core guy14:23
MakyoBit of an experiment: http://jujugui-code-docs.s3-website-us-east-1.amazonaws.com/14:37
gary_posterNice Makyo 14:38
hatchcool so now we can really see where we are missing documentation :D14:38
MakyoPretty easy to do, too.  s3cmd sync yuidoc/ s3://jujugui-code-docs14:39
benjiMakyo: cool14:39
hatchcool - at some point we could set up a doc server for that14:39
hatchit could pull the latest docs from the source control14:40
teknicoMakyo, nice14:40
teknicohatch, you can also see them using "make view-code-doc"14:40
hatchyeah but that's not nearly as cool14:41
hatch:P14:41
MakyoHaha14:41
MakyoCould have a make target for this with code-doc as a dependency.14:41
MakyoWould need to figure out perms on the bucket, though.14:41
frankbangary_poster: it seems it is possible to always dupe the three errors in firefox, just running the tests and then clicking on another window (i.e. firefox must not be the active window)14:42
hatchit could be on the same server that's running the CI :)14:42
hatchfrankban: when I do that I get more than the 2 failing errors14:42
gary_posterfrankban, ah!  even in devel mode?  14:42
hatchusually 6+14:43
gary_posterwill be tough to debug that way, maybe14:43
frankbanhatch: make test-prod-server, point firefox to  http://localhost:8084/test/index.html and then click away: I see 3 errors, and they seems to be the ones are destroying our CI system14:44
hatchfrankban: yeah when I do that it takes over 5 min to run the tests and 6+ fail14:45
frankbanWAT14:45
hatchfirefox is 9x slower to run the tests than chrome14:45
hatchyeah I have no diea14:45
hatchidea even14:45
teknicoguihelp, can't find docs on how to manage those xxx-cert.pem and xxx-private-key.pem files in  .juju14:48
rick_h_hatch: so on my machine is's 27s chrome devel and 40s FF nightly (4 fails...)14:48
hatchrick_h_: yeah could be that I'm using OSX14:48
hatchI can give er a go on my laptop14:48
rick_h_hatch: wonder if nightly has updates that'll make it faster soon for you as well14:48
teknicoproblem is, when I run "juju status" i get "error: The specified key does not exist."14:48
rick_h_hatch: just 9x seems drastic14:48
tekniconot sure it's related14:48
teknicothe access-key and secret-key settings in environments.yaml are correct14:49
rick_h_yay icons http://uistage.jujucharms.com:8080/bws/sidebar/precise/mysql-16/14:51
hatchoh rick_h_ I found out what was causing the `Uncaught Error: InvalidStateError: DOM Exception 11` error14:52
hatchit wasn't DOM related at all14:52
hatchit's trying ot make a ws call before it's connected14:52
rick_h_hatch: ah, gotta love new tech :)14:52
frankbanhatch: it seems that sending the window back is breaking all the focus/blur tests. it's weird because selenium should always have the windows active14:53
gary_posterjujugui please update kanban14:54
hatchfrankban: ahhhh that would make sense I suppose....but those tests aren't using selenium14:54
hatchthey are using js simulate14:54
hatch(although it should still be in focus)14:54
rick_h_hatch: going to hit you up for review if you've got a sec. I need to get this routing branch stuff landed asap please :)14:57
frankbanhatch: I meant: our CI is using selenium, and there the window should always be focused14:58
gary_posterjujugui call in 214:58
frankbanhatch: http://yuilibrary.com/projects/yui3/ticket/252921114:58
hatchfrankban: I wonder if it's a YUI bug, maybe try writing a simulated event in raw js14:58
hatchrofl 201014:58
frankbanclosed because expired14:58
rick_h_hatch: https://codereview.appspot.com/8726048 jcsackett in case you're interseted in the changes/search stuff I mentioned14:58
jcsackettrick_h_: dig. you need an actual review, or is this just for me to look?15:02
rick_h_jcsackett: getting hatch and sinzui for reviews so just fyi15:04
jcsackettrick_h_: awesome. much easier to just look at the bits that touch my code. :-)15:04
rick_h_15:51
hatchrick_h_: ok I'll do that review now15:51
rick_h_hatch: k, sec. Pushing up a new rev per comments from sinzui 15:51
hatchalright lemme know15:51
rick_h_once the lbox dance complorts15:52
rick_h_curses! failed re-google-auth15:53
hatchbenji: And what was the problem the checklist procedure revealed? “The hospital was out of artificial knees,”15:54
hatchrofl15:54
benji:)15:55
rick_h_hatch: https://codereview.appspot.com/8726048 ok up15:55
benjithere are several good checklist studies out there, one showed infection rates go down dramatically after implementing checklists that listed things like "wash hands" and "apply disinfectant to wound"15:56
benjiit just goes to show that humans are bad robots, and sometimes we need robots15:56
rick_h_benji: did you want to chat on the event stuff or you ok? 15:56
hatchinteresting15:56
benjirick_h_: if you have a second I could show you the two issues I'm having at the moment15:56
hatchrick_h_: holy moly that's a diff15:57
benjirick_h_: the regular hangout is open15:57
rick_h_benji: cool, omw15:57
hatchpromises today!15:59
hatchrick_h_: review done16:30
rick_h_hatch: thanks, going to break from lunch and I'll clean up and such in a bit. 16:30
rick_h_benji: so I've got 2 +1's if you're willing to pull this branch in and use the events for that16:30
rick_h_benji: and then I can race you to lbox after lunch16:30
benjirick_h_: cool16:32
bacanyone fancy a review?  https://codereview.appspot.com/870204516:33
* bac lunches16:33
teknicobac, looking16:34
hatchbac: can you repropose16:38
hatchthe diffs don't work16:38
teknicoyeah, "error: old chunk mismatch"16:39
teknicothe diff on launchpad is ok though16:40
hatchyeah - I find those hard to read16:40
hatchI'm pretty sure it's a LGTM16:42
hatchit's been LGTM'd16:43
hatchwe need a word for a successful review16:43
hatchLoGToM ?16:43
hatch"yeah that's been LoGToMed"16:44
teknicoloogootoomee16:44
hatchlol I like it!16:44
teknicoit sounds suspiciously close to lobotomy, though16:45
hatchsometimes that's what reviews feel like too though16:46
hatchhaha16:46
hatch(granted not with this group)16:46
rick_h_hatch: thanks, updated per your notes and handing off to submit yay yay yay!17:11
hatch^517:11
rick_h_jcsackett: benji branch has been accepted yay17:19
benjicool17:20
bacteknico, hatch: thanks for the reviews despite the technical difficulties17:24
hatchI wonder what causes that17:26
hatchit's happened a couple times to me too17:26
benjidid we decide to tag UI/UX bugs or not?17:50
gary_posterthat was for rick's stuff17:50
rick_h_benji: if it's charmbrowser there's a tag for that17:51
gary_posterright17:51
benjiit's not, so I'll leave it17:51
rick_h_benji: and having UX folks tag their bugs 'charmbrowser' but if it's generic there's not a set tag atm17:51
benjiI think this bug should be "high" so I made it so, but it is a low sort of high: https://bugs.launchpad.net/juju-gui/+bug/117078217:52
* benji takes lunch.17:52
* gary_poster goes to camp. have a great weekend!17:56
hatchyou too!17:56
hatchHave fun17:56
* hatch wants to camp17:56
hatchdoes anyone here buy tv season passes through itunes?18:01
rick_h_evil apple :P18:02
rick_h_but no18:02
jcsackettrick_h_: can you chat for a sec?18:02
rick_h_jcsackett: sure thing18:02
hatchrick_h_: I know, but I pay like $100/mo for cable which could easily be cut in half by just buying the shows on itunes18:03
rick_h_hatch: yea, we cut a while ago going roku + AMZ. just giving you  a hard time18:06
hatchahh yea - I wish we could get that stuff here18:06
hatchwe are pretty much left with itunes and netflix18:06
rick_h_hatch: gotcha18:07
rick_h_so not bought seasons on itunes, but done it on AMZ/roku. It's how I keep up on big bang theory18:07
hatchone of these days the fatcats will realize that borders are for sissies and accept our funnymoney18:09
rick_h_cool, staging updated so links are working yay http://uistage.jujucharms.com:8080/bws/fullscreen/precise/mysql-1618:30
rick_h_just have the one issue with the /sidebar to /fullscreen18:30
rick_h_toggle back to fullscreen and sidebar...over...and over...and...18:31
Makyobenji, would you be willing to QA/review https://codereview.appspot.com/8872044/ to see if that fixes #1170782 that you filed earlier?  If not, no worries.18:35
MakyoThat's lp:~makyo/juju-gui/resize-breaks-panel FWIW18:35
benjiMakyo: I can in a few minutes (after lunch)18:35
Makyobenji, sure.  Lunching now, too.18:35
benjiMakyo: that did fix the problem, but it introduced scroll bars when the config panel is displayed19:08
Makyobenji, oh, hm.  I'm seeing a scrollbar in uistage, too.  It looks like something's being pushed off the right side by a pixel or two, and the horiz. scrollbar is introducing the vertical one.19:11
hatchrick_h_: looks like it's coming together nicely19:14
benjiMakyo: your last revision fixed the scrollbars for me; reviewing the code now19:26
Makyobenji, thanks, was just about to ping.19:26
MakyoBorder width adds to overall width, which wasn't being taken into account in one place.19:27
MakyoGoing to run to a coffee shop and leave the dogs home alone for a while.  Back in a few.19:39
baci'm looking at the jenkins problem...19:43
bacman jenkins is slow to respond19:44
hatchbac: you mean the firefox errors?19:46
bachatch: just looking at it and trying to figure out jenkins.  do you know anything about the failures?19:46
hatchyeah the two failures are because firefox is not in focus so the click simulations don't work19:47
hatchhttp://yuilibrary.com/projects/yui3/ticket/252921119:47
hatchso we need to figure out why 1) this just started happening 2) how to solve it :D19:47
bachatch: ok, that's good to know19:48
hatchyeah that's all I know, and that's as far as frankban got resolving it19:48
hatchat least as far as I know of19:48
hatchI know know because of his work :)19:48
bachatch: oh, that's the bug that just expired b/c everyone was scared of it?19:48
hatchwell if you read through lukes comments it looks like there isn't a way to fix it without a kludge19:49
bacMakyo: 2nd review done20:09
Makyobac, cheers, thanks.20:09
benjirick_h_: I'm trying to figure out the best way to pass the deploy function int the browser subapp, but I am in a twisty maze of passages, all alike.20:18
benjis/int/into/20:20
hatchservice views converted to use promises20:21
hatchdramatically cleans up the code20:21
MakyoA good idea would have been to bring a charger with me.  Sigh.  Back in a bit.20:38
rick_h_benji so maybe hatch can suggest thr best place for the dubspp to hook up to an event with the main app?20:57
rick_h_benji id prefer we fire up an event that the app is expecting to do the deploy20:58
benjirick_h_: oh, I meant to say here that I figured it out20:58
hatchright now I'm trying to figure out why addeing a console log makes things work properly20:58
hatchshrodingers promise20:58
benjiheh20:58
rick_h_sorry tablet at coffe shop with my son so meh on typing20:58
rick_h_benji ah cool awesome then20:58
benjithat reminds me of a bug I had in termbeamer the other Saturday, if I put a pdb in a method then the code would work fine, if I took it out it would crash; it took me a couple hours to figure that one out20:59
hatchconsole.log("template done");21:00
hatch          container.setHTML(template);21:00
hatchconsole.log("container updated");21:00
hatchcontainer updated never shown but sometimes setHTML works21:00
* hatch is so confused21:01
hatchthis has to be a multi dispatch race condition21:02
rick_h_hatch welcome to my world.have to drop debuggers at the entry to eatch for each entery into esch function.21:03
hatchgood news - if I make a syntax error it works every time21:06
hatchlol21:06
hatchrick_h_: I think console logs are async21:29
hatchand it's only an issue when you dispatch so many times21:29
rick_h_hah21:35
hatchwoah and I think I figured out something crazy21:36
hatchneed to do a couple more tries to see if this actually fixes it21:37
hatchwell it didn't lol21:37
hatchbut the issue is definitely that the showView is async and being called so many times21:38
rick_h_hatch: yea, might need to look closer at the idea of counting the requests/ditching the extra dispatches higher up21:51
hatch      if (this._renderTimer) {21:52
hatch        clearTimeout(this._renderTimer);21:52
hatch      }21:52
hatch      this._renderTimer = setTimeout(function() {21:52
hatchthen showview is what I"m trying now21:52
hatchwhat a hack21:52
hatchlooks to have solved the issue....however it's hardly a fix21:53
hatchbut it's proof that the multi render is what's causing the issue I was having21:53
rick_h_ugh21:56
rick_h_yea, I know we keep beating around 'fixing' the issue but it really has sunk some serious dev time21:56
hatchyep21:56
rick_h_if it was easy anyone would have done it though I guess21:56
hatchyeah it's not 'hard' to do per-se' its just tedius because you have to go through each route and figure out what each dispatched method actually needs21:57
hatchand there will no doubt be side effects21:58
hatchheh21:58
hatchrick_h_: still around?22:06
hatchbcsaller: how about you? taken off for the weekend yet?22:09
rick_h_hatch: on my way out the door22:09
rick_h_hatch: what's up?22:09
hatchoh I'm just getting the multiple references to the same namespace22:09
hatchsomehow an empty namespace is being tacked on the url22:09
hatchand was wondering if you solved that in your branch22:10
rick_h_heh, yea. I get that with my work but it 'worked' out. I just ignored it. 22:10
rick_h_it gets kind of filtered everywhere I could tell22:10
rick_h_so seems like a warning I couldn't find a way around22:10
hatchI THINK it's causing the callback to be called twice22:10
hatchsolved that22:16
hatchahhhh22:43
hatchthe router callbacks are being called BEFORE the url is updated causing it to be called again22:43
hatchyay only triggering the render once23:23
hatchfinally!23:23
hatchstill doesn't fix my problem lol23:23
hatchahah! but I know what it is that's causing it...for some reason the onLogin callback is being called twice, once when it should, and once a good 5s after the env is done and ready23:29
hatchbuuut I'm at a good stopping point - fixed the router code to dispatch/navigate propertly yay23:30

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!