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

rick_h_hatch: oh hmm, strange. :/ 00:00
hatchI haven't figured out the exact change that caused it to expose that - but I'm working towards it00:00
hatchthe reason it got so far was because sometimes it passes without issue lol00:00
rick_h_ok, let me know if you need any help. We've been trying hard to not have our involvement cause you grief00:01
hatchwe just happened to always get a passing one rofl00:01
hatchwell I would like someone to duplicate my findings - do you have a win 8 vm?00:02
rick_h_hatch: win7, but has IE10 on it00:02
rick_h_sec, just committing/linting my current branch00:02
hatchsure - I'm oh poo00:03
rick_h_oh son of a...00:03
hatchlol00:03
hatchmy fix did not fix00:03
rick_h_Vbox is failing on start about a missing < tag :/00:03
hatchback to the drawing board00:03
rick_h_oh hell, the .vbox xml file is corrupt00:05
rick_h_and of course I don't backups my vms...they're vms... :/00:05
hatchhow the heck...00:05
rick_h_yea, there's a -prev file that's missing half of it00:06
rick_h_and the .vbox file is empty00:06
rick_h_guess last time I shut it down it must have crashed out or something00:06
rick_h_bah, have to redo the windows install and setup. Grrrr00:06
hatchalright well no problem - it looks like the 'fix' wasn't actually a fix00:06
hatchI'll have to look for the root cause00:06
rick_h_sorry, no IE10 handy now :(00:07
hatchI am leaning towards there being some cleanup issues00:07
rick_h_always seems to be00:07
rick_h_wonder if there's some way we can monkey patch Y.Base and Y.Base/destroy to console.log creation/destruction and sort the results out00:07
hatchwell turning on debug logs will - but this is only happening on prod builds00:08
rick_h_I just meant to do a tset run and list out all the crap that's not getting cleaned out in one swoop00:09
hatchohh, well I'm not sure if that will include all the information00:10
hatchmaybe we need better procedures00:10
hatchI don't know what those would be haha00:10
hatchas this is looking like some obscure race condition issue00:10
rick_h_heh, ended up creating a handlebars helper for that obj->array stuff00:14
hatch:)00:16
hatchok I gota run for a while but I'll tell you what I have found00:16
rick_h_hatch: rgr, have fun00:16
hatchif you check out 486 and run in IE10 you will get a TON of failures00:17
rick_h_:(00:17
hatchbut if you comment out test_charm_container.js then they all go away00:18
rick_h_really wish we had good ole single yui per file suite put together. oh well00:19
hatchOR if you comment out the tests in that suite they go away00:19
rick_h_k, I'm going to finish this branch up and I'll try to reset up my VM tomorrow morning and can help out 00:19
hatchif you uncomment even a single test - then boom, 100s of failures00:19
rick_h_ok...that makes no sense. /me loads up tests in that file.00:20
hatchyeah I have absolutely no idea but I really gota run now :D00:20
rick_h_k00:20
hatchhave a good night, talk to ya in the AM00:20
=== gary_poster is now known as gary_poster|away
hatchrick_h_: -status update- after a few hours of debugging I have come to the conclusion that that test suite is not causing the issue it's just seems to be triggering the issue more often. I believe I have narrowed it down to a couple strong suspects and will bring it up in the AM.05:36
rick_h_anyone around for some code reviews? https://codereview.appspot.com/8311043/ is for Huw and is mostly images :) 12:09
rick_h_https://codereview.appspot.com/8296043/ is more JS 12:09
bachi rick_h_ -- can i get some guidance from you based on some suggestions ben made yesterday?13:04
bacrick_h_: he suggested i wrap some event handling i'm doing into a controller.  i'm a bit confused as the mechanism.13:04
rick_h_bac: sure thing. linky to what we're talking about?13:05
bachttps://codereview.appspot.com/8275043/diff/2001/app/app.js#newcode36413:05
rick_h_looking13:05
rick_h_bac: sec, looking at how db/db.services work. 13:08
bacrick_h_: db.services is just a ModelList...13:08
rick_h_ok, I think I'm getting hung up on the term 'controller' being too equal to a Y.View13:11
rick_h_bac: so I think he's just meaning something like this: http://bazaar.launchpad.net/~juju-gui/juju-gui/trunk/view/head:/app/subapps/browser/views/view.js#L6613:11
rick_h_notice here I've got a helper to do all the event binding for a task13:11
* bac looks13:12
rick_h_bac: and in the destructor I walk through and destroy/detach those events13:12
rick_h_bac: so I *think* he's just suggesting you move the event bindings into a descriptive helper, keeping a reference to them, and allowing them to be detached via a second method13:12
rick_h_bac: this is some of the stuff causing us issues in tests where events are created, but not auto destroyed/detached when multiple instances are created of something that binds up a bunch of events. 13:13
bacrick_h_: so there is no special infrastructure magic ... just create a new class with bind and unbind methods (or whatever i want to call them) that manages subscriptions?13:13
rick_h_no, a simpler case is a widget like: http://bazaar.launchpad.net/~juju-gui/juju-gui/trunk/view/head:/app/widgets/charm-search.js#L60 we just added a matching _unBindUI to match the widget api of bindUI13:14
rick_h_bac: I don't think you need a new class. All of this has to do with models.something so maybe there's a good class to stick this on already13:15
rick_h_bac: and you can do a db.services.bindChangeEvents()13:15
rick_h_and then db.services.unbindChangeEvents or the like13:15
bacrick_h_: and what would that call?13:15
bacwhat is the glue between my controller and db.services?13:16
rick_h_bac: db.services is the controller in this case. 13:16
bacno, db.services is a ModelList13:16
rick_h_so you can add bind/unbind methods to ServiceList for instance13:16
rick_h_bac: yea, that's fine. You can add methods to a ModelList13:16
bacrick_h_: nm, my bad.  i didn't realize there was a ServiceList already extending ModelList13:18
rick_h_oh hmm, so the only thing is I didn't realize that the callbacks you want to run are coming from models/endpoints. So maybe the work needs to go on that end. sorry trying to see how the parts fit13:18
bacrick_h_: yes, and model/endpoints needs to be encapsulated in a new entity13:19
bacor at least the new management methods13:19
rick_h_bac: hmm, do the callbacks belong on the serviceList themselves? Right now they're just helper methods on juju.models13:20
bacrick_h_: they could move there, i think13:21
rick_h_bac: so yea, in looking at this I'd move the callbacks into the serviceList object, have the bind/unbind events on there. And then the app.js just calls db.services.bindEvents() or the like13:21
rick_h_finally making sure to have an unbindEvents method and make sure it's called on the serviceList.destructor method13:22
bacthat makes sense13:22
rick_h_cool :)13:22
bacrick_h_: one loose end, where would you suggest my endpointsMap live?  right not it too is hanging off models13:22
bacs/not/now13:22
rick_h_looking13:22
rick_h_bac: what is an 'endpoint'? a provide/requires target or something?13:25
bacrick_h_: yes.  the endpoints map is an object with lists of provides/requires for each known service13:27
rick_h_bac: hmmm, maybe endpoints shold be namespaced at least and then the bind/unbind methods created on there. It can take the serviceList instance as an argument and app.js would do models.endpoints.bindServiceList(this.db.services)13:29
rick_h_but then endpoints almost wants to be a class so you can keep instance related data (like the event handlers you're holing from bind) and remove them13:30
bacyeah, ok13:30
rick_h_bac: have a hangout, biab13:30
rick_h_bac: ok back. So what do you think? endpoints is a diff module that wants to add event callbacks to ServiceList?13:48
bacrick_h_: yeah, that's how i'm going13:49
rick_h_bac:  ok cool then. 13:49
hatchmorning13:58
rick_h_morning hatch 13:58
hatchis that branch from jc one that fixes whatever was causing the failures?13:59
rick_h_hatch: once you've got your morning cup of joe have some reviews if you have a chance :)13:59
hatchsure thing14:13
hatchrick_h_: so is that branch from jc the one which fixes the test failures?14:13
rick_h_hatch: no, he's not aware of the stuff from yesterday atm. 14:17
rick_h_hatch: it's fixing some edge cases of the widget itself. I forgot to bring up swapping the teardown code around. thanks for catching14:17
hatchlast night I spent a few hours trying to track down our overall test failure and I have narrowed it down to one class14:17
rick_h_which class? 14:17
hatchbut in that I found a LOT of tests which fail when run on their own14:17
hatchso those will need to be fixed14:18
rick_h_hmmm, that's good though if tests fail in isolation14:18
hatchsorry, suites which fail14:18
hatchno suite should rely on a previous suite14:18
rick_h_jcsackett: ^^ so the teardown in the tests first remove the dom and then the object bound to it. Those need to get swapped14:18
rick_h_hatch: +1 for sure14:19
jcsackettrick_h_: oh, yeah, that would be good.14:19
rick_h_why I like the split files in normal YUI tests14:19
hatchrick_h_: yep14:19
rick_h_jcsackett: yea, in some cases the CI would choke because it was trying to unbind itself from a dom node long gone14:19
hatchrick_h_: the failing class has something to do with the jujuTests.utils.SocketStub class14:19
hatchif I remove the tests which use that stub they never fail14:20
rick_h_hatch: https://codereview.appspot.com/8296043/ is my branch that does the move to the handlebars helper and such14:20
rick_h_hatch: hmmm, good to know where to look then. That could suck debugging out the socket stuff like that. I've not really messed with any of that14:20
hatchyeah I'm going to bring up my findingsin our standup in 1.5h14:22
rick_h_hatch: cool14:22
hatchis there going to be a codereview url for Huw's code?14:22
rick_h_hatch: yes, I looked it over and qa'd it. It's not complete and we'll get UX to do some reviews in a bit14:23
rick_h_hatch: so if you can also peek at that I'd appreciate it14:23
hatchahh ok14:23
rick_h_hatch: it's just showing as from me since he seems to have some issues iwth lbox/landing and I'd rather he spent time working on it vs trying to fix it14:24
rick_h_I think some of his stuff was hitting some timeouts in the api calls lbox makes to LP and such14:24
hatchahh I gotcha14:25
rick_h_so our rule is he codes by night, I help him land by my day, and hopefully he's ready to go the next night. timezones ftw!14:25
hatchhaha yeah I used to work with a team from AUS, and I was their only NA developer so at the end of the day I'd commit code and vise versa so the progress never stopped heh, it was kind of cool - also irritating sometimes if you needed some info14:27
hatchman I wish rietveld id's were sequential14:52
hatchor hashes - at least then they woudln't look sequential :D14:53
hatchthe three reviews I'm working on all end in 043 :D14:54
rick_h_lol15:00
rick_h_hatch: that's crazy. Missed that when looking. 15:03
hatchrick_h_: did you notice that you can't LGTM your own code on rietveld? https://codereview.appspot.com/8311043/15:08
rick_h_hatch: yea, oh well. 15:09
rick_h_it doesn't know it's actually Huw's code15:09
hatchyeah - that's odd that it doesn't allow it15:13
hatchbut you can still commit it regardless15:13
hatchhaha15:13
rick_h_can't hold me back!15:13
hatchrick_h_: I'm qa'ing this design branch and the charm slider thing is just bouncing back and forth outside of the sidebar15:26
hatchcharm Browser is on two lines with what looks like a search box under it15:26
rick_h_hatch: yea, the design branch only effects the fullscreen urls15:26
rick_h_the sidebar isn't handled yet15:26
rick_h_so http://uistage.jujucharms.com:8080/bws/fullscreen/precise/cassandra-2 is a sample url to qa15:27
hatchyou should really position absolute this stuff so that you don't have to scroll down :)15:27
rick_h_only your local branch that is :)15:27
rick_h_hatch: :P15:27
rick_h_it really shouldn't reload the page 3 times so it doens't scroll you back to the top :P15:27
hatchrick_h_: am I supposed to be able to check/uncheck these checkboxes? or is that still WIP?15:28
hatchunder quality15:28
rick_h_hatch: yea, wip. They'll get replaced with icons if checkmark and red x15:29
rick_h_they won't be editable15:29
hatchok and one more thing - the Add button in the top right is two different colors of red15:29
hatchit's looking really good though15:30
rick_h_hatch: ok, note it please with a screenshot if you get a chance15:30
rick_h_I'd still like to be able to land it though with a bug/update report15:31
rick_h_if we get it quick I might be able to get staging updated for the UX folks to see progress before their EOD :)15:31
rick_h_hmm, I don't see the double red. Do you mean between two places or two colors on the same button?15:31
hatchsec15:31
hatchi'll screenshot15:31
rick_h_thanks15:31
rick_h_but yea, this is a first pass. There's still some more updates in a couple of tabs, the interaction between full/sidebar sizes to fix up. url tracking for tabs, etc15:32
hatchpm'd the link15:32
rick_h_thanks15:33
Makyojujugui call in 215:58
Makyorick_h_, joining us today?16:00
rick_h_Makyo: yep, sec16:01
Makyorick_h_, alright.16:01
teknicogentle reminder, quick'n'easy review opportunity, get your fix! https://codereview.appspot.com/830704316:25
hatchteknico: on it16:35
teknicohatch, thank you :-)16:35
hatchteknico: looks good but can you do me a favour and comment out every other test file in test index.html, run the tests, then uncomment them and use describe.only() and run the tests for both prod and debug?16:37
hatchI know it's a lot of work but I'd really like to track down these test failures16:37
hatch:)16:37
hatchif not that's ok too :)16:37
teknicohatch, ok, now breath deeply and say it again *slowly* :-)16:38
teknico:-)16:38
hatchlol ok16:38
hatchI want to make sure that these tests don't rely on anything in the environment from previous tests16:38
teknicook16:38
hatchso in order to do that we need to do a couple things16:38
frankbanMakyo: do you have a minute for a call?16:39
hatchfirst step is to comment out every other test file in the index.html and only run this python one16:39
Makyofrankban, sure.16:39
teknicook16:39
frankbanMakyo: emily16:39
hatchnext step is to uncomment all of those tests and add .only() to the describe16:39
hatchso that it will load all the other tests but only execute yours16:39
hatchif any of those fail then we have an issue with it relying (or being affected) by previous tests16:40
teknicohatch, do you mean to add .only() to just one of the tests I added, once per test?16:40
hatchnope to the describe so describe.only('your test suite', function....16:41
teknicohatch, oh, at the top, right16:41
hatchthanks sir16:42
teknicohatch, do you suspect I might get different results from what you're getting?16:42
hatchI do - but I hope you don't :D16:42
teknicohatch, ok, trying16:42
teknicohatch, when I comment out all other test files, I do get an error:16:50
teknicoTypeError: 'undefined' is not a function (evaluating 'juju.newEnvironment({conn: conn})') (http://localhost:8084/test/test_env_python.js:22)16:50
hatchugh16:50
hatchok I'm going to propose that we create slack tasks for these fixes and tag them all the same16:51
teknicohatch, and I get the same error when using describe.only16:51
hatchyeah that's what I was afraid of16:51
teknicoboth when running make test-prod16:52
hatchalright can you make a bug on LP with those details and tag it with 'test-improvement'16:54
hatchplease and thank you :)16:55
teknicohatch, sorry, I'm landing my branch and somewhat in a hurry to get out the door :-)16:55
hatchok np I can create it16:55
teknicoEOD and all that16:55
teknicohatch, thanks!16:55
hatchI think my sub is finally giving up the ghost after 10years17:23
bacyou have your own submarine?17:26
bacor a really old sandwich?17:27
bacbcsaller: hey got a sec?17:27
hatchsub wooooooofer :P17:27
bcsallerbac: sure17:27
hatchbcsaller: any idea when you're going to drop your branch with the fakebackend stuff? I just want to make sure none of my changes are going to be clashing with yours17:32
bcsallerhatch: I can push a wip version in a few minutes and give you a link17:33
hatchcool thanks17:33
* hatch races to complete to bcsaller has to deal with the conflicts17:34
hatch:P17:34
hatchs/to/so17:34
bcsallerha17:34
bcsallerhatch: as long as we don't implement the same methods it should merge cleanly17:35
hatchyeah bzr is pretty smart that way17:35
bcsallerand that would be bad for other reasons17:35
bcsallerI did try to attach my face to the cards I'm covering 17:35
hatchugh this testing is driving me up the wall17:50
hatchI'm almost 100% convinced all of our errors are comign from the instances created and never cleaned up in the test utils file17:54
=== deryck is now known as deryck[lunch]
hatchlooking for two quick reviews https://codereview.appspot.com/8331043/18:01
=== deryck[lunch] is now known as deryck
bac_hey bcsaller, i'm trying to push the endpoints controller into the views as you suggested.  some tests are failing because, e.g, topo.get('endpointsController') is undefined.  is there another step to push it from the view into topo?19:09
=== bac_ is now known as bac
hatchgoing to take lunch19:38
bacbcsaller: nm19:38
hatchbefore I go, bac did you get it?19:38
hatchoh19:38
hatch:)19:38
hatchlooks like launchpad is down19:39
bachatch: wfm.  mustf19:53
bacmust've been a short glitch19:53
bcsallerbac: I'm guessing you got this but you have to pass it from the env view into the topo.20:01
bacbcsaller: yeah Makyo showed me that code20:02
bcsallerexcellent20:02
hatchback20:19
hatchand good lp is back up :)20:20
=== _mup__ is now known as _mup_
bachatch, bcsaller: the new MP is up, if you're interested in having another look...but i can also get others to do it.20:53
* bac -> dog walk. bbiab.20:53
bacoh: https://codereview.appspot.com/833804320:54
hatchsure20:58
ahasenackguys, I'm having trouble logging in on the juju gui, it just sits there. javascript console has a lot of these: http://pastebin.ubuntu.com/5674867/21:43
ahasenackhave you seen this before?21:43
hatchahasenack: is this on uistage?21:44
ahasenackhatch: no, my own deployment, using "stable"21:45
ahasenackusing chrome 26.0.1410.43 (Official Build 189671) 21:45
ahasenack(not chromium)21:45
hatchok one moment21:46
ahasenackhatch: it opened now21:47
ahasenackhatch: after ~10min or so21:48
ahasenackhatch: it's a big juju deployment, maybe because of that21:48
ahasenackhatch: well, bigish, around 40 computers21:48
hatchhmm no that shouldn't be it21:49
hatchI'm just investigating that error21:49
hatchsorry I'm doing like 10 things at once :D21:49
hatchahasenack: ok that error shouldn't happen21:50
ahasenackhatch: ok21:51
hatchit's saying its an unknown event of type msg21:51
hatchbut msg is a known and valid event21:51
hatchis it reproducable?21:51
hatchreproducible*21:52
ahasenackhatch: I think it's still showing21:52
ahasenackhatch: let me clear the console21:52
ahasenackhatch: I don't see it anymore, let me logout and login21:53
ahasenacklogout got me this21:54
ahasenackUncaught TypeError: Cannot read property 'parentNode' of null 21:54
ahasenackhttp://pastebin.ubuntu.com/5674904/21:54
ahasenacklet me try login now21:54
ahasenackhatch: worked right away, just got one tiny backtrace21:55
ahasenackhttp://pastebin.ubuntu.com/5674908/21:55
hatchok we have a ticket already for that one - actually it may be fixed in trunk already21:55
ahasenackI'm trying a new incognito window21:56
ahasenackhatch: yeah, it happened again21:57
ahasenackhatch: I think right after the login form showed fully21:57
hatchit throws the unknown event error?21:58
hatchdoes it hang too?21:58
ahasenackhatch: http://i.imagebanana.com/img/iijtafab/Selection_004.png21:58
ahasenackhatch: it's not frozen, I haven't typed in a password yet21:59
hatchok let me know if it works as expected21:59
ahasenackhatch: I'm logging in, and it looks like it will take a long time again21:59
hatchhmm21:59
ahasenackpage looks frozen, cursor is a normal arrow, events keep coming in in the console22:00
hatchhmm22:03
hatchI'm not even sure what version 'stable' is22:06
hatchjujugui anyone know ^22:06
hatchahh looks like it's from 2013-02-3522:07
hatchahasenack: I would be interested if the error still happens on trunk - are you familiar with the process to deploy trunk? Or is this a 'real' environment you're working with?22:08
ahasenackhatch: it's 0.3.122:09
ahasenackhatch: this one I can't upgrade, but if I get the chance I will try trunk22:09
hatchhmm22:09
hatchI thought our most recent release was 0.2.122:10
Makyohatch, ahasenack - event is missing the 'op' attribute.  Looks like strange data coming from juju.22:10
hatchMakyo: oh you're right22:10
hatchI missed that22:10
hatchoops22:10
* hatch kicks himself22:10
ahasenackhatch: oh, and it logged in now22:15
ahasenackI wasn't paying attention to that window, could have been a few minutes ago22:15
MakyoThere is an err: true in there, so maybe it's a response to a bad call from the gui.22:16
ahasenackI need to go, see you guys around tomorrow22:21
hatchMakyo: that's returned by default I think...see ln123 in python.js22:21
hatchahasenack sure thing have a good night22:21
ahasenackthanks22:22
ahasenackyou too22:22
hatchbac: review done - let me know if you have any questions22:23
Makyohatch, That would mean the gui's in read-only mode, correct? And if so, the 'eventually logging in' part of the problem seems kind of out of place.  Looking into _firePermissionDenied, though.22:24
MakyoAh, just adds a notification.  Something to ask about later22:25
hatchMakyo: yeah that's what I was thinking too22:25
hatchI can't think of any other instance when err would be 'true'22:26
MakyoYeah, not unless something really did come from juju with an error.22:26
hatchyeah but that would log to the juju console22:26
hatchI guess I never got him to check that22:26
hatch:)22:26
hatchyay one more test then I'm done un/expose22:30
hatchholy lots of tests22:30
hatchok I need to assert a string which has single quotes in it so I wrapped it with double quotes....well the linter doesn't like that22:40
hatchso I escaped them....but now they won't assert22:40
hatchlol22:40
hatchany way I can tell the linter to shove-it ?22:40
hatchahah!22:49
hatch  /*jshint quotmark:double*/22:49
hatchif anyone is still around and looking for a review to do :) https://codereview.appspot.com/8339044/23:01
MakyoSure, give me a few.23:09
hatchthanks23:19
Makyohatch, for later, it occurs to me that ahasenack won't be able to check notifications until the login eventually succeeds, since they aren't available until then through the UI, and may not even be stored.  Still, we can hope.23:55

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