/srv/irclogs.ubuntu.com/2014/05/26/#juju-gui.txt

* frankban lunches11:02
rick_h_morning11:34
frankbanhi rick_h_ 11:54
rick_h_how goes the battle frankban11:55
frankbanrick_h_: I just proposed another inc step for utils. juju-core migration scheduled for Thu: at this point I'd wait before migrating packages, we still need to fix internal stuff in core. also tracking progress on the more important battle (EU elections) ;-)11:58
rick_h_frankban: hah, sounds like a plan to me11:59
rick_h_frankban: will be interesting to see how this move goes11:59
frankbanrick_h_: +112:03
hatchgood morning those who didn't take today as a holiday :)13:54
hatchanyone up for a big review? https://github.com/juju/juju-gui/pull/34213:54
rick_h_hatch: give me 10 to get the boy settled and I'll break into it14:18
rick_h_hatch: code feedback posted, will qa after standup14:50
rick_h_jujugui call in 10 kanban please14:50
hatchok looking14:50
Makyojujugui call in 214:58
hatchrick_h_ comments replied to15:14
rick_h_hatch: cool catching up15:15
hatchMakyo working on your qa15:16
hatchabentley in your email when you said git doesn't have a revno, I'm assuming the partial hash for some reason doesn't work?15:22
hatchMakyo do you have a follow-up card or bug for the re-requesting icons that was introduced here?15:22
rick_h_hatch: it's just a different place to get the data. We had to make the same adjustment15:22
abentleyIt's not an integer where a higher number is more recent.  I'm not saying that *is* a problem, but at this stage, I don't know.  We often do use that property of revnos.15:22
hatchohh gotcha15:23
hatchthere might be a way to query the git db to find out the order of the hashs15:24
hatchif that was really a requirement15:24
Makyohatch, I'm seeing that in trunk, too, FWIW, but sure, I'll make one.15:25
rick_h_Makyo: please stick it in maint on deck15:25
hatchMakyo really? I was sure it wasn't happening last week on comingsoon15:25
hatchlemme check again just to be sure15:25
MakyoIt's happening locally.15:25
abentleyhatch: Yes, though we might just change what the script does instead.15:26
rick_h_hatch: ok, replied to your replies, let me know if it'll help to chat15:27
hatchMakyo interesting, I can't get it to happen on comingsoon - I wonder if it's a server difference15:29
hatchcharm vs not15:29
frankbanfwereade: I am working on a branch for preventing utils to use BaseSuite where possible. My understanding is that BaseSuite is very juju-core related, and often not required for stuff like utils. How does it sound?15:30
hatchrick_h_ ok looking15:30
MakyoI'm of the opinion that this is very low priority, given a) we're returning a 304, so cached assets are used, and b) it only happens in simulator envs when relation-changed hooks fail.  The root of the problem is that we're changing the xlink:href attribute on svg <image> tags, so the solution is to load every icon for every relation and show/hide them with CSS, which seems like an optimization we don't need to worry about.15:30
Makyoi.e.: it's on the browser, and the browser's doing the right thing with the 304s.15:31
hatchso the original issue was that on every delta the icon would flash as it reloaded - that doesn't appear to happen any longer15:35
hatchso you're probably right that it's very low15:35
hatchregardless I +1'd your branch with a trivial :)15:36
MakyoYeah, previously we removed the icon, then added a <image> back in, now we just change the href.15:37
hatchrick_h_ Here is a response to your concerns lemme know if you'd like to chat after this https://github.com/juju/juju-gui/pull/342#discussion_r1305092115:40
rick_h_hatch: yea, standup hangout?15:41
hatchsure, sec15:41
rick_h_Makyo: lint fun in landing16:00
MakyoD'oh.  On it/.16:01
fwereadefrankban, we would hope to have a common BaseSuite that stripped out the core-specific bits, more than we would hope to lose it entriely16:07
frankbanfwereade: some of the tests in utils do not require embedding other suites, others really only require CleanupSuite16:09
* hatch proposes typescript 16:09
hatchafter using Go it would sure be nice to catch some of these type errors before refreshing :)16:10
rick_h_hah16:10
hatchrick_h_ can you link me to that loc where you reset the filter again? I just want to compare against what I'm attempting16:12
hatchthe filter is definitely not being reset on 'home'16:12
rick_h_hatch: sure thing sec, have to load it up again16:12
hatchthis must have been a long standing bug we never ran into for some reason16:12
rick_h_https://github.com/juju/juju-gui/pull/326/files 20416:13
hatchrick_h_ if you click the number it will give you a link directly to that loc even in diffs16:13
rick_h_hatch: doh16:13
rick_h_hatch: yea, having a major monday today. You won't believe how it's gone16:13
rick_h_hatch: so yea, there. I16:13
hatchhaha thanks16:13
rick_h_hatch: so this isn't so much a bug as when the new state was setup we had no filter, when we added back filter we didn't update the Home event to fire the new way it needed to16:14
rick_h_hatch: but we had this card to work on that 16:14
rick_h_hatch: which is what this card originally start out as16:14
hatchso...this feels like the wrong way to do this....should the state not be smart enough to see that there is no search and upate the filter accordingly?16:14
rick_h_hatch: well, "Home" is like a giant erset16:14
rick_h_reset16:14
frankbanfwereade: the change is in  https://codereview.appspot.com/10176004516:14
rick_h_hatch: and it has to communicate through a 'change' event so it has to be structured somehow in there?16:15
rick_h_hatch: sec, phone call. back in a sec16:15
hatchI'm just wondering if it makes sense to move this search.clear = true bit into the state parsing 16:15
hatchsure np16:15
hatchso if metadata.search === undefined || null then wipe the filter16:15
hatchit requires less discovery for the developer then if they ever want to clear the search, they just null it out in the state object16:16
fwereadefrankban, cheers16:20
rick_h_hatch: yea, I felt like there was some reason. I think it's because you have to change more than just the search term, you have to clear the category stuff and anything else in that filter object over time16:23
rick_h_hatch: so the clear() was a way to tell the filter object to just reset entirely16:23
hatchright - but now that we have this fancy state object can we not safely say that if metadata.search is undefined or null then filter should be cleared and drop the requirement for metadata.search.clear ?16:24
hatchanother way to say it is, when would we not want to clear filter if metadata.search is undefined or null16:25
rick_h_hatch: because the way a search via the api works is you can have a category without a search term16:25
rick_h_hatch: when the user picks the autocomplete drop down for 'databases' it doesn't send a term that I recall16:26
hatchso the category isn't entered into the metadat.search object? 16:26
hatchyour right, term is empty16:26
rick_h_hatch: so I think keying off the one field is dangerous and limiting scope too much16:26
hatchok lemme check the state object when I search a category16:26
rick_h_ok16:27
hatchrick_h_ ok good news - the filter data is present in the metadata.search object so we can safely check that if it's null, undefined, or an empty object to clear the filter16:31
rick_h_hatch: ok, and if you make a change, like clicking on a charm in the results to get the details open, it won't be effected by not having a search key?16:32
hatchit looks like it mixes properly...checking the execution16:34
rick_h_hatch:  ok cool, just want to make sure that we don't accidently break other cases16:34
hatchthe search object is correcly left untouched16:34
rick_h_cool16:34
hatchnice16:34
rick_h_so that's cool then, I think it'll simplify things and make them more direct/explicit16:35
rick_h_thanks for chasing that down16:35
hatchagreed16:35
hatchnp16:35
hatchlazyPower marcoceppi is there a website somewhere which shows the status of charm reviews so I can see where my ghost charm is in the queue? 16:43
hatchrick_h_ this is hard to grep for....do you remember when you'd want to do filter replace vs filter update? 16:51
rick_h_hatch: thinking16:51
hatchas far as I can see the search widget always uses replace true16:51
rick_h_hatch: I think the idea was around categories. If you picked a new category, we'd clear out the search term, filters, etc, and just create a new filter with only the category selected16:52
rick_h_hatch: yea, I think that harkens back to the filter/series/etc UI16:52
hatchcould this be the bug which causes new search queries to always use the old category? 16:52
rick_h_hatch: it's part of it. The old system was checkboxes that built on each other16:53
hatchahh16:53
rick_h_you'd check "category X" and then click "series Y"16:53
rick_h_and it would build the search16:53
rick_h_so in this case you pick category from the drop down, but there's no way to unset it like you could back in the checkbox day16:53
rick_h_and then the replace was to "reset all the other checkboxes and use this new search"16:54
hatchok thanks looks like you're right16:54
rick_h_so it's more "do this whole search, no do this one instead, no do this one" vs the build a search "do this, now limit that by this other thing, and add this 3rd condition"16:55
hatchok I can simplify this part of the filter code, looks like the bug is actually in the data the search widget is sending out16:57
hatchthx16:57
hatchwe can re-implement this later, it's going to need to be refactored anyways16:57
hatchthe cascading category stuff that is16:58
rick_h_yea16:59
hatchdarn UI changes17:00
hatchhaha17:00
* hatch gets his picketing signs "Down with Agile!"17:00
rick_h_lol17:01
rick_h_"design spec document or bust!"17:01
hatchhaha17:01
rick_h_jujugui I'm going to cut out a bit early and comp my weekend time. I'll check in to help unblock hatch's branch, but be afk. 17:02
hatchlata!17:02
rick_h_maybe I'll tear down and rebuild my rack setup for the gui maas hehe17:02
lazyPowerhatch: http://manage.jujucharms.com/tools/review-queue17:15
hatchlazyPower so how do you determine where in the queue it is? :)17:16
lazyPowerhatch: Community take priority over canonical, otherwise its order in the queue.17:16
lazyPoweras in, if its at the top, it goes first17:16
hatchAverage wait time: 6 weeks 17:17
hatchouch haha17:17
hatch:)17:17
hatchdo all updates to a charm take 6 weeks?17:17
lazyPowerI had it cut down to 3 weeks. older items that come back into the queue after being nacked inflate that number17:17
hatchohh17:17
lazyPowerits not entierly accurate17:17
lazyPowerbut kinda sorta17:17
hatchFYI: the last time I submitted the ghost charm I was all gung ho and had time to do it, the review took a long time and then when the review came back it was months before I got back on it again - I'd imagine a similar problem to happen with the community too17:18
lazyPowerhatch: its a byproduct of the solutions team having 8 moving targets to track17:20
lazyPoweri dont disagree with you - i feel that whole heartedly17:20
hatchdo updates to charms already in the store also enter this queue? 17:21
lazyPoweryep17:21
lazyPowerPretty much everything but the OpenStack charms enter this funnel17:21
hatchyikes - that's not going to be scalable 17:21
lazyPowerThis is why automated testing and poliicy change is emminent. If you dont pass charm tests, it doesn't enter the queue. A bot updates your MP and its rejected from the queue17:22
lazyPowerthat way we are only looking at well formed, fully linted, and tested charms.17:22
hatchyeah that's a good idea17:22
lazyPowerits on our radar, and we're working towards a solution. We just haven't reached terminal velocity with it yet. 17:23
hatchright now are tests required to get into the store?17:23
lazyPowerSince our testing story isn't that strong - we cant really enforce it.17:23
hatchok good because mine doesn't have any tests :)17:23
lazyPowerOnce we have an established best practice, you bet. 17:23
lazyPowerwe've already emailed the list back in December about the policy change and heard crickets on the thread. So chances are it will get another notice sent before its enforced.17:24
hatchI'll write tests when someone external uses the charm17:24
lazyPowerWe're looking to push ghost over WP as our demo charm. Because lets face it, ghost is a nicer platform if you're not sold on the 8 billion plugins for wp.17:24
lazyPowerCeppi is on review queue this week. Maybe give him a friendly poke when he's about that you're looking for feedback17:25
hatchit's also written in JS, so I'm not sure how a python test suite will work17:25
hatch:)17:25
lazyPowerI tend to review charms that are getting a lot of attention over queue priority..17:25
lazyPowerYour tests dont have to be in python17:26
lazyPowerso long as the tests are executeable and live in tests/  charm test will run them.17:26
lazyPowerjust make sure you have your dependencies mapped in 00-setup so they get installed on the test harness instance.17:26
hatchok I'll have to revisit the testing procedure, I thought they had to be in python17:27
lazyPowerwe prefer it, but dont require it.17:27
lazyPowermostly because we have a strong python story in juju right now. A good majority of the store charms are bash, but you won't see us pushing bash - the second most popular language is python17:28
lazyPowerfollowed by some of the specific Config Management frameworks... but by a wide margin17:28
hatchyeah - I'd just like to keep this charm all js because it's a full js stack app17:28
lazyPowerNot a bad plan of action. 17:29
lazyPowerIf you need anything, such as pointers in testing or what not dont hesitate to ping hatch17:29
hatchI figured it would be better for the ghost community17:29
lazyPowerI'm going to bail and go code from the porch while my brats and steak char on the grill17:30
hatch:) enjoy17:31
Makyojujugui small review/QA: https://github.com/juju/juju-gui/pull/34318:01
hatchMakyo on it - heh the test is huge compared to the code18:01
MakyoYeah, lots of container to prep.  After il is removed, that can be moved to beforeEach/18:02
MakyoOr even setUpInspector18:02
hatchMakyo so I'm guessing we just forgot to add this in when we did the switchover?18:05
hatchall done18:18
Makyohatch, yeah, I think so.18:40
hatchok now that the state>filter stuff is fixed 19:01
hatchnow to move the rendering trigger into the charmbrowser view19:01
hatchand boy is it nice when a rebase is just a simple FF19:01
hatchrick_h_ are you around by chance? I have pushed the new revision 20:59
hatchjujugui anyone around for a review/qa? https://github.com/juju/juju-gui/pull/34220:59
rick_h_hatch: will look tonight. 21:50
rick_h_hatch: updates go ok?21:50
hatchthanks21:50
hatchyeah works well21:50
rick_h_hatch: quick run through leads to just one question on the shouldRender stuff21:54
rick_h_hatch: will QA probably after dinner time21:54
hatchsure, replied to one, just reading the other now21:55
rick_h_hatch: and replied, yay interwebs22:01
hatchhaha22:05
hatchreplies replies replies22:06
hatchoops lint22:18
rick_h_hatch: ok, any feedback on the name suggestion?22:34
hatchumm sorry reviewing huws branch, looking22:34
rick_h_hatch: all good thanks for peeking at his branch22:34
hatchdon't like it, I replied actually :)22:34
hatchhttps://github.com/juju/juju-gui/pull/342#discussion_r1305788422:34
rick_h_right, didn't see it as a direct comment sorry22:35
rick_h_see, you should never not render. You might not update an existing rendered view though22:35
rick_h_oh well, it's a naming thing. Don't want to cause a stink over it but as an api it's kind of meh in my head. Thanks for the other updates. Will QA and :+1: after that fact22:36
hatchhmm - hmmmmmmmm22:39
hatchrick_h_ I'm still trying to convince myself of the name change :) In the mean time, do you know if huwshimi will be working today?22:52
rick_h_hatch: I believe so22:56
rick_h_hatch: as far as I know 22:56
hatchok cool, I just finished his review/qa 22:57
hatchI'll leave IRC on in case he has any questions22:57
rick_h_hatch: cool22:57
hatchhttps://www.trulyergonomic.com/store/index.php22:59
hatchthat's a pretty cool looking keyboard22:59
hatchlooks like it might be a good layout for coding23:00
rick_h_yea, the big thing is the lack of windows key that I use for my window manager23:01
rick_h_my kenisis works well. If I go off of it for a few weeks my wrists hurt, going back to the kensis helps23:01
rick_h_I do have a kensis split I'm going to try out for travel arriving wed23:01
hatchthere is that odd juju looking button in the middle top23:02
rick_h_https://www.kinesis-ergo.com/shop/freestyle2-for-pc-us/ curious how that works out23:02
rick_h_yea, but that's not going to be a decent keycombo key23:02
hatchoh no23:02
rick_h_hitting that plus hjkl to move windows will be awkward23:02
hatchhaha yeah it would23:02
hatchI'd like to give a kinesis a try but at $300 it's an expensive test23:03
hatchhaha23:03
rick_h_anyway, I've seen it a few times but can't get convinced enough to try it out23:03
rick_h_well you should let me know. I'll send you my older model to try out23:03
rick_h_I've got an old ebay one I used to justify getting the nicer new one23:03
hatcheveryone I know who uses one loves it, I should really just bite the bullet23:03
rick_h_but yea, it took me over a year of eye'ing it before I could pull the trigger. Most expensive keyboard I've owned by far23:03
rick_h_exactly, not really many I know that rant against it once they get over the learning curve23:04
rick_h_it feels a ton different for sure23:04
hatchheh, not sure what I'd use as a macro though23:05
hatchI wonder what people set up macros in their keyboards for23:05
hatchit's been thundering for almost 5 minutes non stop23:07
hatchvery weird 23:07
hatchone continuous rumble 23:08
rick_h_yea, I don't use the macros23:08
rick_h_it is cool to reprogram keys at the keyboard level though23:08
rick_h_"this is an alt key regardless of wtf I plug it into"23:09
rick_h_and not worry about os level mappsing23:09
hatchhttp://weather.gc.ca/lightning/index_e.html?id=WRN#mapTop23:09
hatchheh23:09
hatchhttps://twitter.com/PQuinlanGlobal/status/47106368669444505623:09
hatchpurple must mean bad things23:10
hatchhere comes the hail https://twitter.com/PQuinlanGlobal/status/47106537906257100823:11
hatchwell at least I wasn't going nuts https://twitter.com/PQuinlanGlobal/status/47106426890158080123:11
hatchgood morning huwshimi 23:12
huwshimiMorning23:12
huwshimihatch: Any ideas about this bug? https://bugs.launchpad.net/juju-gui/+bug/132319923:13
_mup_Bug #1323199: Dropping unplaced units errors <juju-gui:New> <https://launchpad.net/bugs/1323199>23:13
hatchhttps://twitter.com/PQuinlanGlobal/status/471065968290979840 heh, yep it's comin down hard23:14
hatchhuwshimi looking23:14
hatchhuwshimi I can reproduce, looking into it now23:18
huwshimihatch: You can see the line I tracked the error back to in that bug23:18
hatchlooks like the issue is that https://github.com/juju/juju-gui/blob/develop/app%2Fstore%2Fenv%2Fgo.js#L930 is returning a string not an object like it used to23:20
hatchhmm that's not ie23:23
hatchit*23:23
huwshimihatch: Could it have anything to do with this branch? https://github.com/juju/juju-gui/pull/339/files23:27
huwshimihatch: Note the change from id to unit.23:27
hatchso the issue is that the unit no longer has all of the attributes it once had23:28
hatchlooking at that pr23:28
hatchyeah that does look like the problem23:32
hatchhuwshimi this should be `attrs.unit.id` https://github.com/juju/juju-gui/blob/develop/app%2Fwidgets%2Fserviceunit-token.js#L13223:33
hatchman files are hard to find....half of the views are under /widgets23:33
huwshimihatch: A brilliant. Want to land a branch to fix that or do you want me to?23:34
huwshimiI could also land it as a drive-by in my next branch23:35
hatchnope I'm done for the day today23:35
hatchcleaning the kitchen atm :)23:35
huwshimihatch: Sure, I'll do it :)23:37
huwshimihatch: Thanks for figuring it out!23:38
hatchno problem 23:41
hatchI see you saw that I reviewed your branch - if you have any questions about that just lemme know23:43
huwshimiSure, no problems.23:44
huwshimihatch: The funny thing is you reviewed the branch that added all these click handlers and now you don't like the names :)23:48
hatchI have more context now23:48
hatch**excuses level 100 achievement unlocked**23:48
huwshimihehe23:49
hatchlol23:49

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