/srv/irclogs.ubuntu.com/2013/12/11/#juju-gui.txt

MakyoRebase hates me.  Anyway.  jujugui lf review/qa (sandbox, 2000 units, watch the inspector for delays) https://github.com/juju/juju-gui/pull/1400:49
hatchi'll take it00:50
gary_posterthank you.  also looking at it but won't have time for review00:50
hatchheh this diff is very confusing00:51
hatchhmm Makyo  very intersting00:52
gary_posterMakyo, hatch, I'm seeing maybe a half second shaved off of the pauses as I scroll with 2000 units if I compare local repo with comingsoon.  Is that what I should expect to see, or do you expect the change to be more dramatic?  Maybe I did something wrong01:05
Makyogary_poster, not seeing any pauses, here..01:07
gary_posterMakyo, ack. :-/ I looked at app/views/viewlets/service-overview.js and saw changes you have in the diff01:08
gary_posterso I do have your changes01:08
gary_posterI can try make clean01:08
gary_posternope, no change01:10
MakyoTakes 10s for 2000 units to render on comingsoon for me,  1.5s locally.  No delays scrolling in either, though.01:11
gary_posterah, weirdness: filesystem says one code, but browser says another01:12
gary_postertrying something01:12
gary_posterno01:13
gary_posterweird!  Makyo good news is that it's something on my system :-/01:14
gary_posterMakyo, awesome!  weird cache issue on my side; has not happened in a long while.  had to clear cache.  Sorry for false alarm.  Looks great!01:17
gary_posterI need to grok the branch tomorrow so I can see what you mean by your comments01:18
MakyoOh!  Cool :)01:19
MakyoYeah, np01:19
gary_posterMakyo would you mind explaining what you did to the team on the Friday call, as a way of giving us all d3 insight?01:31
MakyoDefinitely.  Will make a card with notes for myself.01:32
gary_posterthank you01:32
gary_postermade card.  please feel free to take over :-)01:33
gary_posterrunning away.  have a good night!01:33
=== gary_poster is now known as gary_poster|away
bachi frankban12:31
frankbanmorning bac 12:31
bacfrankban: since you are the world's expert on using Mock and MagicMock could you give me a hand with mocking 'open'?12:32
frankban:-)12:33
bacfrankban: i've got this test:  http://paste.ubuntu.com/6555806/ -- the MagicMock that is returned by the mocked open is not being called.12:33
bacif i step into the function, the fd returned from the mocked open is a MagicMock and it is being called, but the  object accessible in the calling context is not.12:34
frankbanbac: does it work using '__builtin__.open'?12:34
baci've tried using michael's instructions here: http://www.voidspace.org.uk/python/weblog/arch_d7_2010_10_02.shtml#e118812:34
baci've not tried builtin.  good idea12:34
=== gary_poster|away is now known as gary_poster
gary_posterfrankban, fwiw I am reviewing your branch13:04
frankbangary_poster: thank you!, Brad will start the second review in minutes13:05
* frankban lunches13:05
dimiterngary_poster, hatch, hey guys13:45
gary_posterhey dimitern .  thanks for work on charm upload: looking cool13:45
dimiterngary_poster, hatch, we had a bit of discussion about the charm upload implementation13:46
* gary_poster listens13:46
gary_posterhatch is probably still sleeping in his timezone13:46
gary_posteror at least not started yet13:46
dimiterngary_poster, hatch, and some concerns were raised that using multipart/form-data, while being more standard-based is less efficient for bandwidth due to the encoding required13:46
gary_posterso this POST vs PUT?13:47
dimiternno matter, at leas he'll be pinged and see the conversation later if i include him :)13:47
gary_poster:-) cool13:47
dimiternso, encoding a sub-10MB charm inside a multipart form is not a big deal (some 25% increase in size)13:48
rogpeppegary_poster: the question is: is it hard for you to generate a POST with an application/octet-stream body containing the zip file?13:48
dimiternbut I'm told we expect much bigger charms13:48
dimiterni.e. a binary, non-encoded body13:48
dimitern^ re rogpeppe's question13:48
dimiterngary_poster, the content-type is not a big deal, but 'd prefer it to be application/zip, so we can bail out earlier with a nicer message13:50
gary_posterdimitern, rogpeppe needs research.  trying to do it quickly.13:50
dimiterngary_poster, otherwise we're still extracting the archive and reporting any errors, but in a more generic fashion (i.e. "invalid charm format: zip: no header found" or something like it)13:51
rick_h__compressing client side will be tough13:51
dimiternrick_h__, I thought we already have the zip packaged before the upload?13:51
gary_posterrick_h__, this is about octet13:52
rick_h__gary_poster: oh, ok nvm. 13:52
gary_posterrick_h__, we will be provided zip *and* there appears to be nice JS zip lib for converting floders to zips13:52
gary_posterrick_h__, http://stuk.github.io/jszip/13:52
dimiternalso one thing to keep in mind is that we'll be respecting the revision specified in the charm, if possible - i.e. non-conflicting with another charm in state13:53
dimiternotherwise we'll bump it to the highest in state +113:54
dimiternthe bumping also occurs if the revision in the charm is lower than the highest in state for the same charm13:54
gary_posterI like that bit dimitern; I assume the API will give us feedback as to what revision was actually used, so we can report back13:55
dimiterngary_poster, yes, if you look at the specs https://docs.google.com/a/canonical.com/document/d/1TxnOCLPDqG6y3kCzmUGIkDr0tywXk1XQnHx7G6gO5tI/edit#heading=h.t7svtxl846ha 13:55
dimiternbrb doorbell13:55
rogpeppegary_poster: yes, the return from the POST is the charm url which includes the new revision number13:56
gary_postergreat13:56
dimiternyes13:56
gary_posterdimitern, rogpeppe I *think* we can do application/zip and application/octet-stream.  We will need to test it on supported browsers, I think, because I don't find a clear cut answer in my searches.  Worst case, though, would be that you have two or three mini-paths, one for zip, one for form-data, and maybe one for octet-stream.  That doesn't sound too bad?  We can give you concrete answer be EoD today as to the res14:00
gary_postert?14:00
rogpeppegary_poster: it would be nicer if we could avoid the multipart stuff entirely14:01
gary_posterrogpeppe, of course14:01
gary_posterrogpeppe, dimitern, so, we will research and give you concrete answers first investigating application/zip (your pref); and then application/octet-stream if we run into trouble with the first.  We will report back today.  Sound good?14:02
rogpeppegary_poster: sounds good to me. personally, i'd be more than happy with just application/octet-stream - i can't really see much added benefit from checking the content type, as filesystems don't usually store that.14:03
gary_posterack14:04
dimiterngary_poster, great14:05
gary_postercool thanks for update dimitern and rogpeppe.  talk to you soon14:05
dimiterngary_poster, so, just that you know - I changed the specs to reflect the final version which will be implemented14:05
gary_posterdimitern, I saw, and also shared it with rest of gui team14:05
dimiterngary_poster, the most important change is that the body needs to be binary, the Content-Type is not crucial, pending your verification14:06
gary_posterack14:06
dimiterngary_poster, cheers14:06
gary_poster:-)14:06
hatchmorning14:07
gary_posterhey hatch.  read backlog for me and I bet you can figure out what I'd like you to answer/research ;-)14:12
hatchon it!14:15
gary_posterthanks hatch14:17
hatchgary_poster so the question is, can we upload uses an octect-stream?14:19
hatchanswer is yes14:19
gary_posterhatch, on POST as well?14:19
hatchyep14:20
gary_posterhatch, great.  includes Safari?14:21
hatchjust confirming safari14:21
gary_postercool14:21
gary_posterhatch also do you want a review of the sticky headers thing?  looks like huwshimi gave you an unofficial +114:22
hatchsure, somehow I ended up with over 100 emails lastnight, still going through them14:22
gary_poster:-) k.  and are you in the middle of a review of Matt's performance branch, or should I take that too?14:22
hatchgoing through it 14:23
hatchanother bug with someone using the autocomplete as search results14:24
hatchheh14:24
hatchman there is like 0 documentation on safari14:26
bacgary_poster, frankban: sorry for the vague zope reference, i was thinking instead of the auto-ui generation aspect.  that said, my lack of understanding of the roadmap shouldn't reflect negatively on the work.14:26
rick_h__hatch: yea, at least we've got a plan on that one, just not done it yet14:27
gary_posterbac, cool14:27
bacgary_poster: and i did use a smiley, which covers many sins.14:27
gary_posterbac :-) <- sins covered14:27
frankbanbac, gary_poster: the reports of me rewriting zope have been greatly exaggerated14:28
gary_posterlol14:28
bac:)14:28
bacfrankban: it did seem to come from an unlikely corner14:28
hatchgary_poster so I can't find anything to confirm/deny the support for octect-stream in safari post - I can hack together a quick node script to test today if you would like14:32
gary_posterhatch +1 please thank you14:32
gary_posterhatch, for my own knowledge, where did you confirm octet-stream for chrome et al?14:33
hatchI just read a few stackoverflow posts where people were having issues with it14:33
gary_posterheh ok14:35
gary_postermy google fu was merely insufficient :-)14:35
hatchit's ok, it happens :D14:35
gary_posterhatch qa of sticky headers is good.  one idea: the only mildly annoying flickers I see on Ubuntu are chrome, for the top header.  Can we apply the sticky CSS to the top header as soon as the box is drawn?14:37
frankbanbac: yeah, no. the goal is to have a something to describe fields: gary_poster is right we could do that without classes (a namedtuple seems a good candidate). in this case classes seemed to me more natural: they provide a namespace and a factory (__init__). re auto-ui generation: yes those fields will be eventually used to render/validate the urwid env edit form. AFAIK this can be considered similar to zope schem14:38
frankbanas, and to a variety of other python libraries (django.form, wtform etc.)14:38
hatchI think that should work14:38
hatchthere is also a very odd bug that huw found 14:38
hatchI'll work on those, did you want to take Makyo 's branch? :)14:38
gary_posterhatch, sure :-)14:38
bacfrankban: sure, thanks for the explanation14:39
gary_posterhatch lots of comments and suggestions, but +1.  happy to re-review if desired,15:07
gary_posterbut not necessary.15:07
hatchthanks15:09
hatchI fixed the flash in chrome15:09
gary_posterawesome15:12
hatchI think that this sticky header code nowhas more lines of comments than code15:12
hatchhah15:12
gary_poster+1 :-)15:13
hatchso much for self documenting code lol15:13
gary_postermaybe my scrollOffset comment was too much.  <shrug>15:13
hatchthats only 1 line 15:16
hatchhaha15:16
hatchthe comment that broke the developers back?15:17
gary_poster:-P15:17
frankbangary_poster: what do you think about required=False, readonly=False, and then required must be explicitly passed when creating fields?15:23
gary_posterfrankban, I like it.15:23
frankbangary_poster: the validation is not completely duplicated between the Int and the base fields: the base would complain about 0, but I see your point15:25
gary_postercool15:26
hatchgary_poster when qa'ing Makyo's branch you said that you didn't feel it was more performant? If you want something to compare it to, my branch removes the filters entirely - albeit it has bugs but it'll give you something to compare to.15:28
benjirick_h__: is the staging charmworld supposed to ingest regularly?  http://staging.jujucharms.com/heartbeat shows that it hasn't since the 8th15:40
rick_h__benji: hmm, yes I believe so. I'ts using the same cron from the charm as production unless someone turned off the cron job. 15:41
benjik15:41
Makyohatch, it sounds like gary_poster ran into a cache issue, was better after clearing.15:45
hatchohh ok 15:46
gary_posterhatch, thank you.  it turned out to be a caching issue in my browser.  not sure why it triggered.  once I cleared out cache, the code really had a huge & impressive speed increase.  Seems like only slowdown is in simulator15:46
gary_posternow15:46
hatchawesomer!15:46
gary_posteron the order of a fraction of a second, and barely noticeable15:46
gary_posteryeah definitely15:46
hatchlittle bummed that I don't get to write a new implementation15:46
Makyo:T15:46
hatchbut maybe we'll have to support 10,000 at some point15:46
hatch:P15:46
gary_poster:-P15:47
* gary_poster kinda loves seeing pr tests and $$merge$$ work15:49
hatchyeah I just wish $$merge$$ wasn't so ugly to look at lol15:49
Makyojujugui call in 1015:50
gary_posterty15:50
gary_posterhatch, heh, yeah, I suspect patches welcome if we all agree on something15:50
hatchI'd even go for ::merge:: tbh 15:50
hatch:D15:50
gary_poster<shrug> not huge imporovement to my eyes, but fine with it if team wants15:51
* gary_poster wishes he remembered ins and outs of Y.merge better15:52
hatchmerge is the easy one, it's mix() that's the impossible one :)15:53
hatchY.merge(object[,object]) 15:53
gary_posterah right15:53
hatchY.mix(who-the-heck-knows)15:53
gary_posterin merge, which wins?15:53
hatchlast in the line wins15:54
gary_posterright15:54
gary_posterthx15:54
hatchnooooo problem15:54
rick_h__gary_poster: hatch it's a .ini config key + a doc change. Just say what you want it to be.15:58
gary_poster:poo:15:58
hatch+115:58
Makyojujugui call in 215:58
Makyo+115:58
gary_posterty15:58
MakyoI'm glad github comments support both :shipit: and :shit:15:59
Makyobenji, starting16:02
benjicoming16:02
gary_posterfrankban, https://plus.google.com/hangouts/_/calendar/Z2FyeS5wb3N0ZXJAY2Fub25pY2FsLmNvbQ.j0rk5d371ph8331ijtf48t2uj016:32
gary_posterbenji rick_h__ https://plus.google.com/hangouts/_/calendar/Z2FyeS5wb3N0ZXJAY2Fub25pY2FsLmNvbQ.j0rk5d371ph8331ijtf48t2uj0 ?16:44
benjiyep16:45
hatchhey benji, why chiropractor and not massage? 16:50
MakyoIt's rare enough that a webpage has an Esperanto translation that I'm always surprised by it, and remember that Chrome thinks that's my language for some reason.17:04
MakyoIn other news, our Jenkins install has an Esperanto translation :P17:04
hatchhaha oh Esperanto17:05
hatchI remember the Esperanto bug17:05
Makyogary_poster, hatch okay with one review/qa, or should I request another?17:31
hatchI can do another if you need but the code looked good to me with gary's suggestions17:31
hatchanother qa that is17:31
Makyohatch, I'd appreciate it.17:40
hatchok on it17:40
MakyoSorry, was doing canonicaladmin stuff17:41
hatchbest UX ever in that app17:42
MakyoHope I did the end-of-year closure thing right.17:42
MakyoHah17:42
hatchlgtm'd17:43
MakyoThanks.17:44
hatchgary_poster octet is supported across all of our browsers18:02
hatchon post18:02
gary_posterawesome, thank you18:02
gary_posterhatch, I will send a note to dimiter and rogpeppe cc'ing you18:03
hatchsure thanks, I'll upload the repo so anyone can test if they like18:03
rogpeppegary_poster: cool18:03
rogpeppehatch: so it's not a problem to upload a zip file as an octet stream with content-type of application/zip ?18:04
hatchwell we can set whatever as a content type18:05
hatchI just tried streaming a file via post from all of our supported browsers18:05
hatchI used application/octet-stream18:05
hatchlooks good here with application/zip18:06
hatchI'll push this repo up so you can see18:07
hatchhttps://github.com/hatched/octot-test rogpeppe  gary_poster 18:12
gary_posteroctot?18:12
* rogpeppe likes "octot"18:12
gary_poster:-)18:12
gary_posterthanks hatch18:12
hatchlol typo and I didn't care to change it haha18:12
gary_posterhatch, reply to my mail with link pls?18:13
hatchwill do18:13
gary_posterty18:14
MakyoHahah18:17
MakyoI'm keeping octot. It's perfect.18:17
hatchlol perfect for what?18:18
MakyoI dunno, but it beats out octet at whatever it is.18:18
MakyoProbably perfect for GitHub, actually.18:18
hatchhaha18:18
MakyoOctotcat.18:18
hatchGithub no longer restricts repo names18:19
hatchthey are namespaced now18:19
hatchso multiple people can have the same repo name18:19
MakyoIt's been that way since I started using it, at least.18:20
hatchohh, maybe I'm remembering some very legacy stuff18:20
hatchand it just stuck18:20
hatchok now what to do....what to do.... *closes eyes and spins around*18:21
hatchlooks like I'm removing more full browser18:21
rick_h__hatch: there's the search bug 18:21
hatchsearch bug?18:26
hatchyou mean that it doens't work like anyone expects it to?18:26
hatchlol18:26
rick_h__hatch: yea, quicksearch filting to only showing one result per charm name with importance weighed in like search results18:26
hatchwas that triaged as higher priority than the browser stuff?18:27
rick_h__hatch: well, at first I thought you were asking18:27
rick_h__hatch: and it bugs me so if you fix it I get to :) 18:27
hatchhaha18:28
hatchwell I should probably continue on my path of browser stuff18:28
hatchgary_poster in the hangout, whenever you're ready19:00
bacoh, yay, the charmworld charm is all bash.19:31
bachey benji, if you have a moment could you see if you can successfully 'juju status' to staging.jujucharms.com after 'source orangify'?  i'm getting TLS handshake errors.20:32
benjibac: sure, let me try20:32
bacty20:32
benjibac: "source orangify" is generating an exception for me20:34
benjiand I have to go to an appointement, like 5 minutes ago :)20:34
benjisorry I couldn't help20:34
bacnp20:35
hatchholy so much code removal21:02
hatchand only 3 test failures21:08
hatchw00t21:08
hatchrick_h__ hey are you around?21:27
hatchjujugui looking for two reviews and qas on the fullscreen code removal branch (1242ln diff)21:28
hatch99% removals21:29
Makyohatch, on it \o/21:29
hatchthank yas!21:29
MakyoHave a PR?21:29
hatchoops21:29
hatchhttps://github.com/juju/juju-gui/pull/1521:29
hatch:)21:29
hatchforgot to paste21:29
gary_posterwill look soon after bug triage, if no one else has taken21:30
gary_posterhatch, still triaging, but 1,173 deletions: awesome :-)21:39
hatchyeah, that was a lot of code haha21:39
hatchthe paths are still overly complex but we can now work on simplifying them 21:39
gary_postercool21:40
gary_posterMakyo, in a shocking move, I accepted your Christmas holiday vacation request21:40
hatchlol21:41
gary_posterthanks for filing :-)21:41
Makyo!!!21:41
MakyoThanks :_21:41
Makyo:)21:41
hatchwhat we get Christmas holidays? 21:41
hatchNO WAY!21:41
MakyoI needed to see how many days would roll over for the convention trip in January.21:41
hatchoh what convention?21:41
rick_h__hatch: howdy21:42
MakyoSci-fi/furry :P  Giving a talk on data collection and visualization.21:42
hatchhttp://www.scififur.net/forum/forum.php ?21:43
Makyohttp://www.furtherconfusion.org/2014/21:43
hatchcoolio, are you dressing up?21:44
MakyoAt some point, sure, but not during the talk.  Too much to deal with.21:45
MakyoWant to tool around the bay area a bit, too, eat at all the neat places we don't have here in town.  I know it's basically fast food there, but we don't have any ramen shops here :T21:47
hatchhaha - I buy ramen in dry plastic wrapped cubes21:47
hatchaka ichiban!21:47
hatchlol21:47
MakyoPff!  I do too, but after going to a few real ramen places out there, I'm hooked on that.21:48
hatchwe are starting to get a lot of 'foodie' type restaurants here but none really have the level of quality i've come to expect from places on my travels which is unfortunate21:48
MakyoYeah, for sure.  There are a few cropping up in town, thankfully, but some stuff is underrepresented.  Korean food, notably: we have a pretty big Korean population, but the restaurant that's owned by a Korean family mostly just serves sushi.21:49
hatchthat's...odd...heh21:50
hatchyou can tell the best asian restaurants here really easily21:56
hatchif they are full of white people, it's probably not very good :D21:56
hatchit's like "ohh this is WESTERN Chinese food"21:56
hatchhaha21:56
MakyoThere's a place here that helps with work visas for people, so their food is amazing.21:58
MakyoIt's pretty cool, from what I've heard.  They help a family with work visas, find housing, and so on.21:59
rick_h__man hatch you're killing me. Realizing just how much code and tests went into making fullscreen happen. 22:01
hatchrick_h__ yeah only like 1200 lines worth :P22:01
rick_h__is that what the diff is? ugh22:01
rick_h__I'm happy to see it go, but painful as well22:02
hatchhaha yeah, sorry :) but I must admit, it was was easy to remove22:02
hatchso you did a good job modularizing everything22:02
rick_h__:)22:02
gary_posterrick_h__, when you get a chance, could you comment as to whether you think https://bugs.launchpad.net/juju-gui/+bug/1259704 should be addressed in charmworld or gui?  If gui, would like to ask huw to fix it quickly.22:02
_mup_Bug #1259704: Bundle branch command incorrect. <juju-gui:Triaged> <https://launchpad.net/bugs/1259704>22:02
rick_h__gary_poster: rgr22:02
gary_posterrick_h__, thank you (tomorrow is great!)22:02
gary_posterhatch, I won't be reviewing; have to go22:02
gary_posterbye all22:03
=== gary_poster is now known as gary_poster|away
rick_h__have fun22:03
hatchgary_poster no problem, cya22:03
Makyohatch, code's good, going to walk dogs then QA22:05
hatchgreat thanks22:05
=== _mup__ is now known as _mup_
hatchmorning huw22:12
huwshimiMornign22:12
huwshimi*Morning22:12
rick_h__hatch: the reroute or something is breaking onboarding22:33
hatchrick_h__ repro steps?22:34
rick_h__hatch: clear your localStorage, go to /22:34
rick_h__hatch: to see it work, clear your localStorage go to /sidebar22:34
rick_h__hatch: this is in trunk, not your branch atm22:34
hatchohh ok 22:34
hatchso a separate card then22:34
rick_h__hatch: I'm guessing it's part of the redirect/etc work22:34
hatchnice catch though, I never thought of checking that22:35
rick_h__hatch: can you duplicate? I was going to check comingsoon but that's not updating off of git trunk atm22:35
hatchchecking22:35
hatchrick_h__ what was the chrome command to clear localstorage?22:37
hatch I just always did localStorage.clear()22:37
hatchbut I want to make sure it's out of the list22:37
hatchbut my google fu is failing me22:37
hatchrick_h__ I can confirm22:38
hatchdefinitely a bug22:38
rick_h__hatch: oh sorry, I go to the resources tab in dev tools and look at the list22:38
rick_h__then click/delete the itmes22:38
hatchyup it's definitely broken22:39
hatchlocalStorage.clear() does work too, which is pretty cool :)22:39
rick_h__hatch: k, I'll file a bug/add a card for it22:40
rick_h__hatch: posted QA issues22:49
rick_h__hatch: some of them might be related so will hold off on more QA until tomorrow and will go through it again22:49
hatchrick_h__ do you think these happen on trunk too22:49
hatchas part of the redirect not the code removal?22:50
rick_h__hatch: no, some are pure fullscreen22:50
rick_h__the sidebar issue might, not sure. 22:50
hatchwell I mean there is no /fullscreen as far as the code is concerned22:50
hatchit gets redirected22:50
hatchand never touches the other code22:50
rick_h__hatch: right, but it's not redirecting cleanly22:50
hatchright, so these issues should happen on trunk?22:50
rick_h__some of the urls are possible user bookmarked urls that need to map cleanly22:50
rick_h__hatch: ah, ic 22:51
hatchthe search results one is interesting though22:51
hatchwill look into that22:51
rick_h__heh, they're worse on trunk as you don't even get a sidebar at all22:51
rick_h__you just get the canvas sans-browser22:52
hatcheek22:52
rick_h__hatch: yea, I think the redirect should detect the requested viewmode and rather than just navigate, change the viewmode and do a browser viewNavigate so that the rest of the viewstate is kept in place22:52
hatchI can reproduce your sidebar issue, so I'll take a deeper look into that22:53
hatchand maybe at the same time try and fix the redirect stuff22:53
rick_h__the sidebar issue is on trunk as well22:53
hatchoh? hmm22:53
hatchmaybe land as is then and roll another branch?22:53
rick_h__hatch: so maybe that's fallout from sticky headers?22:53
rick_h__well, I think it kind of sucks to keep going removing fullscreen (and hints on what's changed) with the broken url/search/state stuff22:54
hatchmy guess is it's fallout from the browse/build removal stuff22:54
rick_h__I know your branch isn't 100% at fault, but it's related and think those urls should 'work' as part of removing this stuff22:54
hatchyeah that's true22:54
hatchok I'll look into it22:54
rick_h__thanks22:54

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