/srv/irclogs.ubuntu.com/2014/06/04/#juju-gui.txt

hatchMakyo I found the culprit 04:08
Makyohatch, oh yeah?04:09
hatchyep it's the tokens04:09
hatchthe delay was so odd because it was locking up the UI layer04:09
MakyoWhat was causing the problem within the tokens?04:09
hatchI haven't quite narrowed it down but the Widget/WidgetParent/WidgetChild stuff seems to be draining a ton of cycles04:10
hatchthese will probably need to be converted to views04:10
hatchit takes up to 300ms per token to render04:12
hatchinstantiation is fast though so it might not be related to the widget bits04:13
hatchstill  need to do more digging there04:13
MakyoYikes, yeah.  I was wondering where those cycles were disappearing, since it didn't seem to be any of the blobs I'd debugged.  Lets sync up tomorrow morning after the call or something to try and nail this down further.04:13
hatch1.21s PER frame when it's doing that lol04:15
hatchhigh perf man04:15
hatchhaha04:15
hatchyeah definitely, we now have a starting point04:16
MakyoYep!04:18
MakyoI'm crashing, though, damn meds.  Catch up tomorrow morning?04:18
hatchfo sho!04:23
hatchI'm also done for the night04:24
rogpeppehmm, i'm getting this from the canonical irc servers:07:53
rogpeppeThe certificate authority's certificate is invalid07:53
rogpeppeThe root certificate authority's certificate is not trusted for this purpose07:53
rogpeppeThe certificate cannot be verified for internal reasons07:53
rogpeppeanyone else seeing the same thing?07:54
huwshimirogpeppe: I'm seeing the same thing, but I've asked a couple of other people and they seem to connecting be ok.07:56
rogpeppehuwshimi: ok. so it's not just me. the bad guys are selectively targeting us :-)07:56
huwshimi:)07:56
rogpeppehuwshimi: so did you just continue to connect anyway?07:56
huwshimirogpeppe: I can't connect at all.07:57
rogpeppehuwshimi: hmm, i have a "Continue" option, but I don't want to use it, as it potentially gives a middle man total access to canonical IRC07:57
huwshimirogpeppe: I've just done without today.07:58
rogpeppehuwshimi: the odd thing is this line "The root certificate authority's certificate is not trusted for this purpose"07:59
rogpeppehuwshimi: i wonder what purpose it's trying to verify against08:00
rogpeppehuwshimi: what IRC client do you use?08:00
huwshimirogpeppe: xchat-gnome08:00
rogpeppehuwshimi: hmm, bang goes that theory :-)08:00
huwshimirogpeppe: Which tells me the certificate may have expired.08:01
rogpeppehuwshimi: the cert is valid until 201508:01
huwshimirogpeppe: Oh :)08:01
* rogpeppe wishes that certificates were more humanly readable, rather than entirely obscure ASN.108:02
huwshimiWell, I'm done for the day, hopefully they resolve it tonight!08:05
huwshimirogpeppe: Have a good day :)08:05
rogpeppehuwshimi: see ya :-)08:05
frankbanrogpeppe: morning, git migration completed! could you please move the card you are working on in the code lane? oh, also, the card from yesterday (http.go) should be moved to daily accomp. thanks. FWIW, I used this quick and dirty script to check packages' deps: http://pastebin.ubuntu.com/7586126/09:07
rogpeppefrankban: just FYI, you could do {{join .$2 "\n"}} rather than the range loop (well, modulo some quoting issues :-])09:10
rogpeppefrankban: nice script BTW09:11
frankbanrogpeppe: thanks, it seems I have to work on a JS branch this morning, hope to be able to switch back to our migration plan asap this afternoon. 09:13
rogpeppefrankban: ok09:13
hazmatwoot, bzr installable via pip12:33
hazmatiotl == internet of things light ;-)12:40
redirmorning13:08
kadams54morning13:09
rogpeppefrankban: your script didn't quite do what i was after (i wanted it a little more scriptable), so i took 30 minutes to write a slightly different version. http://paste.ubuntu.com/7587381/13:10
frankbanrogpeppe: nice! bash also looks better in your version ;-)13:11
bachi frankban.  did you see my change to quickstart re: tls?13:12
frankbanbac: yeah, that's awesome, good to see the solution was that simple. thank you!13:13
bacfrankban: i wish it were so simple for jujuclient...  it uses websocket.create_connection, which has no sslopt.13:14
bacnot sure how much surgery would be required to replace with WebSocket object use13:14
bacs/WebSocket/WebSocketConnection/13:14
frankbanbac: it should be similar to what we do in quickstart (and originally we did that for other reasons, logging stuff IIRC). perhaps we can contribute upstream by adding the sslopt to create_connection13:16
bacfrankban: that's a thought...13:16
jcsackettmorning (or afternoon) all.13:17
frankbanbac: actually it seems you can already pass sslopt to create_connection: https://github.com/liris/websocket-client/blob/v0.12.0/websocket.py#L19813:21
bacfrankban: silly me, i believed the docstring13:23
bacoptions: current support option is only "header".13:23
bac             if you set header as dict value, the custom HTTP headers are added.13:23
bacand didn't think the sslopt was part of the headers13:24
frankbanbac: yeah that docstring was never updated :-/ and no longer reflects reality: it seems it used to in a very old version: https://github.com/liris/websocket-client/blob/v0.9.0/websocket.py#L17213:28
frankbanbac: so it actually seems your solution can also fix jujuclient \o/13:29
bacfrankban: so it should be quite easy to update jujuclient.  i'll update the bug and make a slack card.  it is no longer directly affecting us, afaict.13:30
frankbanbac: no, since we use a customized way to establish the ws connection it doesn't affect us now13:31
frankbanbac: so +113:31
hatchbac can you kick comingsoon? It's not updating the css again13:53
bachatch: i will.  should i not be around recall that you can too.13:54
hatchoh? 13:54
hatchare instructions in the wiki?13:54
bachatch: instructions?13:55
bachatch: try it now.  is it still messed up?13:55
hatchyeah - like how to log into the server and whatnot13:56
bacit's the whatnot that always bites you13:56
hatchbac yesh it's still broken13:56
bacurhg.13:56
bachatch: ok, doing a make clean build-prod now13:57
hatchthanks13:57
hatchany idea why it does this?13:57
bachatch: now?13:57
hatchbac yep fixed, thanks13:58
hatchluca comingsoon is ready13:58
bachatch: we're missing some dependency in the css generation part of the makefile13:59
bachatch: i'll make a card13:59
lucahatch: thanks13:59
hatchbac great thanks13:59
hatchluca there are a couple known bugs - no databdinging on unit details breakout, and slow rendering when switching between views in the sidebar, anything else that you find that should block release lemme know!14:00
hatchdatabinding 14:01
lucahatch: thanks14:03
lucahatch: I’ll check it out14:03
* rogpeppe goes to grab some lunch14:04
frankbanguihelp: I need two reviews and QA for https://github.com/juju/juju-gui/pull/363 . Anyone available? thanks!14:05
hatchon it14:05
kadams54frankban: I can take a look.14:05
hatchthanks for picking this up frankban!14:05
frankbanthank you both!14:05
bachatch: hey, it was already there.  including the whatnot: https://wiki.canonical.com/CDO/Juju/GUI/CI?highlight=%28comingsoon%2914:05
hatchoh look I have access14:06
hatchlol14:06
bachatch: give it a run sometime and let me know if that doc is incomplete14:06
hatchsure I'll try and get to it today14:06
frankbanrogpeppe: are you migrating utils?14:11
rick_h_Makyo: around?14:14
rogpeppefrankban: yup14:17
rogpeppejust trying to figure out how filter-branch works14:18
redirrogpeppe: what are you trying to do?14:19
rogpepperedir: factor utils out of juju-core14:19
redirwhat have you tried?14:19
rediror what are you trying14:19
hatchrick_h_ not sure if you saw the scrollback but last night I found the perf issue14:21
rogpepperedir: this (suggested by frankban) seems to have worked: git filter-branch --subdirectory-filter utils -- --all14:23
redirrogpeppe: http://pastebin.ubuntu.com/7587828/ notes from my brief look at removing store14:23
rogpepperedir: i just wanted to have some idea of what it was actually doing14:24
hatchfrankban comments made - could you check them out and reply before I hop on QA'ing 14:24
frankbanrogpeppe: great! redir: yeah that's the same command, and we no longer need bzr-export since we start from a git repo14:25
rogpeppehmm, apparently i no longer have permission to create repos in github.com/juju14:26
redirright so clone, promote, add remote, push14:26
frankbanrogpeppe: could you please take notes while doing the migration, so that we can follow those when moving other parts (and eventually also merge those notes in juju docs)? Also, when you actually start, could you please send an email to juju-dev saying we are migrating a utils/*?14:27
rediroh, I missed something14:27
redirclone, promote, add remote, push promoted, whatnot in core, commit, push updated core14:29
redirthe all important whatnot14:29
frankbanredir, rogpeppe: I imagine it would be 1) create juju/utils in github, 2) fork in github 3) clone the fork 4) add juju/utils/ as remote upstrem 5) create a new local branch 6) migrate 7) push to origin 8) propose the branch14:29
frankbanthen remove the moved parts and fix imports in core14:30
frankban(and also update dependencies14:30
lucahatch: the charm details link in the IotL doesn’t work14:33
redirfrankban: can you rewtrite history only in a local branch? won't that affect the whole repo?14:33
hatchluca what does IotL stand for?14:33
hatchI know it means Inspector Left but the letters are all garbled14:33
hatchlol14:33
lucahatch: Inspector on the Left14:34
hatchluca, confirmed - can you create a bug plz14:34
lucanot…garbled…14:34
hatchohhh :)14:34
hatchbrb14:35
frankbanhatch: replied on your comments14:35
rogpeppeso, a git weirdness - i thought git checkout updates all the files in the current working directory, but after doing the above filter-branch command (in a new branch), i did "git checkout master" to revert to the original juju master, and no files changed14:38
frankbanredir: not sure if I understood your question: we need to split the juju/juju history, then create a juju/utils branch with the history obtained by splitting out utils. At that point we just propose a local juju/utils branch (with the history) to be merged into the newly created (and empty) upstream, right?14:38
rogpeppei then tried removing all the files other than .git, and it is still not checking out the files14:39
frankbanrogpeppe: git reset --hard?14:39
* frankban bbiab14:39
redirrogpeppe: that may only have an effect on the INDEX so you may need to reset --hard to make the directory reflect the changes to the index14:40
redirlike frankban said14:40
rogpeppepwd14:41
redirrogpeppe: /irc14:41
rogpeppehmm, git reset --hard did bring some files back (why didn't checkout do that?) but it brought back the files from the new branch, not master14:41
* rogpeppe doesn't understand the subtle difference between checkout and reset14:42
hatchfrankban thanks14:42
rogpepperedir: i don't know about INDEX14:43
rogpepperedir: is that a manifest of files on disk?14:43
redirfrankban: I think we are saying the same thing. I was interpreting your steps as all in the same repo with different local branches and remotes for different upstream repos, which I don't think would work. However, reading your clarification I understand you are working in two repos14:43
hatchfrankban I was under the impression that the ghost service callback converted the ghost service into a real service 14:44
redirrogpeppe: something like that, I don't really get into git that deeply usually as I don't need to14:44
rogpepperedir: i was just trying to understand the git-reset help page, which mentioned the "index" all over the place14:45
redirrogpeppe: index is like the staging area14:45
redirso you make changes in the directory14:45
rogpepperedir: ah, that's where "git add" puts stuff to i guess14:46
redirthen you git 'add' it and that tells the index to stage the change14:46
redirso a lot of the filter-branch and fast-import and other bits actuall just update the index14:47
redirletting you commit later14:47
rediralso impying that your directory isn't up to date when only the index is altered14:47
rediror something like that14:47
rogpepperedir: i don't think that can be the case with filter-branch, because it's rewriting all of history14:48
rogpepperedir: so it surely must update HEAD and everything it points to?14:48
redirrogpeppe: idk, because I haven't had to use filterbranch much -- mostly only to remove sensitive info from repos:)14:49
redirand usually I am in a panic at that point, so not much sticks other than get it out get it out14:49
Makyojujugui call in 1014:50
redirbut I think head is just like a sticky note pointing at the place you are working (most recent commit)14:50
redirrogpeppe: ^^14:50
redirso adding a commit just moves the sticky note to point at then newly added commit (new head)14:51
rogpepperedir: yeah, but if i do "git checkout master", it should bring me back to where i was14:51
redirrogpeppe: if you rewrote history it would bring you back to where you were rewritten to14:52
rediror somehtign14:52
redirrogpeppe: I try hard not to peek under the git porcelin14:52
rogpeppehmm14:54
rogpeppethe odd thing is, i haven't done a single commit14:54
rogpeppeand everything seems to have changed on master and on my checked-out branch14:54
rogpeppethis is what my reflog looks like14:55
rogpeppehttp://paste.ubuntu.com/7587997/14:55
redirrogpeppe: I think you noted that if you fitler-branch --some-filter it rewrites history for you. If you want to pair for a minute, I can pretend to know more about git than I really do14:55
rogpepperedir: let's do that after the standup14:56
redirok14:56
rogpepperedir: or actually, let's join the standup now and see how far we get :-)14:56
rick_h_hatch: didn't see it. What was up?14:57
rick_h_Makyo: reping14:57
Makyorick_h_, oops, missed the earlier one, what's up?14:57
rick_h_Makyo: got a sec for a call?14:57
hatchrick_h_ the perf issue is somewhere in the token widget parent/child rendering14:57
MakyoSure14:57
redirbrt, biobreak pre stanup14:58
bacjujugui: was my audio less awful today via the phone?15:11
rogpepperedir: i fixed the issue by manually resetting to a revid i found in the reflog15:12
rogpepperedir: but i have no idea how i ended up in the state i did15:12
redirrogpeppe: cool15:12
redirrogpeppe: that will prolly happen several more times:)15:13
rogpepperedir: it looks like filter-branch changed two branches at once15:13
redirrogpeppe: I think it does15:13
rogpepperedir: really?!15:13
redirrogpeppe: have you read this http://bit.ly/1i0DBcw15:14
rogpepperedir: i've read something pretty similar in the past. nice summary.15:16
redirrogpeppe: right so if you rewrite a commit, that commit is used in several branches -- because it is all one graph -- then both branches h ave changed15:17
rogpepperedir: i don't think that quite gets into why filter-branch changes two branches at once rather than just affecting the current branch15:17
rogpepperedir: um, i was under the impression that commits weren't really rewritten, but just that a whole new history was fabricated and HEAD changed to point to that new history15:18
redirhistory rewritten equal new different commits in the graph and new trees under those commits15:19
redirrogpeppe: so why wouldn't it affect all branches?15:20
redirthey aren't clones like in bzr15:20
rogpepperedir: but doesn't each branch have an associated revid?15:20
redirI think revid is a bzr term15:20
rogpepperedir: SHA-1 hash15:20
rogpepperedir: whatever the term is15:20
redirahh15:20
redira sha1 hash its a commit15:21
frankbanrogpeppe, redir: so the lesson here is that when we split packages we have to use an ad-hoc juju clone right?15:21
redirwhich points at a tree (dir structure)15:21
redirrogpeppe: ^^15:21
redirfrankban: yes I think so15:21
frankbanthanks redir 15:22
rogpepperedir: what's the right git name for the SHA hash that you see 15:23
rogpeppe?15:23
redirrogpeppe: I think they are just ids for commit objects that you are dealing with15:24
rogpepperedir: right15:25
redirso they are just commiits15:25
rogpepperedir: so each branch points to a particular commit object, right?15:25
redirright but more than one branch can point at the same commit object15:25
rogpepperedir: and if you operate on a branch, it updates the commit object pointed to by that branch, yes?15:25
rogpepperedir: but the branch points to the commit object via its id, no?15:26
redirit should create a new commit object pointing at the associated tree and blob objects15:26
rogpepperedir: rather than pointing to a mutable thing15:26
redirthe id is a hash of the object and an header (commit msg, etc)15:26
redireach commit updates the graph and points the branch at the new commit15:27
redirfo rthat branch15:27
redirbut if you change an existing commit it changes it for anything in the graph that uses that commit15:28
redirhopefully I am making some sense15:28
rogpepperedir: the point i'm finding odd is "changing an existing commit"15:29
rogpepperedir: that implies that branches have some kind of a symbolic reference to the commit rather than just storing a hash of it15:29
redirrogpeppe: rewriting history updates the graph, the blobs, trees, commits, and tags15:30
hatchfrankban should I be able to drag and drop a token on a container with a service in it?15:30
rogpepperedir: and if so, that turns everything i *thought* i knew about git on its head15:30
rogpepperedir: but it doesn't *change* any of the existing blobs, does it?15:30
rogpepperedir: it just adds new ones, no?15:30
redirrewriting history changes them15:30
redirdepending on what is rewritten15:31
rogpepperedir: i'm not sure how it's possible to change a blob, because everything is content-addressed15:31
frankbanhatch: drag a token on a container?15:32
redirwell if you want to remove a password from a file you rewite history15:32
redirwhich changes a file15:32
hatchfrankban yeah so drag and deploy mysql to a machine, confirm, then drag another token to the bare metal on that machine15:32
hatchit throws an error notification now15:33
redirrogpeppe: and that blob then hash a different hash value15:33
rogpepperedir: so if i do "git branch --list -v", i see the branches and the hashes of their commit objects15:33
hatchthis may have always been broken but I'm pretty sure you can deploy to a container15:33
hatchwith something else in it15:33
rogpepperedir: are you saying that if i do a filter-branch on one branch, the hash of the commit object for another branch can change?15:33
frankbanhatch: it does not work, and needs to be fixed15:34
redirrogpeppe: that is my understanding15:34
hatchfrankban but that's out of scope of this branch right?15:34
redirbecause it is not it's own repo15:34
frankbanhatch: is it a regression introduced by this branch?15:34
redirrogpeppe: should be easy enough to do an experiment:)15:35
rogpepperedir: wow. so even though i've done "checkout -b" to try and isolate my changes, the original branch gets mutated anyway.15:35
rogpepperedir: so if you use filter-branch, you'd *always* need to use the reflog to rewind that other branch15:35
redirrogpeppe: if you do it in one repo yes15:36
hatchfrankban ahh I don't know - yours makes it error, whereas before it would just create a new machine haha15:36
hatchI'm going to say - out of scope for your branch :)15:36
frankbanhatch: ok cool then :-)15:36
redirrogpeppe: if I am understanding everyting we are talking about correctly I think the answer is yes15:37
hatch+1'd15:37
frankbanhatch: now that a pattern is established, it shouldn't be hard to fix all the variations15:37
hatchfrankban yeah true true15:37
hatchwho knew ECS would end up being so complex :)15:38
* rick_h_ raises hand15:38
rick_h_:P15:38
rogpepperedir: wow, you're right.15:38
redirrogpeppe: there's a first15:38
rogpepperedir: that is so counter-intuitive15:38
redirquick record this moment!15:38
rogpeppe:-)15:38
rogpeppeso i guess a branch must be more than just a (SHA hash) pointer15:39
redirrogpeppe: when you do those kinds of perations it does tore a back up somewhere in .git but I don't know the details of the top of my head15:39
redirrogpeppe: just different from bzr15:40
rogpepperedir: when i did the operation again, it said this:15:40
rogpeppeCannot create a new backup.15:40
rogpeppeA previous backup already exists in refs/original/15:40
rogpeppeForce overwriting the backup with -f15:40
rediryeah there15:40
redirI usually do rewrites in a whole seperate clone15:40
redirand keep a pristine copy in case something happens later15:41
redirand I need it15:41
redirat least for a reasonable period15:41
rogpeppeah! i got it!15:41
rogpeppei think15:41
* rogpeppe checks15:41
frankbanrogpeppe: git supports both clones a-la bzr and branches. IIUC with checkout you just navigate the tree, and that's why they are so fast, and maybe that's also the reason why when you rewrite history you really rewrite history. it does not seem that weird to me. in our case, we need to use clones15:42
redirrogpeppe: branches with different histories in bzr don't make sense to me15:42
redirit is very rare that I need a seperate clone (bzr branch) 15:43
redirrogpeppe: frankban nailed it there15:43
redirI htink15:43
rogpepperedir: actually, i think i was right :-)15:43
rogpepperedir: the culprit was the --all argument to the filter-branch command15:44
redirI thought I was wrong, turns out I was right15:44
redirah all branches15:44
rogpepperedir: which was specifically asking to rewrite history on *all branches*15:44
frankbanredir: in bzr some of us works with lightweight checkouts which mimic named branches and allow us to always work in the same directory15:44
rogpepperedir: if you just specify the current branch, it works just as i'd thought15:44
rogpeppephew15:44
redirfrankban: yes but it still creates real branches in real directories somewhere else15:45
rogpeppefrankban: FWIW when you rewrite history, you don't really rewrite history15:46
frankbanredir: yes, that's true, well, real branches, you can init your repo with --no-tree so that no files are written on disk, but yes, they are not as lightweight as git ones15:46
hatchkadams54 I15:46
hatchbah15:46
rogpeppefrankban: you just rewrite the history of the current branch15:46
hatchkadams54 I'm thinking that the cards you created should probably go in On Deck or Pool until we put a priority on them15:46
rogpeppefrankban: or whatever branches you've specified15:46
hatchthoughts?15:46
kadams54Sure15:46
frankbanrogpeppe: cool even better then15:47
redirrogpeppe: I'd be wary of thinking that you are at the bottom of it:)15:47
rogpepperedir: i am still very wary :-)15:47
rogpepperedir: but at least experiment seems to support that point of view :-)15:48
Makyojujugui tiny branch https://github.com/juju/juju-gui/pull/36415:48
frankbanrogpeppe: I'd be still inclined to use a disposable clone for this kind of work ;-)15:48
redirrogpeppe: I think you are right, but I can imagine scenarios where things end up different than you expect15:49
hatchMakyo on it15:49
rogpeppefrankban: BTW, what was the reason you gave the --all flag to filter-branch?15:49
rediralso in the case of promoting a sub project I would want all branches to be done15:49
* rogpeppe tries to understand "15:50
rogpeppe           Pretend as if all the refs in refs/ are listed on the command line15:50
rogpeppe           as <commit>.15:50
rogpeppe"15:50
* redir tries to understand quote15:50
rogpeppeah, got it!15:50
frankbanrogpeppe: heh, I don't remember, maybe because I was converting from bzr and I had just a single branch in the target15:51
rogpeppejeeze, they don't write for people that don't understand the internals, do they?"15:51
rogpeppeso the "refs/" there is referring to the .git/refs directory, where branch references are held (amongst other things)15:51
redirrogpeppe: perl people15:52
hatchMakyo +1'd15:53
kadams54frankban: QA and review finished on your PR. Didn't have anything to add to what hatch had.15:53
redirrogpeppe: I was using all because I wanted to capture the tags and anything else that came over from bzr15:53
frankbankadams54: thanks15:54
redirmaybe that isn't necessary for working solely within git but I think I'd still want tags and branches preserved in the new repo15:54
redirrogpeppe: ^^15:54
redirbbiab15:55
rogpepperedir: i can see why --all would be useful if you *really* wanted to rewrite history, rather (say) creating a new repo15:55
redirrogpeppe: TMTOWTDI 16:05
rogpepperedir: that is a severe understatement when talking about git :-)16:06
rick_h_Makyo: lint issue, any reason it's faster to remove the cache than to tie the indicator into there? 16:10
Makyorick_h_, Yeah, fixed the lint issue.  Re the cache - the entire UI thread is hanging, so the indicator would hang as well.16:10
rick_h_but a hanging spinner > odd non readable ui16:11
redirrogpeppe: frankban http://pastebin.ubuntu.com/7588475/ are aliases I use a lot. Particularly tr and missing 16:11
rick_h_Makyo: ok cool, just curious16:11
redirrogpeppe: dunno if the colors work without bash and don't know about acme and shells...16:12
rogpepperedir: colours are for colouring books :)16:12
Makyorick_h_, The spinner was being put in there, but was hanging before it could even render.  We're looking at ways to lighten the render load on charm tokens.16:13
hatchthis is coming from the guy who doesn't even use syntax highlighting rogpeppe ;)16:13
rick_h_Makyo: gotcha. 16:13
rogpeppehatch: you gottit :-)16:14
hatchhaha16:14
redirrogpeppe: tell that to tufte 16:14
hatchrick_h_ the solution may be to write them as Views or remove the Parent/Child bit (still too early to tell)16:15
hatchthat'll be post release though16:15
redirrogpeppe: replace --pretty with --no-color16:17
rick_h_frankban: http://ci.jujugui.org:8080/job/juju-gui-merge/376/ test failure. Odd one, not see it before. It's not one fo the usual temp errors16:18
hatchnoooo more renderTo!!!!16:18
redirrogpeppe: nm that doesn't work you'd need to remore the colors from the foramtting16:18
hatchI thought I got rid of youuuuu16:18
rick_h_hatch: ugh and ugh. The parent child has worked out so well and worked when we had a cache. 16:18
hatchrick_h_ we are just too fast now :)16:18
rogpepperedir: thought so16:18
rick_h_hatch: will take a look in a bit16:18
rick_h_hatch: then it's easy to slow things down in a smooth way :P16:18
rick_h_hatch: or even just cache the rendereted html node tree and replace it on home. There's got to be a better way to move forward than rewrite all the code16:19
frankbanrick_h_: weird this comes after two passes, without no changes other than rebasing16:20
rick_h_frankban: yea, not sure. 16:20
hatchit's too early to tell what the actual problem is - but it's definitely in the token rendering - it might be as simple as blowing away the old list and re-rendering, it spends a ton of time in rendering/gc16:20
rick_h_hatch: huh? isn't that what it does now? 16:21
rick_h_I guess what is getting cached? It should just be the model list16:21
hatchthe json is being cached16:21
rick_h_the api json?16:21
hatchyeah16:21
rick_h_then what's not 'blown away'?16:21
hatchthe DOM when switching from search results to curated16:22
rick_h_the old cache was the models generated. There was the _cache and _cache.interesting16:22
hatchright16:22
hatchMakyo and I decided that making the view caching aware was odd and that it should just be sent data and render it. We know that the model caching bit needs to be done, but the quickest way was to cache the response 16:23
rick_h_yea, not a fan of the api layer caching at all16:23
rick_h_that's at the browser/web service layer16:23
rick_h_the view isn't, it's the application (browser.js)16:24
rick_h_or the state16:24
rick_h_which is a fine place to cache data that is used across state renders/etc16:24
hatchright - the view shouldn't be concerned about the data - it should request it from the same place - that place should return the data, be it cached or not16:24
rick_h_well, the view is updated with new data, and should destroy/redraw based on the new data. /me goes to look at what the view does 16:25
rick_h_Makyo: I'd vote to not comment that out but kill it16:25
rick_h_we know it doesn't work well and isn't a good path forward16:25
rick_h_it doesn't address the caching of individual charm models and doesn't fit the cards on the board for a new cache module that could be shared across views in the app16:26
rick_h_it looks like a single purpose hack to speed up the home button click but fails to do that16:26
hatchthat is a valid point - however a proper cache will take time to implement 16:26
hatchit speeds it up dramatically if you remove the rendering issue16:27
rick_h_sure, but we've commented out this anyway16:27
rick_h_so what does leaving this in help us with?16:27
hatchlike 300ms response time16:27
hatchonce we solve the render issue we can re-implement this cache and not have to schedule the proper one right away if time doesn't permit16:27
rick_h_but the only reason we're seeing a rendering issue is that teh cache isn't working correctly it seems to me? 16:28
rick_h_you've traded one chunk of work for two16:28
hatchno it's the rendering, if you comment out the rendering of the tokens it's very fast16:28
rick_h_ok fine, but those same tokens rendered with a browser.js cache of ._cache and ._interesting didn't exhibit an issue that I recall16:29
rick_h_you're still trading two problems for one16:29
hatchthe rendering needs to be fixed regardless - we 'can' push caching off with the api cache 'hack' 16:29
rick_h_it seems to me the rendering iss, and some 400ms delay during a change of state is something that can be smoothed over much easier16:29
hatchthe state change is instant, <10ms 16:30
rick_h_ok, I understand that, but there's no useful 10ms UI update for users16:30
hatchmaybe we should have a hangout :) it'll be much easier to discuss haha16:30
rick_h_sure thing :)16:30
hatchsec16:30
hatchhttps://plus.google.com/hangouts/_/canonical.com/daily-standup16:31
rick_h_Makyo: ^16:31
frankbanrick_h_: another branch, similar failure: http://ci.jujugui.org:8080/job/juju-gui-merge/377/console16:34
redirrogpeppe: frankban you guys using precise or trusty?16:45
rogpepperedir: i'm using trusty16:45
frankbanredir: trusty16:45
redirfor splitting out the juju-core bits?16:46
redirrogpeppe: frankban ?16:46
frankbanredir: git version 1.9.1 here, on trusty16:47
frankbanredir: git tr is very cool16:47
redirfrankban: it is like a you are here directory for the repo:)16:48
bachey frankban, i'm trying to create a brew recipe based on the lastest tgz we have released.16:53
bacfrankban: but 1.3.2 has the problem with not specifying the 0.12 for websocket-client, thus it grabs the wrong one16:54
bacfrankban: so, any chance of cutting a release soonish?16:54
frankbanbac: looking16:55
frankbanbac: we can release a 1.3.3 if required, after a proper QA with the new juju stable (1.18.4 IIRC). Why are we working on the brew formula now? I supposed that's the very final step for osx support. If that's not the case, I'll try to prepare a new release tomorrow17:00
hatchnot going to lie.....every breakout panel shouldn't be working right now heh17:02
hatchthat might mean this card won't be huge17:02
hatch:)17:02
rogpepperedir: ok, another little git question...17:12
hatchuh oh17:12
redirrogpeppe: I'm ready to provide another wrong answer:)17:12
hatchlol17:13
hatchteamwork!17:13
redirpartially wrong answer...17:13
rogpepperedir: if i want to take a subdirectory out of an existing project (juju/juju), keep its history and the same directory, then merge it with another project, essentially merging two different branches with no shared root17:13
rogpepperedir: is that possible?17:13
redirrogpeppe: yes17:13
redirwait17:14
redirme rereads17:14
rogpepperedir: i want to take juju/juju/testing/filetesting and add it to juju/testing, with all its history intact17:14
redirso17:14
rogpepperedir: i guess i could use filter-branch twice17:14
redirI think the answer is yes17:14
rogpepperedir: once with --subdirectory-filter, then with --tree-filter moving the directory back to its original place17:15
rogpepperedir: and then kinda hope that git merge works when the two branches share no common history17:15
rogpeppehatch: does that sound like a feasible approach?17:16
redirrogpeppe: I know that you can have more than one commit with no parent17:16
rogpepperedir: ok, that's good17:17
hatchrogpeppe no idea I've never needed to do that17:17
hatchsorry17:17
redirrogpeppe: which means that two projects merged and have separate starting points17:17
redirbut I don't know what that means for keeping the full history of the branch being merged in17:17
redirrogpeppe: 17:17
redirrogpeppe: I think I would add repo getting merged in as a remote for the one being added to17:19
redirthen work out how I wanted them to be merged17:20
redirthey don't share a time line so you might just cherry-pick commits 17:21
rediror do a subtree merge17:21
redirrogpeppe: 17:21
rogpepperedir: ok, we'll see17:22
rediryeah so17:22
redirrogpeppe: something like17:23
redirrogpeppe: http://pastebin.ubuntu.com/7589025/17:28
* redir googles for magic incantation17:28
redirrogpeppe: in the filter-branch man page17:37
redirhttp://pastebin.ubuntu.com/7589077/17:37
redirrogpeppe: NB: I haven't done that before and it seems very magical17:38
rogpepperedir: ah, update-index is not a command i've come across before17:39
redirrogpeppe: index-filter only updates the index not everything17:40
rediralso  see subtree merges17:40
redirI don't know if that will keep history how you want though17:40
rogpepperedir: yeah, update-index seems to be magic that allows us to manipulate stuff without actually checking things out17:40
redirrogpeppe: http://bit.ly/1kCOYwh17:41
rogpepperedir: what's a "tree-ish"17:42
rogpeppe?17:42
redirrogpeppe: a branch I think17:43
* rogpeppe thinks git would be quite a bit simpler without the index concept17:44
redirrogpeppe: I don't think that keeps full history though17:44
redirrogpeppe: I haven't ever needed most of this stuff before this.17:45
redirfilter-branch for removing things from history is about it17:45
redirrogpeppe: from the read-tree man page it looks to me like you won't get history just a merge, so I think if you want history you need filter-branch with magic17:47
rogpepperedir: i think filter-branch with the update-index --index-info magic seems like it might do the trick17:48
rogpepperedir: i'm guessing that it's expecting me to set $GIT_INDEX_FILE to my_repo/.git/index17:50
redirrogpeppe: note that I think that will change the hashes in history which is bad if other people have it checked out...17:50
redirrogpeppe: git might do that itself17:50
rogpepperedir: i'm not quite sure what you mean there17:50
redirrogpeppe: I would guess it would17:50
redirwhen you run the git command it reads the repo it is in and sets env variables17:51
redirrogpeppe: maybe17:51
redirgit env17:51
rogpepperedir: ah, so that command will have the env var set17:52
redirrogpeppe: maybe17:52
* redir is guessing17:52
* rogpeppe misses the inferno shell, which did commands-as-arguments with no quoting necessary17:52
redirdamn, where'd the day go18:07
rogpepperedir: hey, it seems to have worked!18:28
redirangels sing, trumpets blare!18:29
redirworld peace is at hand18:29
rogpepperedir: my specific version of the update-index magic was this: http://paste.ubuntu.com/7589371/18:30
rogpeppei actually feel like i understood most of what was going on there18:30
rogpeppeexcept i still get confused around remote branches and fetch vs checkout vs reset18:31
redirhehe18:32
redirgit fetch, uh, fetches named heads or branches, tags, and the associated trees, blobs, commits etc18:35
redirand puts them into .git/FETCH_HEAD18:35
redirgit merge merges them into a local branch18:36
redirgit pull does both18:36
redirfetch then merge18:36
rogpepperedir: what's the significance of .git/FETCH_HEAD there?18:36
redirrogpeppe: it is non local copies of stuff18:36
rogpepperedir: anyway, review appreciated: https://github.com/juju/testing/pull/1118:37
rediror copies of non local stuff18:37
rogpeppehmm, it's a pity that none of the resulting history includes the commit comments that are actually important18:40
redircheckout (and reset) update the files in the working tree to match the index or a specified tree (specified by a commit)18:40
redirgit reset has --soft, --mixed and --hard18:40
redirI think --soft updates the index to match some specified tree18:41
redirand --hard updates the working directory and index18:41
redirrogpeppe: ^^18:42
rogpepperedir: i still haven't got my head around the difference between reset and checkout18:42
rogpeppei'm done for the day18:42
rogpeppegotta go and make chicken and wild mushroom and tarragon pie18:42
redirrogpeppe: that sounds tasty18:43
redirlater18:43
rogpepperedir: hopefully :-)18:43
redirdon't git reset your oven18:43
kadams54guihelp: looking for review and QA on https://github.com/juju/juju-gui/pull/36518:58
kadams54guihelp: Bueller?… Bueller?… anyone?… anyone?… --^19:10
kadams54;-)19:10
Makyokadams54, on it.19:10
kadams54Thanks :-)19:10
hatchnice the footer is FINALLY being used19:10
kadams54lol19:10
hatchI added it in in the beginning....thinking that it will probably be used at some point haha19:11
kadams54Gotta run to pick up my kids from school, but will be back in about 30 minutes.19:11
redirrogpeppe: LGTM, all the tests pass with your PR merged, but I don't know the QA or merge process for it19:11
bacthis is a nice touch i'd never noticed. when brew successfully installs something you get a little mug o' beer:20:28
bac🍺  /usr/local/Cellar/juju-quickstart/1.3.3: 2 files, 40K, built in 2 second20:28
rick_h_bac: :) 20:29
hatch:)20:33
hatchrebooting22:13
huwshimiMorning23:17
rick_h_morning huwshimi 23:29
huwshimirick_h_: Hey23:31
rick_h_having fun huwshimi ?23:34
huwshimirick_h_: Today, I'm writing tests... yes, lot's of fun! :)23:34
hatchhuwshimi hey, frankban landed the branch to fix that bug23:40
huwshimihatch: Yay!23:41
hatchhuwshimi you can pretty much follow the same pattern for doing the container stuff if you end up going that far23:42
hatchhere is the pr https://github.com/juju/juju-gui/pull/36323:43
huwshimihatch: I'm not sure what you mean about following the pattern for container stuff. This looks like it handles machines and containers.23:47
hatchhuwshimi there is an issue with placing a unit on an existing container 23:48
hatchI wasn't really sure where your cards were taking you23:48
huwshimiAh I see23:48
hatchI got to run but hopefully that gets you un blocked23:51
huwshimihatch: Thanks, looks like it. Thanks!23:52
hatchno probelm23:53

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