/srv/irclogs.ubuntu.com/2013/07/23/#juju-gui.txt

huwshimirick_h: NP, hard work all round. Nice to finally have it released!00:01
hatchmorning00:29
hatchI haven't had anyone rage tweet me yet about a bug so it must be working well ;)00:30
huwshimihatch: I broke something, but I can't reproduce it00:31
hatchwell then that's someone elses problem isn't it? :P00:31
huwshimihatch: And someone said they went to "view all notifications" and there's no way out00:31
huwshimiout/back00:31
hatchhmm there is DEFINITELY a bug there....but the backbutton and hitting the juju link both work to get out00:32
huwshimiAh right00:36
MakyoI saw a 'It takes too long to load' tweet, but that's bout it.00:47
hatchyeah - that was probably part of the 250http requests it was making lol00:48
MakyoIt's a request per image in any photo site, we just delay all that :)00:49
hatchno the js wasn't being rolled up00:51
hatch:)00:51
hatchlatest blog post http://fromanegg.com/post/56193994218/juju-gui-v0-8-and-jujucharms-com-released00:52
MakyoOhhh00:52
MakyoRock on.00:52
MakyoI did tweets, and I redid the screencast today with my mic.00:52
hatchoh awesome!00:53
hatchwhere is the link to the vid I'll add it to the post00:53
MakyoI lost everything in a few catastrophic crashes, so the end result is still rougher than I'd like, but hey, marketing materials.00:53
hatchaww boo!00:54
MakyoIt will be at https://www.youtube.com/watch?v=W3RDt3YpikM Still processing.00:54
MakyoJust a few verbal stumbles, no sound problems.00:54
hatchahh well those happen00:54
hatchthanks I'll be sure to embed as soon as it's up00:55
hatchdoes it give you an eta? I've never uploaded a video before00:55
MakyoOnly on uploads, not on processing.00:55
MakyoCan preview here, I guess: http://ubuntuone.com/5EjNP5D50mRe2PxXa9yhl6 But that's the full HD video.00:56
hazmatcouple of oddities on jujucharms.com00:56
hatchno thanks00:56
hatch:)00:56
hatchhey hazmat, what did you run into?00:56
hazmathatch, jujucharms.com, search for log, click logstash-agent, click interface get a redirect, looks like some oddity around the icon fetching00:57
hazmathatch, doing a full reload on the logstash-agent page and the interface 'tab' loads fine00:58
hatchyeah then the browser appears to think it's in the logstash charm00:58
hatchhazmat: ok I see what the issue is....I think00:59
hatchtrying to repro00:59
hatchyeah it looks like there is a error which is causing the click handler to not 'prevent default'01:01
hazmati can get some other ones where the main content well grays out01:01
hazmatbut navigation works01:01
hatchyeah this is an odd one01:01
hatchat least it's repro-able so we should be able to track it down01:02
hatchcan I impose on you to file a bug? :)01:02
hazmatsure01:03
hatchthanks :)01:03
rick_hhazmat in chrome?01:18
rick_hthere's a known routing bug that changes the url and causes a redispatch in chrome01:18
hazmatrick_h, in chrome01:25
hazmater. chromium01:26
Makyohatch, gave you the wrong URL: http://www.youtube.com/watch?v=V2H3fat0K5w02:00
rick_hhatch: yea, wild day today :)02:07
rick_hMakyo: much better sounding02:23
rick_hMakyo: remind me next sprint. I've got a 2 port USB audio box and a trio of condenser mics and pop filters for when we did interviews at OLF and PyCon02:24
Makyorick_h, Yeah, the difference between the mic under the keyboard and anything external is impressive :P02:24
Makyorick_h, Oh?  Rock on :D My mic's a bit big to bring traveling, but I do have a portable Tascam.  The mics might be better, since it's not a separate device, don't have to fool around with kdenlive to sync things.02:25
rick_hactually have an 8-port M-Audio but only works under windows/mac so it's only ran once :(02:25
rick_hMakyo: yea, I got a series of stuff for doing traveling interviews. Table top mic stands, etc02:25
MakyoAwesome :D02:25
rick_hheh, I could watch this all day :)02:26
rick_hcheck out how fast that search is :P02:27
rick_hlol, nice closing Makyo 02:29
rick_h'adds a bit of charm on the top"02:29
MakyoHah, yeah, figured something cute to close it out :)02:30
hatchMakyo: yes...yes you did03:36
hatch:)03:36
Makyo?03:36
hatchre url03:36
MakyoYT created two links, one is still dead :/  At least we still have the other!03:36
hatchpost updated with video03:38
hatchyou're gona be famous03:38
MakyoeFamous.03:38
MakyoiFamous03:38
hatchinfamous03:39
hatchcrazy Ubuntu Edge is over $3m03:40
=== rogpeppe1 is now known as rogpeppe
rick_hjujugui reviews please for a hot item of getting the charm details left breakout panel working to show off (though lots of bugs in it still) https://codereview.appspot.com/1171404312:17
bacrick_h: o/12:17
gary_pos`rick_h, cool! on it12:17
bacis gary_pos` your rap name?12:17
gary_pos`lol12:17
rick_hhah!12:17
=== gary_pos` is now known as gary_poster
benjirick_h: I'll do the second review12:18
bacbenji: i'm already doing it12:19
gary_posterI was going to do second review buit now I'll just do extra qa :-)12:19
bacdidn't you see me raise my hand?12:19
benjibac: oh, I missed that; next time wave harder12:19
gary_posterbenji and bac are doing the reviews! /me said happily12:19
baci like that plan12:19
baco//////12:19
benjiheh12:19
gary_posterlol12:19
rick_hthanks guys, appreciate it. Just realize that things like the events and such in the working charm details are borked a bit. The tabs updates the url, and some links want to work a bit strangely. but it displays and loads content in a readable way12:19
benjirick_h: so hold off on reviewing?12:20
bacstand down12:20
rick_hbenji: no, this is a step 12:20
rick_hplease review12:20
benjik12:20
gary_posterstand up!12:20
rick_hwill follow up with more clean up and such. But this reorg of the html/css needs to go forward12:20
rick_hI'm just trying to prevent a bunch of bugs getting filed after this :)12:21
rick_hand with that...time to make some coffee12:21
bacso sil wrote an indicator widget to track ubuntu edge and gustavo (i assume) put this graph together http://ubuntu-edge.info .12:35
rick_hyea, with data ...let there be visualizations12:36
rick_hbenji: replying and updated branch coming. I didn't update all the CSS because honestly I indented it one left under .juju-inspector and would rather not refactor it in this branch atm.13:12
rick_hbenji: and I didn't get the reference... I fail :(13:12
rick_hbenji: QA go ok? or bac were you going to come back for QA?13:12
benjirick_h: that's completely understandable (the non-changes to CSS and the reference non-getting)13:13
benjirick_h: oh, I didn't QA; but I can.  Shall I?13:13
rick_hbenji: appreciated. I'm going to try to run it through some more browsers to be sure but QA is appreciated13:13
benjiI'll QA now.13:14
bacrick_h: actually i didn't qa as i thought gary_poster was going to.  i will now.13:14
rick_hhmm, so yea I see in FF the inspector doesn't remove on close but it does on chrome...wtf13:16
rick_hand wow FF is slow to start up13:17
gary_posterrick_h, bac, sorry, did basic qa on cherome and looked good.  didn't get farther because of calls13:24
gary_posterchrome13:24
gary_posterrick_h, nice (maybe?) quick fix would be fixing height the way we do for the inspector itself.  I think we do it wrong for ghost though13:25
rick_hFF is being very inconsistent with me. Maybe I should load a non-nightly version. 13:25
bacrick_h: so that breakout panel has no scrolling.  i assume that is known.13:26
rick_hbac: yea, just looking at that with gary here. I think I need to change that from the viewlet container to the overall container perhaps. Testing now13:27
baccool. i'd never seen it before.  will be nice.13:27
bacrick_h: thanks, btw, for the nice QA instructions.  i think we should strive to make that part of all MPs13:27
rick_hbac: hmm, though it would require the tab changes to re-run the calculate height on the viewlet manager somehow. 13:28
bacIANAUXD but the white panel with no border looks naked to me13:29
benjirick_h: QA-wise I can't see any problems13:32
rick_hthanks, looking to see if I can get scrolling before landing. 13:33
hatchmorning14:01
abentleysinzui: I note that charmworld/6, apache2/3 and mongodb/0 all have agents down.  Reboot them?14:03
abentleyShall I reboot them?14:04
sinzuiabentley, yes please :(14:04
sinzuiabentley, I rebooted charmworld and mongodb yesterday or the day before to14:04
sinzuitoo14:04
sinzuiabentley, oh, and I rebooted the basenode last week14:05
sinzuisomethings is very sad in canonistack14:05
abentleysinzui: Everything is back up.14:10
sinzui:)14:11
hatchgary_poster: is there something particular you would like me on right now?14:17
rick_hgary_poster: landing the charm details branch right now. I got the scrolling working in it. So it should be 'good enough' for 'oooh pretty' demo purposes if you want to work with the guys out at OSCON on that. 14:18
gary_posterhatch, gimme one sec14:18
hatchsure np14:18
gary_posterrick_h, awesome, thanks!14:18
rick_hgary_poster: the next plan is to finish up the CSS and get autocomplete landed and then will head back to bugs/making the charm details less 'there be dragons'14:18
MakyoWill be in a little late, have to take the dogs to dog camp today, had forgotten.  Back in a little bit.14:19
rick_hMakyo: so yay that sprint work closes up a bit. 14:19
rick_hMakyo: we call it 'puppy school' :)14:19
gary_posterrick_h, sound perfect! thanks14:20
MakyoWoo!  Will push to get local charms figured out today, then.14:20
rick_hMakyo: yea, let me know if we need to chat on how we can work that out. 14:21
rick_hit's one of the big 'dragons' but figure they won't hit that in a demo14:21
gary_posterok hatch, one silly task but great for oscon would be to make unit collections ordered, and initially closed14:25
hatchgary_poster: can do!14:25
hatchdecending order by the machine number?14:26
hatchthe headings are already ordered14:26
gary_posterhatch thanks.  no, I mean headings.  oh, yeah, lemme see14:26
gary_posterhatch headings don't seem to be ordered to me14:28
gary_posterhatch I go to http://comingsoon.jujucharms.com/:flags:/serviceInspector/14:28
gary_posterdeploy 100 of mysql14:28
hatchchecking14:28
gary_postertype cntrl-s to turn o nsimulator14:28
sinzuiabentley, I am very tempted to create a view that return a charmworld heartbeat right now. If I land that, I can remove the "latest" routes you want me to move14:28
gary_posterand I see running before errors, for instance14:28
sinzuitoo many things to do right now14:28
abentleysinzui: That would be great.14:29
hatchgary_poster: hmm that's a regression14:29
hatchI'll look into it14:29
gary_posterthanks hatch.  next task maybe: we are getting reports of people (including our CEO) going to jujucharms.com and getting "connecting to juju environment" forever14:30
gary_posterhatch I can't dupe14:30
hatchthat happens when there is a console error14:30
gary_posterhatch, possible approaches would be14:30
hatchI wonder if we can trap those somehow...14:31
gary_posterhatch that's what I thought14:31
gary_posterhatch, we could trap and then ask user to report?14:31
gary_postervia email or something lame?14:31
gary_postercapturing info for us?  Or we could send to google analyticsw?14:32
hatchyeah until we have something 'proper' set up14:32
gary_posterwe have the events now14:32
gary_posterin GA14:32
hatchI'm not sure we can send that much data into analytics14:32
gary_posterso we could send arbitrary things14:32
hatchI could be wrong though14:32
gary_posterbac, was there a limit as to how much we could stasgh in the GA events?14:32
gary_postersinzui, in a similar "respond to events before they are emergencies" approach, it would be nice to do some kind of stress testing of m.j.c sometime very soon to see if we can stomp out the 504s.14:33
bacgary_poster: i don't recall14:34
gary_posterbac, cool np14:34
gary_posterhatch, anyway, offer to email and maybe offer to reload?  very open to suggestions :-)14:34
hatchyeah I'm just not sure how to capture the error14:35
hatchwell...in a way that makes sense14:35
hatchcan't wrap the whole app in a try/catch :P14:35
hatchand it's a bit of work to write our own exception handler14:35
gary_posterhatch why not?  can't we do a try catch on index.html?14:35
gary_posteraround Y.use?14:35
hatchI 'think' YUI captures some of these errors automatically14:36
gary_posterhatch, another approach would be to have a setTimeout loop that keeps track of progress14:36
gary_posterif we've been waiting too long then we start ofering help14:37
rick_hgary_poster: the 504s were brought up in the config change where a timeout was moved from 1s to 3s before responding with a 504. 14:37
abentleyhazmat: I've replied to your comments on https://code.launchpad.net/~abentley/juju-deployer/get-flattened-deployment/+merge/175689 do any of my proposals suit you?  Or what would you like done?14:38
hatchgary_poster: that could work as a first step - but of course we would like something somehwat automated so we can get the real errors14:38
gary_posterrick_h, ack.  but does that tell us anything about root cause or remediation?  IIUC that's a band-aid not a solution14:38
hazmatabentley, i guess i'm trying to understand better the goal, you don't have any files in this context? you just have the full data structure to do resolve parents on ?14:39
hazmatabentley, is the context charmworld ingest of a bundle?14:39
abentleyhazmat: Right, and right.14:39
sinzuilooks like google is indexing mange.jujucharms.com again14:40
hazmatabentley, also the underlying branch for the mp  has changed significantly14:40
hatchgary_poster: first I'd probably like to try wrapping our instantiation of app in a try/catch and see if errors bubble up14:40
hatchor if they are caught lower14:40
hazmatthe mp target that is14:40
abentleyhazmat: I saw.14:40
sinzuijcsackett, hangout?14:41
jcsackettsinzui: already there.14:41
gary_posterhatch +1.  I think they bubble up.  I'd be tempted to wrap all of the second "startTheApp" function body in a try...catch14:48
gary_posterin index.html14:48
hatchgary_poster: yeah might as well catch everything14:49
hatchalso....locally the headers sort properly14:50
hatchand it's the same revno14:50
hatchheh14:50
hatchI don't suppose coming soon can be set to devel?14:50
gary_posterhatch, huh.  maybe "running" is the only problem?  locally did you try starting with the simulator off and then turning it on?14:50
benjiabentley: does this ring any bells? http://paste.ubuntu.com/5904369/14:50
hatchI didn't...14:50
hatchI'll try that14:50
hazmatabentley, commented there.. the deployment class has a bit of logic around actually validating the deployment which would  be good for a ingest as well 14:51
abentleybenji: Usually means elasticsearch isn't running on your localhost.14:51
hatchrick_h: https://twitter.com/horse_js/status/359687049655238657 rofl14:51
hatch^ gary_poster you may also find that funny14:52
abentleyhazmat: Thanks.14:52
gary_posterhatch lol14:52
hatchhaha14:52
benjiabentley: I thought the same thing, but the process is there, it is listening on that port, and "wget -O - localhost:9200" displays a JSON document apparently generated by the server14:53
hatchgary_poster: simulator off first causes this bug - the data is sorted correctly but the UI doesn't updated appropriately14:53
hatchwill investigate14:53
gary_postercool thanks hatch14:53
abentleybenji: I don't know what would cause that, then.  You could try running the exact same command at the commandline.  You can get the exact same command by running nosetests without the logging filters.14:56
hatchoh right......d314:58
hatchI have half a mind to write a d3 wrapper that doesn't look horrendous :)14:59
hatchok I am able to reproduce the bug with the simulator on all the time too15:01
hatchdefinitely a d3 thing now15:01
hatcha-hah!15:04
rick_hgary_poster: I'm definitely +1 on logging from the JS. I have done that on other projects before where the JS would file log items in the back end on errors and the like. 15:11
rick_hgary_poster: there's been talk of doing oops-tools in charmworld and maybe a JS -> oops tools would be cool15:11
rick_hgary_poster: but for a quick hack, the free tier on something like loggly might work out. There's some exising logger helper https://github.com/loggly/loggly-castor/ and http://loggly.com/support/sending-data/logging-from/application-logs/javascript/15:11
rick_hgary_poster: it does look like oops-tools does have a charm, though not used it. 15:12
bacgary_poster: sinzui has invited me to the 1330Z orange standup, which conflicts with our one-on-one.  could teknico and i trade 1:1 times?15:13
rick_hugh, though yea that requires rabbitmq and pgsql to come along for the ride15:13
hatchrick_h: gary_poster though because this is potentially intranet software - pinging an external server might be a big nono - along the same lines as the analytics code15:13
rick_hhatch: yea :/ why oops-tools is probably the best way to go long term I guess though it makes me sad15:14
hatchI'd like to pop up an alert saying there is an issue - here is what's being sent - do you want to send....similar to how ubuntu does it now15:14
hatchat least the interactions are expected that way15:14
rick_hhmm, I was thinking a little deeper than that so that we could alert ourselves to things before they break. 15:15
rick_hit's server side and no private data involved. I don't know why we have to ask for permission to send15:15
hatchwe might be talking about two different things15:16
hatchI'm tralking about js errors in the browser15:16
hatchtalking*15:16
rick_hhatch: yea, why are we asking "can i send this error to a server" on a js error in the browser?15:16
rick_hIt's asked in ubuntu because the data sent might contain content from your private file, etc. 15:16
rick_hwe don't have any of that15:17
hatchbecause it'll need to contain the dataset that triggered the error15:17
rick_hif there's an error jfdi15:17
hatchsimply saying 'error on line x' is pretty useless :)15:17
rick_hhatch: on all public data...15:17
* gary_poster back and reading...15:17
rick_hhatch: right, but you can get a traceback and send it15:18
rick_hthere's no need to stop and ask imo15:18
hatchto send any potential data in the stack you do15:18
rick_hwhat potential data are we afraid to send w/o permission?15:18
hatchwell prettymuch anything15:19
rick_hhatch: specific please. You're using the gui on jujucharms.com and an error occurs. What data in e.stack are we afraid to send?15:19
hatchdeployed charms15:20
hatchnumber of units15:20
hatchconfig.js15:20
rick_hon jujucharms.com?15:20
gary_posterrick_h, hatch, it's all potentially personal data, *but*15:20
gary_posterwe can take the GA approach15:20
gary_posterthat we have now15:20
gary_posterspecifically15:20
rick_hhow is config.js private on jujucharms.com?15:20
hatchit's not15:20
hatchbut why would you build a tool simply for one usecase15:20
gary_posterwe send the info15:20
gary_posterand if people don't like it, on jujucharms.com, they don't use it15:21
rick_hbecause we have users hitting issues we can't replicate right now on jujucharms.com and that's the case I'm trying to address asap 15:21
gary_posteras a tool, we give an option to turn it off15:21
rick_hgary_poster: +115:21
gary_posterhatch, I think that's entirely in line with our privacy policy, and we already have the warnings/links about this15:22
hatchI suppose this is all assuming the console error hasn't bricked the app :)15:23
hatchand allows us to fire data to GA15:24
rick_hhatch: right, but if we implement something all logging should go to it. And we wrap it with console.log in debug and 'send log to remote location' in production15:24
rick_hhatch: thus something like loggly or oops-tools15:24
hatchI wrote a console.log wrapper a long time ago that did that15:24
rick_hhatch: yep, I think we all have :)15:24
hatchhaha15:24
hatchmine is locked in a svn repo export.....(plz don't make me install svn just for that) :P15:25
rick_hhatch: heh, I've been trying to find mine in my NAS backup from a few years ago and then figured it was for jQuery and I probably don't want to find it. 15:25
rick_hI'd be afraid to find my 3-6yr old JS code15:26
hatchgary_poster: I get a different popup menu on comingsoon than I do on trunk for build-relation and the like....same revno...15:26
hatchrick_h: did you see my link from horse_js above?15:26
rick_hhatch: yea, long history there. I find it more sad than funny15:27
hatchawww :(15:27
rick_hcreator of pylons, turbogears, Paste and half the wsgi world of tools, all went to mozilla and went JS15:27
gary_posterhatch, popup: yeah I think our makefile has css issues.  i will try to kick it15:28
hatchrick_h: clear indication that JS is a better language :P15:28
rick_h....15:28
rick_hindication that JS needs more smart devs to make it suck less? imported from the best...15:28
hatchoooOooOoooo15:29
rick_hwell, I should say js 'tools' since they stole a bunch of framework and tool authors from Python to hack on JS tools/libraries. 15:30
hatchrumor has it that Google has moved V8 devs to Dart15:30
rick_hpoor devs15:30
hatchlol15:31
hatchthe two guys that were doing the IO talk on the Dart compiler were from V815:31
hatchI want to say they....wrote V8?15:31
hatchI can't remember exactly now15:31
hatchdo we have any way to debug the d3 script?15:35
hatchsome way to switch to an uncompressed version?15:35
gary_posterhatch, yes...devel should use it15:36
gary_posterhatch if it doesn't we have a bug15:36
hatchyeah that's giving me the compressed version15:36
gary_posterwe have the uncompressed version around tehre somewhere, pretty sure15:36
gary_posterMakyo, any clues ^^^ ?15:36
MakyoJust a sec, let me look into it real quick.15:37
hatchthe d3 source is 7000lines of undocumented code....oy vey15:39
Makyogary_poster, hatch, we have the uncompressed version from npm, would need to make it available in assets, change the fullpath in modules-debug, and use the compressed version in modules-prod.15:40
hatchahh15:41
hatchwe should probably fix that at some point hey?15:41
gary_posterhatch, Makyo +115:41
Makyohatch, sure. Just means breaking from our current pattern with modules-prod15:42
hatchMakyo: if I change this insert() to append() it works but with insert I get a DOM Exception 12 https://gist.github.com/hatched/de5e686fa7028a20039615:42
MakyoWhich is fine, of course, just a new thing for me, is all.15:42
hatchMakyo: ok well we can leave it for now but maybe we should revisit how we do module loading entirely15:43
Makyohatch, a wishlist item.  It might be good to at least figure out a path forward.15:43
hatchyeah15:43
MakyoHm, I might actually be crazy.  Maybe it's easier than that.15:45
MakyoCoffee required, though.15:45
hatchI just changed the file in modules_debug for noe15:45
MakyoAlright15:47
hatchand found the issue15:47
hatchwell so I thought15:48
hatchhehe15:48
hatchI think the d3 api is wrong15:48
Makyo:P15:48
MakyoCheck for issues, then, if that's the case.15:48
hatchoh...15:49
hatchour version isn't even close to the most recent15:49
hatchlol15:49
hatchthat could be why the api and the code don't match15:49
hatchhaha15:49
MakyoI mean, the gist code will cause errors because the before argument should return a node, and now it's just logging stuff.  Should use .call for that.15:50
hatchright I added that in....it now returns a string15:50
hatchbut the whole fn is being passed to the querySelect()15:51
hatchMakyo: I see our package.json says <3 for d3.....is there a bug in d3 v3?15:53
gary_posterhatch, rick_h Makyo https://pastebin.canonical.com/94869/15:56
Makyohatch, We had a version-freeze earlier this year.15:56
abentleyhazmat: How do you run the tests in the new deployer?  The README still says "python deployer/tests/test_deployment.py"15:56
MakyoBefore v3 came out.15:56
hatchright - but I mean was there a reason for this freeze specifically15:56
rick_hgary_poster: uh..so that's ungood15:56
gary_posterjujugui call in 315:57
gary_posterkanban now :-D15:57
hatchgary_poster: ugh...I know 'why' thats happening but I don't have a proper fix15:57
Makyohatch, We froze all versions to keep landing branches sane, that was the thing.  If you want to do a full QA run and get us up to v3, I've got no problem with that.15:57
abentleyhazmat: But that fails with ImportError: No module named deployer.config15:57
rick_hgary_poster: what was the url at this point? 15:57
hatchour module code isn't pulling in all the required dependencies15:58
hatchso yui goes and fetches the rest15:58
hatchthere IS a https yui combo service though....15:58
gary_posterrick_h, checking15:58
rick_hhmm, spinner image is also pulled from non-https15:58
rick_hwtf, why is the spin.min.js not in the rollup?15:59
rick_hugh15:59
rick_hah, because it's spinning while things load I guess 15:59
gary_posteryes15:59
hatchthey see me spinnin....they hatin15:59
gary_posterlol15:59
hatch:)16:00
hatchMakyo: ok I'm going to have to attempt an upgrade because the version we are on does not accept a fn as the second argument to insert16:00
gary_posterhatch, rick_h fwiw: plain old jujucharms.com 16:00
gary_posterno url16:00
gary_posterchromium16:00
gary_posterjujugui call now16:01
rick_hgary_poster: ok, looking and trying to reproduce. Only one I can repo is the close-orange.png atm16:01
gary_posterrick_h, hatch could be from loading devel version yesterday? clear cache?16:03
rick_hgary_poster: maybe16:03
hazmatabentley, python -m unittest discover16:03
rick_hgary_poster: but we shouldn't be doing that in devel either. 16:03
hazmatabentley, from within top level of the source tree.. there are other options as well. 16:03
adeuringabentley, sinzui could one of you review thes mp: https://code.launchpad.net/~adeuring/charmworld/1202665-nofile-errors/+merge/17641816:03
* sinzui looks16:04
arosalesgary_poster, when I export an environment  via 'shift-d'  any strings such as "on/off/yes/no" are parsed as keywords and not strings.  Is this a gui thing or a deployer thing?16:08
gary_posterarosales, on call will reply soon16:08
arosalesgary_poster, example is just export a mysql/wordpress env, and then try to redploy with the deployer and errors come up as the values aren't strings16:08
arosalesgary_poster, ack16:08
rick_hrobbiew: do you have a few min to do a hangout with a screenshare for this jujucharms.com issue? 16:17
robbiewrick_h: when I'm out of this call, sure16:18
rick_hrobbiew: ty16:18
sinzuiadeuring, r=me with an additional comment.16:19
adeuringsinzui: thanks16:20
rick_hrobbiew: calling back, was logged into wrong account. 16:25
gary_posterrick_h, ben was able to dupe once in incognito mode, and then could not.  Makyo hatch and I cannot repro at all in incognito or otherwise16:30
rick_hgary_poster: talking with robbiew now, looking and trying to make sense16:30
gary_posterthanks rick_h 16:30
* benji jumps into the escape pod.16:32
rick_hgary_poster: ok, I don't understand how we're starting the app. We're not using the domready event, there's some sort of setTimeout() in there. I think we're just hitting race conditions with the order for3 files getting loaded 16:38
rick_hthe stuff we're doing in app/index.html seems like it'd be fragile 16:38
hatchrick_h: so it's reproducable?16:38
rick_hhatch: so he had it over and over while he was using a cached file. On a freshly cleared cache it went away16:38
rick_hgary_poster's gotten it once in incognito mode, but only once. I can't help but think it's some sort of race. In his network graph on a failing case the files were coming in on the network tab way out of order of listing in the index.html, which shouldn't matter unless startTheApp isn't waiting for files to load first...and it seems like that's the way it works now16:40
gary_posterrick_h, join https://plus.google.com/hangouts/_/7fb7c30f3a232db57dd8549738fb98e723d90d4a ?16:40
hatchhangouts crashed16:45
gary_poster1) enable etag support16:52
gary_posterhey frankban 17:04
gary_postersomething we will want to add to our static file serving:17:04
gary_posteretag support17:04
frankbangary_poster: sounds good17:04
gary_posterI assume we could do that really easily17:04
gary_postercool thanks17:04
frankbangary_poster: IIRC we will also need to add "/test" when serve-tests is true in the charm, or something like that17:05
gary_posterfrankban, yes, good point17:05
frankbangary_poster: ok, I'll create two cards17:06
gary_posterthanks frankban 17:06
bcsallercrazy lag was crazy17:07
hatchgary_poster: bcsaller is going to attempt to create a somewhat simple prototype of this approach because I think that we agree it's the right way to do it, but I'm having a hard time seeing where it'll be injected while keeping it 'simple'17:07
hatchbcsaller: the odd thing was that the video was on time but the audio was way behind haha17:30
rick_hhatch: can you ok https://codereview.appspot.com/11571044 if you get a sec?17:33
rick_hAfter doing a bunch of reading I'm less sure of this fix, but it seems a worthwhile change regardless. :/17:33
hatchrick_h: hmm17:35
rick_hgary_poster: fyi, from what I can read you're right. they should be run in order 17:35
hatchit appears that we might 'need' to do the flag approach17:35
rick_hhatch: well, I'm not sold there isn't something else here. A bad network issue? a truncated file? freaking hard to see since I can't dupe17:36
hatchyeah exactly17:36
gary_posterrick_h, ack.  was going to comment that if we do this, we should include a comment about why.  also afaict (http://www.w3.org/TR/html5/scripting-1.html#attr-script-defer) we should not have defer or async on non-src script tasg17:36
rick_hhttp://www.html5rocks.com/en/tutorials/speed/script-loading/ is the latest/best info I can find atm 17:36
rick_hgary_poster: bah, then never mind on this because the only way this 'makes sense' in the limited way it does is if we're also saying the manual script block only executes in order17:37
gary_posterrick_h, ah. :-/17:37
gary_posterhatch, rick_h, nasty global flagsies then?17:37
rick_hI was trying to test it out here to see if it worked as expected with the defer in the non-src block. http://stevesouders.com/cuzillion/?c0=hj1hfft1_0_f&c1=hj1hfft3_1_f&c2=hj1hfft2_1_f&c3=hb0hfft0_1_f&t=137460034546717:38
gary_posterhuh17:39
gary_posterinteresting17:39
gary_posterwell, if we go that way, maybe include that page in comment? :-/17:39
rick_hgary_poster: yea, I can add comments to both links and just say "this is a trial..." and see if reports stop coming in. 17:39
rick_hbut as I said to start, I'm less sure of myself now than I was on the call :/17:39
gary_posterheh, I hear you17:41
rick_hgary_poster: ok, well I'll add docs to the code, links to the two files, and land this for now. It won't make things worse and we can see what happens. 17:43
arosalesgary_poster, not urgent but in reference to my export question hazmat pointed to bug 1200625, which is the issue I am seeing.17:43
_mup_Bug #1200625: gui export is exporting invalid config options / not respecting type when serializng <juju-gui:New> <https://launchpad.net/bugs/1200625>17:43
rick_hgary_poster: and if we can get any way to reliably dupe it I promise to tear it apart17:43
gary_posterrick_h, +117:43
arosalesI added my comment to that bug.  Posting here as an fyi17:43
gary_posterarosales, ah thanks I'm afraid that had completely slipped my mind.  looking17:43
arosalesgary_poster, no worries, not urgent just wanted to follow up and post here when you had an opportunity.17:44
gary_postercool thank you much arosales 17:44
hatchrick_h: cool page - 5.5s load time?17:45
bcsallerrick_h: isn't 'defer' the opposite of what we want, sync loading is the default, we need to ensure execution doesn't happen till the parse is finished though.17:45
rick_hbcsaller: defer says the fiel can be dowloaded async, but must be executed int he order it appears in the dom17:46
rick_hasync says that you can download this file async, and execute it as soon as you're ready regardless of order17:46
bcsallerand after the doc has been parsed, hmm17:46
rick_hhatch: yea, there's timers installed in each external file to demonstrate order17:46
hatchahh17:47
rick_hbcsaller: right, but our JS is right before the footer already17:47
rick_hbcsaller: so the body parsing shouldn't cause us any issues from what I can see. 17:47
arosalesgary_poster, sure np. hazmat helped point to the bug.17:47
bcsalleryeah... hmm17:47
gary_posterbcsaller, https://bugs.launchpad.net/juju-gui/+bug/1200625 has more details now fwiw.  it does seem like a yaml lib problem.  I'd vote on the proper fix being a switch to letting the deployer handle our exports, except that won't work for some of other plans (being able to import deployer file, allow modifications, and then send back to deployer).  therfore maybe we need to fix the yaml lib17:47
rick_hbcsaller: testing with/without locally is darn near identical. 300ms diff in times17:47
_mup_Bug #1200625: gui export is exporting invalid config options / not respecting type when serializng <juju-gui:New> <https://launchpad.net/bugs/1200625>17:47
gary_posterbcsaller, not a burning issue.  just letting you know17:48
hatchrick_h: I'm worried this is simply a bandaid17:48
rick_hhatch: I'm worried it won't work at all. 17:48
hatchlol17:48
rick_hhatch: from what I can tell the issue we think we have should not happen as the code stands today17:49
gary_poster+117:49
hatchI agree17:49
gary_posterI think this is a browser bug :-/17:49
rick_hsee - http://www.html5rocks.com/en/tutorials/speed/script-loading/#toc-quick-reference 17:49
rick_hgary_poster: and that's possible. it was only in chromium and FF was working for him17:49
rick_hgary_poster: and I know chrome-ium is the most aggressive with this stuff17:49
gary_postery17:49
rick_hso *maybe* by saying "Hey smarty pants...I want these defer'd and respect my authority" it helps17:50
rick_hbut ugh and ugh and ugh 17:50
hatchrick_h: so reading through that page it looks like the only way we can be sure is using the ugly flags17:50
hatchbecause each browser does it differently17:50
rick_hhatch: but even flags can cause issues if it's outside of this. A bad file tranfwer or the like17:51
rick_hthen the flags never run and you just get a spinner over and over and no error because you never run :)17:51
hatchdo you think the server is truncating it?17:51
hatchis that what the source lookd like on robbies machine?17:51
rick_hhatch: so the cache'd all-yui.js that we copied from the browser into vim had no TabView module defined in it :/17:51
rick_honce we cleared the cache it worked17:52
hatch:/17:52
rick_hwith a ctrl-shift-delete empty cache17:52
hatchohh17:52
hatchTabView specifically?17:52
rick_hhatch: so maybe it's all just related to the yesterday single serve files since we still service all-yui.js 17:52
hatchit's a caching issue then17:52
rick_hhatch: well that was my canary in the coal mine17:52
rick_hhatch: right, but gary_poster reproduced it one time in in-cognito mode17:53
hatchbin/merge-files:8217:53
rick_hwhich I'll assume is not cache related17:53
hatchI had to add that in becuase tabview wasn't loaded by default17:53
rick_hhatch: yea, we manually add it due to build issues, but it should be there17:53
rick_hhatch: so robbiew had a bad file, I'm not sure on gary_poster's run. I'd love to have peeked at his all-yui.js file when he dupe'd the error17:53
hatchright - so the only time it won't be is if it was loading an old file?17:53
hatchs/?/.17:54
rick_hbah, and sorry for the pings guys /me replaces real people names with jojo and bubu :)17:54
hatchlol17:54
rick_hhatch: I *think* but hard to say for 100% without seeing it 17:54
rick_hanyway, if anyone gets an error stop, don't breath, and screenshare with me pls kthx :)17:55
hatchhaha17:55
hatchrick_h: I'm not confident that we should land this defer17:55
hatchbecause I'm pretty sure it'll do exactly what it's doing now17:55
hatchreading the docs17:56
rick_hhatch: I know, but it can't hurt any. The worst case is that we wait for until right be domready to execute and it'll cost us a few ms, best case it helps load these files async and buys us a couple of ms and helps17:56
hatchhaha, I'll lgtm it17:56
rick_hand <3 that we hit the t-shirt goal for the sprint. I'm only sad I can't bring it to PyOhio this weekend. thanks jcsackett 18:02
hatchsomehow updating d3 causes the makefile to try and simlink yui twice.....?18:24
rick_hlol18:24
rick_hour Makfile hates you for making fun of it18:24
hatchclearly18:25
hatchit's also garbled it's code to make it unreadable18:25
hatchoh wait....no that's just normal18:25
hatch:P18:25
gary_posterrick_h, hatch, I just got an instance of the failure.  http://ubuntuone.com/7K2T0TNIV9koJYv5p35mGE18:26
hatchok so that means that the config file hasn't loaded yet18:26
rick_hw...t...f... window is not defined?18:26
rick_hoh, juju-config is undefined18:27
gary_posterright18:27
rick_hnvm, yea config hasn't been run18:27
hatchso we need to do the hacky 'flag' technique I mentioned I guess18:27
gary_posterso race condition18:27
gary_posteryeah it seems so18:27
hatchbecause clearly they aren't being executed in order18:27
hatchthat sucks, it feels so hacky18:27
rick_hyea, and every doc says it should so browser bug18:27
gary_postery18:27
hatchgary_poster: thanks for getting the bug :D18:28
gary_posterhatch, np ;-)18:28
hatchhow did you repro it?18:28
hatchhave you been sitting there hitting refresh for the past hour?18:28
hatchlol18:28
gary_posterhatch, random.  was trying to go look at comingsoon18:28
rick_hhatch: so 1) how are you giong ot hacky it?18:29
hatchgary_poster: can you check to see if the config file was fully downloaded?18:29
hatchor did you close it already?18:29
rick_h2) can't we defined startTheApp above config.js and have config.js run it at the end?18:29
hatchthinking maybe the server is truncating it?18:29
gary_posterhatch reloaded already18:30
gary_postersorry18:30
hatchno problem18:30
rick_hhatch: so if we defined the startTheApp as a function call above the 3 included files and defer them in order and call startTheApp from config.js worky?18:30
hatchrick_h: at points we would consider a file 'done' executing it assigns a flag to some global, the settimeout fn then checks that all the required flags are set - if they are, then it starts the app18:31
rick_hhatch: or did you have some other hacky in mind18:31
rick_hhatch: so it'll look on some setTimeout interval until run then?18:31
gary_posteryeah the startTheApp dance we have now assumes that the file loading approach works18:31
rick_h/look/loop18:31
hatchwhich is should haha18:31
hatchrick_h: yeah it can be part of the current loop18:31
gary_posterright18:31
rick_hyuck loops18:31
gary_posterbut if we are no longer using that method18:31
gary_posterwe can simplify.18:32
gary_posterugly :-(18:32
gary_posterfeels dangerous/fragile18:32
rick_hyea18:32
gary_posterwe should be able to rely on browser for this stuff18:32
hatchwe could put this starttheapp in a separate file18:33
hatchmaybe it only guarantees the order of externally loaded scripts18:33
hatchtbh i've never seen this error before18:33
rick_hhatch: yea, defer (by the docs) is ignored on non-src script tags except in IE according to that page linked previously18:33
gary_posterwe could move config load first (before all-yui)18:35
gary_posterand then put startTheApp in modules.js18:35
rick_hhttps://code.google.com/p/chromium/issues/detail?id=24790918:35
gary_posterhacky hack hack hack :-/18:35
hatchgary_poster: yeah that could work18:35
hatchrick_h: of course there is a bug lol!18:35
rick_hhatch: well, it's a bug that's closed because they can't dupe reliably18:35
hatchhaha yup18:36
rick_hso at least we're not alone18:36
gary_posterheh18:36
hatchI suppose there is some comfort in numbers while walking into a pit of fire18:37
rick_hwell if no one else sees any issue I'd want to keep looking at what we're doing wrong18:37
=== matsubara is now known as matsubara-lunch
hatchI like gary_poster's approach18:38
hatchthat should solve the issues18:38
gary_postermaybe tricky though18:38
gary_postersimpler to do what you proposed18:38
gary_posterbecause modules.js differs in dev and prod18:38
* rick_h wonders what it would take to get rid of all js out of index.html and just load files that run. 18:38
hatchbah! take your common sense garbage elsewhere18:39
gary_posterthat's an idea.  looking18:39
gary_posterlol18:39
rick_hoh, you know what...damn18:39
rick_hso we load modules, modules loads .use(['juju-gui'])18:39
rick_hYUI block looks if it should block or go, it says go18:40
rick_hwe need to define a module for config.js, .use([juju-gui, gui-config]) 18:40
rick_hannd the YUI block will wait on it's own won't it hatch ?18:40
gary_posterthat's making some sense18:40
hatchyep18:40
* rick_h tries to remember everything about the YUI loader he can recall18:41
hatchI thought there was a reason why we weren't doing that though?18:41
hatchohh right18:41
rick_hI wonder if just swapping config/modules would work?18:41
hatchwe need the config to pass into the yui()18:41
rick_hin the list18:41
rick_hhatch: yea...right18:41
rick_hhmmmm18:41
hatchtrying to overwrite the yui linked dir twice.... https://gist.github.com/hatched/05b4c61ec923f46c8a9b18:41
rick_hbut that YUI.use() block doesn't have anything that says to wait for ie18:41
rick_hhatch: running what make command?18:42
hatchmake devel18:42
gary_posterhatch make clean for now18:42
hatchgary_poster: this is after upgrading d3 version18:42
hatchtrunk works fine18:42
hatchmake clean and make clean-all both have no effect18:42
hatchit's actually trying to make the link twice18:43
rick_hhatch: give me a sec to look18:43
hatchthe odd thing is the actual make error message18:43
hatchit references d3.v2.min.js ?18:44
rick_hhatch: yea, look around line 249 18:44
rick_h$(JAVASCRIPT_LIBRARIES): | node_modules/yui node_modules/d318:44
hatchahh ok i'll strip all of these v2's18:44
hatchwow lots of v2's everywhere18:47
hatch*sigh* of course we can't just upgrade18:51
hatchhow silly of me to assume18:51
hatch:D18:51
hatchwho knows about the file unscaled-pack-layout.js ?18:54
gary_posterMakyo, bcsaller, ^^^18:55
MakyoMe.  Why?18:55
hatchafter deploying a charm18:55
hatchI get an error on line 9818:55
hatchCannot read property '_modelName' of undefined18:56
rick_hgary_poster: I can'18:56
rick_ht help but wonder if https://codereview.appspot.com/11577044 would be enough18:56
rick_hor if we'll just get a new error because modules.js wasn't fully loaded since it'll be the last script in line...18:56
hatchMakyo: here is what 'd' is https://gist.github.com/hatched/201696944f12cf95e6ab18:57
hatchso no 'data'18:57
gary_posterrick_h, +1.  I was looking at this and thinking too.  This is fragile, but only because the browser isn't doing the right thing.  As far as modules, I bet it will be fine:  that's using the YUI loader18:58
MakyoWhat's changed in your code that would lead to the wrong value being passed to the pack layout?  I'm not seeing the error locally, and that file's been around for a while.18:58
gary_posterand we Y.use('juju-gui')18:58
hatchMakyo: I upgraded to d3 v318:58
hatchhave a few minutes to pair?18:58
MakyoSure.18:59
hatchguichat?18:59
MakyoSure, why not.19:00
hatchok there19:00
rick_hgary_poster: k19:00
rick_hgary_poster: yea, I'm trying to look at how modules/the startTheApp yui block interact atm. 19:01
rick_hhatch: got the error. config.js is loaded and not truncated in the dev tools. 19:02
rick_hgary_poster: interestingly, it has an etag header on it 19:02
rick_hat least in comingsoon it does19:03
rick_hyea, looks like production has etags as well19:03
gary_posterah yeah19:04
benjiAaaaaand we're back!19:05
rick_hwelcome back benji 19:07
benjiI can now type "initrd (hd0,3)/boot/grub/i386-pc/initrd.img-3.8.0-28-generic" correctly in only one try.19:08
rick_hooh, so you had a 'special' time recently 19:09
benjiheh19:09
hatchgary_poster: got a second to hop into guichat?19:17
gary_posterhatch sure19:17
hatchabout this ordering thing19:17
hatchMakyo: any idea on an eta to do the swap over?19:21
Makyohatch, half day, I'd say.19:21
Makyothen reviews.19:21
hatchcool thanks19:21
hatchbcsaller: are you around?19:39
hatchMakyo: join us in guichat?19:44
hatchthanks Makyo19:52
bcsallerhatch: yes, here, sorry20:08
hatchbcsaller: it's ok, we got-r-figured20:09
* Makyo retrieves dogs from camp. Back in a bit.20:43
hatchhmm I Just got a "cannot deploy service" error....but it deployed the service anyways21:19
gary_posterheh, that's not good21:21
hatchyeah it turns out it was the result of a bad object call in the d3 code....21:23
hatchhmm21:23
* hatch adds to his notes to investigate21:23
hatchgood news is the technique that we are using is working....21:24
gary_posteryay :-)21:24
hatchsome odd interactions though21:25
hatchwhen I click 'Confirm' there is a good 1-2s delay before the ghost inspector dissapears21:25
gary_posterI noticed something like that.  Of course, that probably is indicative of real world behavior--the real world behavior might be worse, in fact21:26
hatchahh, happens the same on comingsoon w/o the flag but we aren't indicating the timeout on the new inspector21:26
hatchwe'll need some type of a spinner or something21:26
gary_posterwe ought to have indicators of "I know what you want; gimme a sec"21:26
gary_posteryeah21:26
hatchlol21:26
gary_posterluca had a site with some of that21:26
hatch"YO, I'm workin here!"21:26
gary_posterheh21:26
hatchin my best Jersey Shore accent of course21:27
gary_posterof course :-)21:27
gary_posterbac, hey.  Is this resolved-ish? https://bugs.launchpad.net/juju-gui/+bug/118950221:40
_mup_Bug #1189502: Google analytics use should be configurable via the charm <juju-gui:Triaged> <https://launchpad.net/bugs/1189502>21:40
hatchlunching21:41
gary_posterbac, sorry never mind21:41
gary_posterit is not21:41
gary_posterhatch, when you get back: will https://bugs.launchpad.net/juju-gui/+bug/1170031 be completely fixed by inspector, or just improved?21:43
_mup_Bug #1170031: show_enviornment called multiple times even on other views <juju-gui:Triaged by hatch> <https://launchpad.net/bugs/1170031>21:43
gary_posterum, sorry, bac, yes it is :-)21:44
bacgary_poster: well, that bug is half solved.  on/off is provided but the google id is not configurable22:08
hatchgary_poster: that bug is partially fixed now but once we switch to the inspectors it'll be 100% fixed22:47
rick_hgary_poster: got a phone call from jcastro. The phrasing was something like "Man, people love this stuff!"23:28
hatch:D23:28
rick_hgary_poster: didn't have your info to call, will fill in 100% when he writes up the report, but wanted to me to pass notes to the whole team that we killed it. People are eating up the Gui 23:28
hatchit feels great to know people love the product you make :D23:29
rick_hgary_poster: said in his talk he went through how to do stuff and then said "And if this is too hard, pull up the gui and just drag it to deploy it" 23:29
hatchlol23:29
gary_posterrick_h, :-) awesome23:29
rick_hso not a ton of info since he called from the floor while I was out to dinner, but wanted to pass along as requested23:29
gary_posterthanks rick_h :-)23:30
gary_posterhuwshimi, hi.  hope you saw that too ^^^ that's with a big thanks to a lot of your hard work, and we've had lots more praise23:32
huwshimigary_poster: Awesome!23:32
hatch$3.6M on the Edge23:37

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