[08:28] <Saviq> mzanetti, some things to fix on right edgehttps://code.launchpad.net/~unity-team/unity8/right-edge-2/+merge/213172/comments/504191
[08:28] <Saviq> https://code.launchpad.net/~unity-team/unity8/right-edge-2/+merge/213172/comments/504191
[08:57] <davidcalle> Saviq, ping
[08:57] <Saviq> davidcalle, hey
[08:58] <davidcalle> Saviq, hi ! I have three bugfix branches for a silo+landing, will you have time for it today ? I still need to write the testplans.
[08:59] <Saviq> davidcalle, yeah, I can tackle the silo, if you don't have testplans I'll have to rely on you to do the testing, though
[09:01] <davidcalle> Saviq, np, I'll still write the plans to future-proof these scopes, even if you rely on me for the testing (you won't like having to install all the latex packages in the world to test one of these :) )
[09:05] <davidcalle> Saviq, I've attached the three branches to https://bugs.launchpad.net/unity-scope-devhelp/+bug/1274669 (texdoc, calculator, devhelp scopes), will ping you when I have testplans
[09:06] <Saviq> davidcalle, those are desktop-only are they?
[09:06] <davidcalle> Saviq, yes
[09:07] <Saviq> ok
[09:07] <Saviq> davidcalle, we might need to wait a little, we're low on silos
[09:08] <davidcalle> Saviq, np
[09:11] <Cimi> Saviq, tsdgeos you mind if I arrive later on monday and start working from home? It's a week I'm waiting a parcel to arrive and I just received the notification it will be delivered Monday. I cannot reschedule it :\
[09:12] <Saviq> Cimi, there's no clear plan for the sprint, so I think it's ok
[09:12] <Saviq> you'll get a slap on the back, but you'll survive
[09:12] <Cimi> Saviq, aha thanks :) I'll arrive asap
[09:13] <Cimi> Saviq, I might work a lil today even if I booked holiday to compensate (I'm actually stubborn and I want to finish a branch)
[09:13] <Cimi> Saviq, tsdgeos I have questions for bindings
[09:14] <Saviq> davidcalle, building in silo 013
[09:14] <Cimi> when we work with properties that are set by a backend somewhere and async
[09:14] <Cimi> for example indicators
[09:14] <davidcalle> Saviq, thanks ! :)
[09:15] <Cimi> firse of all, I didn't really understand what Binding is
[09:16] <Saviq> Cimi, you didn't, or you don't
[09:16] <Saviq> ?
[09:16] <Cimi> Saviq, don't
[09:16] <Cimi> Saviq, apparently Binding is for C++, right?
[09:16] <Saviq> Cimi, http://qt-project.org/doc/qt-5/qtqml-syntax-propertybinding.html
[09:16] <Saviq> http://qt-project.org/doc/qt-5/qml-qtqml-binding.html
[09:17] <Cimi> Saviq, I looked already at those
[09:17] <Saviq> Cimi, no, the Binding component is just as any other binding, only explicit
[09:17] <Saviq> Cimi, and you get the additional when: property
[09:17] <Saviq> so
[09:17] <Saviq> property var foo: someOtherProperty
[09:17] <Saviq> is the same as
[09:18] <Saviq> Binding { target: something; property: "foo"; value: someOtherProperty }
[09:18] <Cimi> Saviq, I was wondering when we need binding and when just (looking at the example) app.enteredText = myfield.text
[09:18] <Cimi> ah ok
[09:18] <Saviq> Cimi, when myfield.text can change, and you want it to update
[09:19] <Cimi> Saviq, yes, but why using Binding and not the opposite?
[09:19] <Saviq> Cimi, the above will set (value assignment) app.enteredText to the value myfield.text had at the time of the assignment
[09:19] <Cimi> sorry, the other way
[09:19] <Saviq> Cimi, when not to use a Binding?
[09:19] <Saviq> when you don't need it
[09:19] <tsdgeos> that was pretty zen :D
[09:19] <Saviq> ;D
[09:19] <Saviq> but ture
[09:19] <Saviq> true
[09:20] <Saviq> Cimi, you need to think what you want to achieve
[09:20] <Cimi> hah
[09:20] <Saviq> Cimi, think when that javascript will execute, and whether it's the only place where you want the two values to be updated
[09:20] <Cimi> Saviq, so Binding is two ways?
[09:20] <Saviq> Cimi, no
[09:21] <Cimi> Saviq, is it possible to have something two ways?
[09:21] <Saviq> Cimi, bindings are one-way only, if you want two ways, you need to handle onChanged on both and do assignment
[09:21] <Cimi> ouch
[09:21] <Saviq> Cimi, dednick told you 5 times already
[09:21] <Cimi> Saviq, I needed a 6th time
[09:21] <Saviq> Cimi, that he planned for a bidirectional "sync" component, just didn't get to it
[09:21] <Saviq> Cimi, a Binding is exactly that
[09:21] <Saviq> Cimi, it reacts to onChanged on the "source" property
[09:22] <Cimi> Saviq, because yesterday I saw some code in system-settings that left me very confused
[09:22] <Saviq> Cimi, and sets the value on the "target" property
[09:22] <Saviq> Cimi, it's important also, that when you  have a complex binding (or Binding, or Qt.binding, they're all the same)
[09:22] <Saviq> say property var foo: one + two / three * four
[09:23] <Saviq> if you move the thing to a function
[09:23] <Saviq> function bar() { return one + two / three * four }
[09:23] <Saviq> and var foo: bar()
[09:23] <Saviq> that's not actually gonna work
[09:23] <Saviq> foo will only get evaluated once on startup
[09:24] <Saviq> things that are supposed to trigger the binding need to be explicitly called in the binding expression
[09:25] <Cimi> Saviq, because I saw this http://bazaar.launchpad.net/~system-settings-touch/ubuntu-system-settings/trunk/view/head:/plugins/security-privacy/diagnostics/PageComponent.qml
[09:25] <Cimi> Saviq, lines 66-68
[09:25] <Cimi> wtf
[09:25] <Cimi> :)
[09:26] <Saviq> Cimi, that's ad
[09:26] <Saviq> bad
[09:26] <Cimi> I wanted to rewrite this code better, but I didn't know where to start and if this code was correct at first
[09:27] <Saviq> Cimi, first order of business would be ask the author about what they wanted to achieve
[09:27] <Cimi> Saviq, connecting to DBUS says commit
[09:27] <Saviq> Cimi, but yeah it looks like that's a poor man's sync
[09:27] <Cimi> Saviq, evan wrote that
[09:28] <Cimi> I guess he's not working on that anymore now, he's managing
[09:28] <Saviq> Cimi, so yeah a Connections {} and onCheckedChanged would probably be better
[09:28] <Saviq> Cimi, only problem there is feedback loop
[09:29] <Saviq> again, that's what dednick wanted to solve
[09:30] <Saviq> Cimi, feedback loop meaning: checkbox.checked = true → checkbox.onCheckedChanged: backend.checked = true → backend.onCheckedChanged: checkbox.changed = true → ...
[09:30] <Saviq> in the case of true this would get stop quite quickly
[09:30] <Cimi> yeah
[09:30] <Saviq> s/true/bool/
[09:30] <Saviq> 'cause the values would sync rather quickly
[09:31] <Saviq> it's more difficult with anything arbitrary like numbers (sliders)
[09:31] <Saviq> by the time the backend responded with changed with the new value, another one could have been sent already
[09:32] <Saviq> say slider is going from 0 to 0.3
[09:33] <Saviq> slider.value = 0.1 → slider.valueChanged: backend.value = 0.1 → backend.valueChanged: slider.value = 0.1; slider.value = 0.2 → slider.valueChanged: backend.value = 0.2 → backend.valueChanged: slider.value = 0.2
[09:33] <Saviq> etc.
[09:34] <Saviq> but
[09:34] <Saviq> slider.value = 0.1 → slider.valueChanged: backend.value = 0.1; slider.value = 0.2 → slider.valueChanged: backend.value = 0.2; backend.valueChanged: slider.value = 0.1; things break
[09:34] <Saviq> if backend is late to the game
[09:41] <Cimi> Saviq, and in qt there's no official solution to that?
[09:41] <Cimi> Saviq, looks like a big issue, everywhere
[09:42] <Saviq> Cimi, not everywhere, it's only a problem with remote backends where both sides can (often) change the same value
[09:42] <Saviq> and ones that are slow to respond
[09:42] <Saviq> Cimi, it will reconcile anyway, it's a corner case what I described
[09:43] <Cimi> Saviq, can't we block the ui until we get the value from the backend?
[09:43] <Saviq> Cimi, you can get fired for even saying "block the UI", if you want ;)
[09:43] <Cimi> Saviq, or more, block the slider until it is sync
[09:44] <Saviq> Cimi, but anyway, a proper two-way sync component could be useful to reduce the impact, by throttling the changes, timing out, there's plenty of things that can happen
[09:44] <Cimi> +1
[09:44] <Cimi> :D
[09:47] <Saviq> Cimi, +1 on the "fired" part? :P
[09:47] <Cimi> ahah
[09:48] <Saviq> Cimi, but just to explain why not: we'd have to apply timeouts for backend going away for some reason, otherwise we could end up blocking indefinitely etc. - it's not worth it for a corner case
[09:48] <Cimi> Saviq, it's not easy though, loading the UI then seeing values changing looks bad as well to be honest
[09:49] <mzanetti> Saviq: hmm... strange. AP was passing fine. will fix stuff
[09:49] <Saviq> Cimi, make the backends respond faster :)
[09:49] <Cimi> ideally I'd have UI super snappy
[09:49] <Cimi> and backend catching up
[09:49] <Cimi> so when I tap a checkbox, it is immediately switched on
[09:49] <Saviq> mzanetti, maybe something changed, if you say it's passing for you, I'll try again, but have seen really reliable failures on them
[09:50] <Saviq> mzanetti, let me list the tests
[09:51] <Saviq> mzanetti, hmm now that I look, it was always GenericScopeView not found... which is weird in its own right
[09:51] <Saviq> \o/, me used "its" correct
[09:51] <mzanetti> Saviq: ah that one... yeah... sucks
[09:51] <mzanetti> Saviq: seems qml now *sometimes* optimizes it away and sometimes doesn't
[09:52] <mzanetti> haven't been able to figure when exactly
[09:52] <mzanetti> but I changed it to only search by objectName
[09:52] <mzanetti> but then Alberts merge came in which changed it back - but still working reliably for me so I left it
[09:53] <Saviq> mzanetti, the 60 vs. 100 GUs for side stage caught you in cross fire - we changed it before MWC
[09:54] <mzanetti> heh, yeah
[09:56] <Saviq> davidcalle, silo built, let me know what I should test
[09:56] <Saviq> davidcalle, would be good to get reviews on the branches, too :)
[09:58] <Cimi> Saviq, I might actualyl start writing this component today, to learn this stuff
[09:58] <Cimi> I have enough!
[09:59] <Saviq> Cimi, be sure to talk to Nick for that
[09:59] <Cimi> ok
[09:59] <Cimi> Saviq, he's off as well today
[09:59] <Cimi> Saviq, we might all do next week
[09:59] <Saviq> yup
[10:00] <davidcalle> Saviq, yep, just need to find a victim for that, finding one asap
[10:26] <davidcalle> Saviq, Testplans done (links on mp), tests done (works on my machine(tm)), reviews incoming...
[10:27] <Saviq> davidcalle, cool, will do the testing soon
[10:33] <Saviq> MacSlow, hey, any dice on the notification avatar bug?
[10:35] <Saviq> davidcalle, hmm I'm only getting "see more scopes" for "latex:math"
[10:35] <Saviq> davidcalle, ps doesn't show the scope running at all
[10:35] <tsdgeos> why i don't get the keyboard when running unity8 manually on the phone?
[10:35] <tsdgeos> i have the maliit-server running
[10:36] <Saviq> tsdgeos, it stops with the unity8 job, you sure it doesn't get stopped?
[10:37] <tsdgeos> well i stopped unity8
[10:37] <tsdgeos> and then started maliit-server
[10:37] <tsdgeos> upstart says it's there
[10:37] <Saviq> mhm
[10:37] <Saviq> do you get it in apps?
[10:37] <Saviq> might want to try to restart maliit when unity8 is already running
[10:37] <tsdgeos> aha
[10:38] <davidcalle> Saviq, oh sorry, the test is assuming you have logged out/in, I should make that clear. Just kill unity-scope-home and reopen the Dash, that will reload scopes.
[10:38] <Saviq> davidcalle, right
[10:38] <tsdgeos> let's try thta
[10:38] <Saviq> davidcalle, better
[10:38] <davidcalle> Saviq, :)
[10:40] <tsdgeos> restarting did the trick :)
[10:42] <Saviq> davidcalle, ok, let me know when they're ACK'ed, am +1 on testing
[10:44] <davidcalle> Saviq, thanks, pstolowski is reviewing
[10:51] <MacSlow> Saviq, not looked into it today.. still with the boot-anim for the moment... but I'll get to it today (afternoon)
[10:52] <MacSlow> Saviq, this is the latest state I'm at there https://bugs.launchpad.net/unity8/+bug/1296777/comments/9
[11:05] <davidcalle> Saviq, branches reviewed
[11:47] <mzanetti> elopio: hey
[11:47] <mzanetti> elopio: can I tell AP to give me the first child of an object, regardless of anything?
[12:10] <mzanetti> Saviq: did you write this as a todo for me or just a general todo and the respective package owners are on it already? https://code.launchpad.net/~unity-team/unity8/right-edge-2/+merge/213172/comments/504199
[12:10] <Saviq> mzanetti, todo for you :)
[12:10] <mzanetti> Saviq: ack
[12:11] <mzanetti> finally got AP working again.
[12:11] <mzanetti> such a pain that thing
[12:12] <mzanetti> well, I hope so. still running the whole suite at once to make sure
[12:21] <Saviq> mzanetti, http://bazaar.launchpad.net/~phablet-team/ubuntu-touch-session/trunk/revision/163/debian/changelog
[12:21] <mzanetti> heh
[12:21] <mzanetti> nice one
[12:22] <Saviq> ugh, /me switched channels
[12:22] <Saviq> mzanetti, sorry
[12:22] <mzanetti> np
[12:47] <Saviq> davidcalle, apparently scopes landed
[12:49] <davidcalle> Saviq, seen that, thanks a lot :)
[12:50] <Saviq> cheers
[13:29] <elopio> mzanetti: like get_children()[0] ?
[13:30] <Saviq> elopio, he did that, yeah
[13:30] <elopio> get_children_by_type is the method.
[13:30] <Saviq> elopio, can we get your eyes on https://code.launchpad.net/~unity-team/unity8/right-edge-2/+merge/213172 for the autopilot changes please?
[13:31] <elopio> Saviq: yes, I'll take a look after my current meeting finishes.
[13:31] <Saviq> elopio, thanks
[13:46] <dandrader> when loading a themed icon, should I pass as an Image.source "image://theme/phone-app" or "//theme/phone-app" ?
[13:46] <Saviq> dandrader, image://
[13:46] <dandrader> Saviq, ok, thanks
[13:46] <Saviq> dandrader, //theme would be a local file path
[13:51] <Cimi> Saviq, cool got my parcel delivered right now, so I'll be there on time monday morning!
[13:53] <Saviq> happy happy Cimi :D
[13:54] <Saviq> and now everyone tries to guess what's in the parcel Cimi was waiting on...
[14:04] <Cimi> Saviq, pc stuff...
[14:04] <Saviq> Cimi, of course, yes, we believe you :D
[14:05] <elopio> Saviq: I have some question about the changes. With mzanetti right?
[14:06] <Saviq> elopio, yeah, he's afk for now, so maybe leave them on the MP
[14:46] <mzanetti> elopio: hey
[14:49] <mzanetti> elopio: huhu! can you please fix your IRC hightlighting?
[14:57] <elopio> mzanetti: it works. I was walking the dog.
[14:57] <mzanetti> elopio: ah :)
[14:57] <elopio> but I'm about to start a meeting. mzanetti: will you be around in ~30 minutes?
[14:58] <mzanetti> elopio: ok then. let me know when you're back :)
[14:58] <mzanetti> yes
[15:03] <Saviq> mzanetti, what do you mean "but its annoying to update this with every commit over and over again."?
[15:03] <mzanetti> :D
[15:03] <Saviq> mzanetti, we need to maintain the emulators, and those tests are meant to verify we are
[15:04] <mzanetti> yeah. but it didn't look like that check being that import
[15:04] <mzanetti> adding it back
[15:04] <mzanetti> also I think this is not really the proper thing to do
[15:05] <mzanetti> we should rather see if the object we have can give us what we want
[15:05] <mzanetti> and not if its name matches something
[15:05] <mzanetti> Saviq: ^
[15:06] <Saviq> mzanetti, well, since we maintain the object, we know what it should return (and check what type it is, as well as what it gives)
[15:06] <mzanetti> Saviq: but there's a qml optimization in between which might change the name
[15:07] <mzanetti> that's what I mean. if I add/remove one property to DashApps, that optimization might change and it becomes a GenericScopeView
[15:07] <mzanetti> just as one example
[15:07] <Saviq> mzanetti, ah I know what you mean
[15:07] <mzanetti> while it still would have everything we need, the test fails because the name doesn't match
[15:07] <Saviq> mzanetti, basically recently if a sub-class doesn't have new props
[15:08] <Saviq> mzanetti, it does not appear as the sub-class, but as the base class still
[15:08] <mzanetti> yeah. but since 5.2 I think this has become a bit more flexible
[15:08] <Saviq> mhm
[15:08] <mzanetti> with < 5.2 yes, it was exactly how you said
[15:08] <mzanetti> now it can be optimized even if it adds properties. but I still haven't found what exactly is the measurement
[15:10] <mzanetti> which is exactly this back and forth between GenericScopeView and DashApps
[15:10] <mzanetti> every time I merge trunk it changes I have the feeling :D
[15:11] <Saviq> mzanetti, then maybe your change is good indeed, but needs to be supplemented by something? like a check of objectName?
[15:11] <Saviq> mzanetti, and we might actually need to force it be a DashApps emulator
[15:11] <mzanetti> yeah... maybe. I'll put in the old check for now and discuss with elopio on how to make this more robust
[15:12] <Saviq> mzanetti, elopio will know more
[15:14] <mzanetti> Saviq: also, the one above (assert_scope_is_opened(scope_id) kinda implcitly checks if its the right scope already. another reason why I just dropped it
[15:15] <Saviq> mzanetti, yeah, but it's not just that
[15:15] <MacSlow> boiko, any news on the compile issue ran into with telephony-service (https://bugs.launchpad.net/unity8/+bug/1296777/comments/9)?
[15:15] <Saviq> mzanetti, the DashApps emulator has additional members, does it not
[15:15] <MacSlow> boiko, is there a fix for it or do I need to work around it somehow?
[15:15] <mzanetti> Saviq: yeah...
[15:15] <Saviq> mzanetti, so if something expects the DashApps emulator, but gets the generic GenericScopeView, it will be a problem
[15:16] <Saviq> mzanetti, that's why that check makes sense
[15:22] <mzanetti> Saviq: thanks for fixing flo in the meantime
[15:22] <Saviq> mzanetti, no worries
[15:32] <Saviq> Cimi, standup
[15:32] <Saviq> josharenson, standup
[15:33] <boiko> MacSlow: well, it shouldn't be happening in the first place, but I unfortunately didn't have time to look into that yesterday
[15:34] <MacSlow> rsalveti, hey there... I'm just wondering if there's a library I could use (early in the boot-process, when $GRID_UNIT_PX isn't set yet by ubuntu-touch-session) to read it from /etc/ubuntu-touch-session.d/$(getprop ro.product.device).conf ... otherwise I do it manually with popen() and friends.
[15:34] <MacSlow> boiko, ok... I'll look into it myself later today again too
[15:35] <boiko> MacSlow: sorry, I can try to look into that later today, but I have some higher priority stuff to sort out
[15:36] <rsalveti> MacSlow: we only have a library to call property_get (the getprop thing), but you'd need to read the file
[15:36] <MacSlow> boiko, ok
[15:36] <MacSlow> rsalveti, ok
[15:39] <MacSlow> rsalveti, which library provides the property_get()?
[15:39] <rsalveti> MacSlow: libandroid-properties1
[15:40] <rsalveti> there's a -dev package for it
[15:40] <MacSlow> rsalveti, thx
[15:44] <elopio> mzanetti: ready. Sorry.
[15:44] <mzanetti> elopio: hi :)
[15:45] <mzanetti> elopio: so... for now DashApps is a DashApps again but I'm confident that'll change again
[15:45] <mzanetti> elopio: so for the right edge branch I reverted my AP changes
[15:45] <mzanetti> elopio: but I think we need to make this more generic/robust against QML optimziations
[15:46] <elopio> mzanetti: I got that from the backlog. This is so weird for me, how can you tell if QML will name a class that extends other after the file name, or after the other class?
[15:46] <elopio> it seems undeterministic for me. I had a bad time with CheckBoxes and Switches.
[15:47] <mzanetti> elopio: with Qt 5.0 the criteria was if a class adds properties. However, that seems to have changed with 5.2 and I'm not exactly sure yet what's the trigger. would need some evaluation
[15:48] <mzanetti> elopio: but: can't we just make sure the object has a method get_apps() or whatever instead of forcing it to be called DashApps?
[15:48] <elopio> mzanetti: this is what we want: https://bugs.launchpad.net/autopilot/+bug/1210260
[15:48] <elopio> it has just landed.
[15:48] <elopio> the problem is linking a QML object with the helper object that provides all the methods for tests to use.
[15:49] <mzanetti> yeah... without fully understanding what's going on internally, the description sounds about right
[15:49] <mzanetti> yep. I can imagine it might be a bit tricky...
[15:50] <mzanetti> elopio: another idea:
[15:50] <mzanetti> couldn't we add the get_apps() function to the class in QML, and then invoking that from AP directly?
[15:50] <elopio> mzanetti: I'll just need to ask them for documentation of how to use it :/
[15:50] <elopio> but in theory, we could do what you want, just return the first children and if it matches objectName='bla', it will return the helper object we defined.
[15:50] <elopio> even if the class names don't match.
[15:50] <mzanetti> without the abstraction layer
[15:52] <elopio> mzanetti: I think this is the same that you did for another branch, wasn't it?
[15:52] <elopio> you moved the specific method to the base class, and then it would be on both. It doesn't matter which one autopilot finds.
[15:52] <mzanetti> elopio: that's exactly this
[15:53] <mzanetti> elopio: had to revert it because the QML name changed back after I merged trunk
[15:53] <elopio> right, now I understand the dejavu sense :)
[15:53] <mzanetti> and because it annoyed me quite a bit, I dropped that check for isInstanceOf
[15:53] <elopio> :D
[15:53] <mzanetti> thinking that it would be implicitly checked for having apps anyways
[15:53] <mzanetti> which it does. but still leaves a bit more room for breakage, I agree
[15:54] <elopio> mzanetti: let me get with nuclearbob to understand how to use it. I have been annoyed by this for 6 months since I reported the bug.
[15:55] <mzanetti> elopio: anyways, I think we're good for the right edge branch now.
[15:55] <elopio> I hope to be able to show you on monday a small branch that depends on the objectName, not the class name.
[15:55] <Saviq> mzanetti, btw, it's ok to --overwrite sometimes ;D
[15:55] <mzanetti> :D
[15:55] <mzanetti> Saviq: I try to avoid that on shared branches
[15:55] <mzanetti> can break the other's working copy quite badly
[15:55] <Saviq> mzanetti, I know, but when it's a case like this is ok
[15:56] <Saviq> mzanetti, i.e. 3 mins after the other
[15:56] <mzanetti> yeah, true
[15:56] <mzanetti> I'll remember
[15:57]  * Saviq kicks another build
[15:57] <mzanetti> aye
[15:58] <elopio> mzanetti: one more detail
[15:58] <elopio> this is extremely unsafe: 2963	+ return loader.get_children()[0]
[15:58] <Saviq> ah, except that it won't work without the unity-mir thing...
[15:58] <elopio> mzanetti: what would you think of try to get one, and if an exception is raised, try to return the other.
[15:58]  * Saviq needs to wait for that with testing
[15:59] <mzanetti> elopio: not a fan of such things. but if it gets AP out of my way, feel free :D
[15:59] <bschaefer> kgunn, hey, any luck with that demo?
[16:00] <elopio> you are hurting my feelings... :)
[16:00] <elopio> mzanetti: well, at this point, I don't understand why that change is needed. Is it because you want to avoid having to revert again?
[16:00] <mzanetti> elopio: oh. ok... sorry for that
[16:00] <mzanetti> won't happen again
[16:01] <mzanetti> elopio: let me just fix something in unity-mir first
[16:01] <elopio> mzanetti: I'm joking. I don't like QtTest nor javascript, but I'll have to live with it just as you.
[16:01] <elopio> I'll get used to it, at some point
[16:03] <kgunn> bschaefer: man...been busy on lots of arch discussions this morning hadn't had a chance
[16:03] <bschaefer> kgunn, no worries :)
[16:03] <bschaefer> kgunn, ill poke mhr3 about it
[16:04] <bschaefer> mhr3, would you happen to know how to get unity8 to read newly installed *.desktop files?
[16:04] <kgunn> ....or any of the other guys here....
[16:04] <kgunn> http://bazaar.launchpad.net/~brandontschaefer/+junk/sdl2-demo-blocks/view/head:/data/blocks-demo.desktop.in
[16:04]  * bschaefer remembers mhr3 doing all that fun stuff in unity7
[16:04] <kgunn> mzanetti: tsdgeos ^ is that desktop file kosher
[16:04] <Saviq> bschaefer, unity8 doesn't read .desktop files itself
[16:04] <Saviq> bschaefer, it's unity-scope-click now
[16:05] <bschaefer> i see, so how does the dash pick up new *.desktop files?
[16:05] <mzanetti> kgunn: looks ok
[16:05] <bschaefer> i had it working on unity8 for the desktop
[16:05] <mzanetti> Saviq: note that it does still read .desktop files in ApplicationManager and Launcher
[16:05] <Saviq> bschaefer, should be enough to just search, it doesn't monitor the dirs, htough
[16:05] <bschaefer> just its failing for the phone
[16:05] <Saviq> bschaefer, both with new scopes?
[16:05] <tsdgeos> +1 looks reasonable
[16:05] <Saviq> mzanetti, yes, but on launch
[16:05] <Saviq> mzanetti, or so
[16:05] <Saviq> mzanetti, it does not "find" them
[16:05] <bschaefer> Saviq, hmm i tested it before the new qt5.2
[16:05] <Saviq> to display all
[16:06] <Saviq> bschaefer, yeah, we switched to the complete new scopes now, new scope backends, new scope implementations
[16:06] <mzanetti> kgunn: note that files with .in are templates that will be filled in when cmake runs
[16:06] <bschaefer> the problem with the phone, is it doesn't show up at all under search
[16:06] <Saviq> bschaefer, you'd have to check with a recent unity8
[16:06] <mzanetti> kgunn: the {} stuff in there will be replaced by cmake and the .in at the end removed
[16:06] <bschaefer> Saviq, oo i see, well unity8 doesn't work atm on the deskop :)
[16:06] <Saviq> bschaefer, right... you can use unity-scope-tool to check, though
[16:06] <bschaefer> Saviq, from the phone?
[16:06]  * bschaefer needs a phone
[16:07] <Saviq> bschaefer, no, desktop
[16:07] <bschaefer> o desktop
[16:07] <Saviq> bschaefer, if you install unity-scope-click, unity-scope-tool
[16:07] <bschaefer> sweet, let me test that out
[16:07] <Saviq> bschaefer, start scope-registry, start smart-scopes-proxy
[16:07] <Saviq> (or restart for good measure)
[16:07] <Saviq> bschaefer, and then UNITY_SCOPE_LIST="clickscope" unity-scope-tool should give you exactly what you would get on the phone
[16:08] <bschaefer> Saviq, awesome!
[16:08] <mzanetti> Saviq: actually, where are we going to install Unity.Application to? qt5/qml/ ?
[16:08] <bschaefer> Saviq, thanks! Ill give that a go now
[16:08] <Saviq> mzanetti, no
[16:08] <mzanetti> Saviq: or qt5/imports/ still, just dropping the Unity-Mir
[16:08] <Saviq> mzanetti, the path from unity-api.pc
[16:09] <Saviq> mzanetti, same as other shell-only modules
[16:11] <bschaefer> hmm empty, possibly i've not upgraded my machine in sometime
[16:12] <Saviq> bschaefer, did you make sure to (re)start scope-registry and smart-scopes-proxy?
[16:12] <Saviq> bschaefer, also, it's actually SCOPES, not SCOPE
[16:12] <bschaefer> Saviq, i had started them
[16:12] <Saviq> UNITY_SCOPES_LIST="clickscope" unity-scope-tool
[16:12] <bschaefer> that could have been the issue :)
[16:12] <Saviq> but regardless
[16:12] <Saviq> bschaefer, it would've shown you all
[16:13] <bschaefer> Saviq, with the S i see 2 now
[16:13] <bschaefer> oo more now
[16:13] <Saviq> huh, there should only be one :D
[16:13] <bschaefer> Saviq, cool, now to actually install my demo
[16:13] <bschaefer> Saviq, i see 100+
[16:13] <Saviq> ah, items :)
[16:13] <Saviq> that's good
[16:13] <Saviq> bschaefer, I meant would've shown you all  scoeps
[16:14] <bschaefer> oo right sorry :)
[16:14] <bschaefer> cool, thats a useful testing method
[16:14] <bschaefer> so lets say I don't see the desktop file, what should be done to get it to be read by scopes click?
[16:15] <Saviq> bschaefer, X-Ubuntu-Touch=True
[16:16] <bschaefer> capital T?
[16:16] <bschaefer> i have true
[16:16] <Saviq> bschaefer, well, probably doesn't matter
[16:16] <bschaefer> yeah
[16:16]  * bschaefer was just hoping it was cap sensitive as i have =true haha
[16:16] <Saviq> bschaefer, and if you search for it, doesn't come up?
[16:17] <bschaefer> Saviq, i've to update and add the mir staging ppa :)
[16:17] <bschaefer> soo i've yet to test it, but its not coming up for kgunn on the phone
[16:17] <mzanetti> Saviq: pushed unity-mir install path
[16:17] <Saviq> mzanetti, same branch?
[16:17] <mzanetti> yeah
[16:17] <Saviq> k
[16:17] <bschaefer> Saviq, possibly kgunn needs to upgrade to the new scopes changes? (Not sure what version hes on)
[16:17] <kgunn> https://launchpad.net/~mir-team/+archive/staging/+packages
[16:18] <kgunn> bschaefer: i used latest image devel-proposed
[16:18] <kgunn> sorry distracted otp
[16:18] <bschaefer> kgunn, well that looks up to date to me :)
[16:18] <bschaefer> kgunn, no worries at all!
[16:18]  * bschaefer is just waiting for upgrading to happen...
[16:20] <Saviq> hmm interesting
[16:20] <bschaefer> Saviq, i would assume its my desktop file, or how im installing it, but i was putting it in the same place as the other *.desktop files I saw
[16:21] <Saviq> bschaefer, not really
[16:21] <bschaefer> Saviq, http://bazaar.launchpad.net/~brandontschaefer/+junk/sdl2-demo-blocks/view/head:/data/CMakeLists.txt
[16:21] <bschaefer> the installing
[16:21] <Saviq> bschaefer, I just copied one and changed its name
[16:21] <Saviq> bschaefer, should show up, but doesn't
[16:21] <bschaefer> Saviq, o strange! Scopes *uses* to have to be opened first
[16:21] <bschaefer> not scopes
[16:21] <bschaefer> but files
[16:21] <bschaefer> but thats an application, and thats my old unity7 understanding :)
[16:21] <Saviq> pstolowski, do you have an idea about the new click scope reading .desktop files (non-click)?
[16:22] <Saviq> pstolowski, seems searching for a newly added one or restarting the scope registry doesn't help
[16:23] <Saviq> mzanetti, FYI, I'd rather you have used a separate branch for that, but it's ok
[16:23] <bschaefer> interesting, thanks for testing Saviq!
[16:23] <mzanetti> Saviq: I can revert and do that if you want
[16:23]  * Saviq reboots the phone
[16:23] <Saviq> mzanetti, nah it's ok
[16:24] <mzanetti> thought it would make it easier if its in here
[16:24] <mzanetti> Saviq: what's the reason you'd prefer another branch?
[16:24] <Saviq> mzanetti, separate commit in history
[16:25] <pstolowski> Saviq, all I know is click scope has a hardcoded list of non-click .desktop files for a dozen of apps
[16:25] <Saviq> mzanetti, hmm why SHELL_PLUGINDIR and SHELL_INSTALL_QML?
[16:25] <Saviq> mzanetti, don't they need to be in the same place?
[16:26]  * Saviq checks unity-scopes-shell how it does it
[16:26] <pstolowski> Saviq, http://bazaar.launchpad.net/~ubuntuone-hackers/unity-scope-click/trunk/view/head:/scope/click/interface.cpp#L53
[16:26] <Saviq> pstolowski, ouch
[16:26] <Saviq> bschaefer, ↑
[16:26] <mzanetti> Saviq: I've stolen this from unity-notifications
[16:26] <mzanetti> let me check if I copied something wrong
[16:27] <mzanetti> no... looks ok.
[16:27] <bschaefer> Saviq, i see, hmm how do new ones get added? :)
[16:27] <pstolowski> Saviq, no idea if there's anything else. checking
[16:27] <mzanetti> Saviq: yeah, I throught the same, why 2 dirs. but have used it as is because we have it like this in unity-notifications too
[16:27] <bschaefer> one thing i dont have in my desktop file is:
[16:27] <Saviq> mzanetti, one of the vars is absolute, the other is relative
[16:27] <bschaefer> static const std::string DESKTOP_FILE_KEY_APP_ID("X-Ubuntu-Application-ID");
[16:27] <bschaefer> not sure if thats 100% needed, but it looks like its checked for
[16:28] <Saviq> mzanetti, notifications is using it wrong, bug #1273617
[16:28] <mzanetti> aha
[16:28] <mzanetti> ok, fixing
[16:28] <Saviq> mzanetti, check unity-scopes-shell instead
[16:28] <mzanetti> ack
[16:28] <Saviq> mzanetti, http://bazaar.launchpad.net/~unity-team/unity-scopes-shell/trunk/view/head:/CMakeLists.txt#L55
[16:28] <Saviq> bschaefer, the new scope has a hardcoded list of non-click .desktop files it looks at...
[16:28] <bschaefer> kgunn, well if you realllly want to test the sdl2 demo out, edit a working desktop file :)
[16:29] <Saviq> bschaefer, doesn't matter what the kontents are...
[16:29] <Saviq> kontents...
[16:29] <bschaefer> Saviq, i see, well i just see more then those *.desktop files
[16:29] <kgunn> cool...
[16:29] <bschaefer> Saviq, its ok i understood
[16:29] <bschaefer> haha
[16:29] <Saviq> bschaefer, the rest are click apps
[16:29] <Saviq> bschaefer, and taken from the web
[16:29] <Saviq> bschaefer, not local
[16:29] <bschaefer> Saviq, o i see!
[16:29]  * bschaefer now understands what scope clicks are
[16:30]  * Saviq works too much with KDE people... c → k
[16:30] <bschaefer> :)
[16:30] <Saviq> bschaefer, there are no "scope clicks" :D
[16:30] <Saviq> bschaefer, scope is a backend for displaying data in dash
[16:30] <Saviq> bschaefer, as in current unity
[16:30] <Saviq> bschaefer, click are the new package format we use for apps on the phone
[16:30] <Saviq> bschaefer, so "click scope" is a scope (like in a lens) onto click apps :)
[16:31] <bschaefer> Saviq, i think i meshed those 2 words together when i shouldn't have :)
[16:31] <bschaefer> i see
[16:31] <bschaefer> Saviq, so, there will be plans later on to incorporate non-click apps?
[16:31] <bschaefer> or is the switch to use, click apps only, besides the hard coded?
[16:32] <Saviq> bschaefer, can't see how we can not support standard .desktop files
[16:32] <bschaefer> yeah
[16:32] <Saviq> bschaefer, it's a shortcut, I'm sure
[16:32] <Saviq> bschaefer, fwiw it was working before
[16:32] <Saviq> bschaefer, it just wasn't ported to the new scope infra
[16:32] <pstolowski> Saviq, bschaefer ok, I think that was it, there is nothing more to it. if app is not on that hardcoded list, it needs to provide X-Ubuntu-Application-ID etc.
[16:32] <bschaefer> Saviq, yeah i had it working on unity8 desktop
[16:33] <Saviq> pstolowski, yeah, it needs to be a click, basically :)
[16:33] <bschaefer> pstolowski, does the X-Ubuntu-Application-Id need to be unique?
[16:33]  * bschaefer imagines that being hard to guarantee a hard coded ID to be unique between different projects desktop files
[16:34] <Saviq> bschaefer, that's why they're mangled on installation
[16:34] <Saviq> bschaefer, it's the installation process that puts that in there
[16:34] <bschaefer> ooo i see, so thats not my job to put it in the desktop file :)
[16:34] <Saviq> nope
[16:34] <bschaefer> cool, well at lease that issue i known :)
[16:35] <pstolowski> bschaefer, dunno about that id
[16:35] <bschaefer> Saviq, for now ill get kgunn to write over a hardcoded *.desktop file to point to the demo to test it out
[16:35] <Saviq> bschaefer, yeah
[16:35] <bschaefer> Saviq, pstolowski thanks for all the help!
[16:35] <Saviq> bschaefer, one of them should actually be free by now
[16:35] <bschaefer> yeah
[16:35] <Saviq> bschaefer, like gallery, for example
[16:35] <bschaefer> i think thats what i tested on before haha
[16:36] <Saviq> bschaefer, so just put it in as gallery for now
[16:36] <Saviq> bschaefer, or well, package it into a .click! :)
[16:36] <Saviq> join the cool boys :D
[16:36] <bschaefer> Saviq, is there documentation to do such a thing haha?
[16:36] <Saviq> (only you'll have to bring SDL with you ;)
[16:36] <bschaefer> yeah haha
[16:36] <Saviq> it's all BYOD
[16:36] <bschaefer> haha
[16:37] <Saviq> at least until we make SDL part of the framework
[16:37] <bschaefer> well if i get sometime (there needs to be more time in a day...)
[16:37] <bschaefer> yeah
[16:37] <bschaefer> Saviq, i suppose I can for my SDL demo to overrides the gallery, but it could also be manually edited (overriding seems mean)
[16:38] <Saviq> bschaefer, yup
[16:38] <Saviq> bschaefer, to install .debs you need to be writable anyway
[16:38] <bschaefer> kgunn, ill get a nice diff for you, to change your gallery*.desktop file
[16:38] <bschaefer> Saviq, yeah, but doesn't the gallery app still work and is used?
[16:39] <Saviq> bschaefer, fyi, you can also launch stuff from the console, you need to pass --desktop_file_hint=/path/to/a/.desktop/file
[16:39] <bschaefer> Saviq, i could also look at patching that hardcoded list for now
[16:39] <bschaefer> Saviq, o really?!
[16:39] <Saviq> bschaefer, gallery has been converted to click
[16:39] <bschaefer> Saviq, oo cool, so yeah i can do that then
[16:40]  * Saviq 's plan to prep for sprint next week didn't work out it seems...
[16:40] <bschaefer> Saviq, so if you pass the --desktop_file_hint, unity8 starts it up and ill get access to the  precious mir server/socket?
[16:40] <Saviq> bschaefer, yeah, one thing, though
[16:41] <Saviq> bschaefer, if launching from console
[16:41] <Saviq> bschaefer, you need to get the correct mir socket
[16:41] <Saviq> bschaefer, initctl get-env --global MIR_SOCKET
[16:41] <mzanetti> ok Saviq, now hopefully I got it right
[16:41] <Saviq> and export that
[16:41] <bschaefer> its in $XDG_RUNTIME_DIR?
[16:41] <bschaefer> o
[16:41] <bschaefer> thats even better
[16:41] <Saviq> bschaefer, yeah, that's the user's socket, the /tmp one is for the system compositor
[16:42] <Saviq> to which unity8 connects as the session compositor
[16:42] <bschaefer> cool, i thought i looked in /tmp and didn't find a socket
[16:42] <bschaefer> then saw mir checked XDG_RUNTIME_DIR now, but that makes sense
[16:42] <bschaefer> Saviq, thanks again!
[16:43] <Saviq> mzanetti, yeah, looks better
[16:44] <Saviq> mzanetti, checked debian/*install ? ;)
[16:44] <mzanetti> Saviq: looks ok :)
[16:45] <Saviq> k
[16:45] <mzanetti> ah... not so sure.
[16:45] <mzanetti> let me verify
[16:45] <Saviq> mzanetti, nope
[16:45] <Saviq> mzanetti, usr/lib/*/qt5/* is wrong
[16:45] <mzanetti> yeah
[16:45] <mzanetti> just saw it
[16:47] <mzanetti> usr/lib/*/Unity/Application/* should do
[16:49] <mzanetti> Saviq: can it be that the libunity-api-dev has the wrong arch?
[16:49] <mzanetti> shouldn't it be all?
[16:50] <Saviq> mzanetti, it installs the .la
[16:50] <Saviq> mzanetti, I think
[16:50]  * Saviq checks
[16:51] <Saviq> mzanetti, it actually ships the libunity-api.so
[16:51] <Saviq> link
[16:51] <mzanetti> oh
[16:51] <Saviq> mzanetti, we could probably get rid of it
[16:52] <Saviq> mzanetti, in general -dev packages are arch-specific
[16:52] <Saviq> mzanetti, we could potentially make it all, but I'm thinking we'll rather make it into a library sooner than later
[16:52] <Saviq> to allow sharing between things between plugins, like enums and such
[16:53] <mzanetti> mhm... I c
[16:55] <mzanetti> Saviq: ok. I think the install path works now too
[16:55] <Saviq> mzanetti, k
[16:55] <Saviq> mzanetti, nope
[16:55] <Saviq> mzanetti, you're missing a /unity8/
[16:56] <Saviq> /unity8/qml/ actually
[16:56] <mzanetti> where
[16:56] <mzanetti> ?
[16:56] <Saviq> mzanetti, just execute the pkg-config line
[16:57] <Saviq> pkg-config --variable=plugindir unity-shell-api
[16:57] <Saviq> you'll see where it's meant to be installed
[16:57] <Saviq> and then you'll see that the installation path needs to be
[16:57] <Saviq> /usr/lib/*/unity8/qml/*
[16:57] <Saviq> * isn't recursive
[16:57] <mzanetti> Saviq: ok, yes. but shouldn't that be caught by my line too?
[16:58] <Saviq> mzanetti, no
[16:58] <mzanetti> ahhh
[16:58] <mzanetti> wb :)
[16:58] <Saviq> grr ^W
[16:58] <mzanetti> aah, so * matches only 1 dir?
[16:58] <Saviq> mzanetti, yeah, it's a standard glob
[16:59] <mzanetti> as in usr/*/*/*/Unity/Application would work  then?
[16:59] <Saviq> mzanetti, yes
[16:59] <mzanetti> ok
[16:59] <Saviq> mzanetti, but it's better to be explicit
[16:59] <mzanetti> sure
[17:01] <mzanetti> ok, now then :D
[17:02] <tsdgeos> Saviq: i just pushed a fix for the polishItems thing, if you have time to try to reproduce the crash it'd be cool to have someone else try it
[17:02] <tsdgeos> i'm going eow now
[17:03] <tsdgeos> see you on london
[17:03] <Saviq> tsdgeos, o/
[17:03] <Saviq> DAMN that guy :D
[17:04] <mzanetti> what's the polishItems? the ones written by Saviq? :D
[17:04] <Saviq> pfft!
[17:05] <Saviq> mzanetti, you wanna join #ubuntu-devel
[17:41]  * greyback eow
[18:32] <jhodapp> Anybody know why running a QtTest on a target device results in it trying to connect to Mir? I have this backtrace: http://pastebin.ubuntu.com/7169856/
[18:33] <jhodapp> what am I missing (I am running Mir)
[18:33] <jhodapp> it hangs trying to connect to Mir
[22:21] <mhr3> jhodapp, you need to pass minimal as the platform iirc
[22:22] <mhr3> QT_QPA_PLATFORM=minimal
[22:29] <jhodapp> mhr3, thanks, I also discovered QTEST_GUILESS_MAIN
[22:32] <mhr3> ah, maybe i should have been using that in the first place
[22:32] <mhr3> jhodapp, so thx :)
[22:39] <jhodapp> mhr3, hehe, np :)