[06:42] <mzanetti> veebers: ping
[06:42] <veebers> mzanetti: pong
[06:42] <mzanetti> veebers: see, I'm practicing for the 8:30 meeting already :D
[06:43] <veebers> mzanetti: heh ^_^
[06:43] <mzanetti> veebers: wanted to ask if you guys managed to fix those notification tests
[06:43] <veebers> mzanetti: one moment I'll fwd an email
[06:59] <tvoss> Saviq, ping
[06:59] <Saviq> tvoss, pong
[07:07] <Saviq> didrocks, hey, something is blocking cu2d? unity8 stack is still in "waitforstacks" mode?
[07:14] <veebers> MacSlow: ping
[07:14] <MacSlow> veebers, hey there
[07:14] <veebers> Hey hows it going
[07:14] <MacSlow> veebers, just read the two email... jumping right in
[07:15] <veebers> MacSlow: I see you saw that email, I just commented to mzanetti that I'm having a small issue with it and I suspect perhaps it's unity8 or notifications related?
[07:15] <veebers> MacSlow: I'm about to push a slight change to that branch in the email
[07:15] <MacSlow> veebers, ok
[07:16] <didrocks> Saviq: it seems it's building to me? (platform just finished)
[07:16] <didrocks> Saviq: basically, the ati machine went down, I had to restart the jenkins node again this morning
[07:16] <Saviq> didrocks, yeah, building now
[07:16] <Saviq> didrocks, so I just saw a symptom of something you fixed already :)
[07:17] <didrocks> heh, I fixed it 2 hours ago TBH, but time for everything to build then… ;)
[07:17] <veebers> mzanetti, MacSlow: I've pushed an update to that branch
[07:18] <veebers> it added a test_simple_interactive which always works for me, but the test_interactive has an issue where, I'm not sure, something happens, either you can't click on the notification or it errors out (after a while) due to dbus error
[07:19] <Saviq> didrocks, yeah, but unity8 stack would've been done long ago if that didn't happen, right? hence my surprise
[07:19] <sil2100> What happened?
[07:20] <sil2100> Morning!
[07:20] <veebers> mzanetti, MacSlow  this is an example of one of the errors I've seen, but I've ofcourse changed the source now, so the "print" isn't there: http://paste.ubuntu.com/5913733/
[07:20] <sil2100> didrocks: is our daily-release jenkins down?
[07:20] <sil2100> Oh, nevermind
[07:21] <mzanetti> veebers: MacSlow: can you please modify the notification tests's setUp to start up a d-bus session bus and stop it again in tearDown?
[07:21] <mzanetti> its as simple as calling "export `dbus-laiunch`"
[07:21] <MacSlow> veebers, mzanetti: just pulled... and I'm also seeing this... http://pastebin.ubuntu.com/5913918/
[07:21] <mzanetti> MacSlow: no clue what that is
[07:22] <Saviq> veebers, https://code.launchpad.net/~saviq/unity8/reenable-passphrase-tests
[07:22] <Saviq> veebers, ouch
[07:22] <mzanetti> veebers: dunno... your branch doesn't work at all here. the notifications don't show up
[07:23] <veebers> Saviq: ouch?
[07:23] <Saviq> veebers, the xcb thing
[07:23] <mzanetti> veebers: and it fails with AttributeError: 'TestNotifications' object has no attribute '_get_urgency'
[07:23] <veebers> Saviq: ah ack
[07:23] <veebers> mzanetti: ah, probably because only one of the tests has been updated to use the new stuff and the others will be temporarily broken
[07:24] <veebers> Saviq: approve
[07:24] <veebers> d
[07:25] <mzanetti> veebers: is there a possibility to only run one of the scenarios?
[07:26] <MacSlow> mzanetti, veebers: I thought setUp() and tearDown() are no longer used/supported after the refactoring?
[07:26] <mzanetti> MacSlow: got the xlib sequence thingie now too
[07:26] <mzanetti> MacSlow: I'm sure they are... just not used at the moment I guess
[07:26] <veebers> mzanetti: either change the `scenarios = . . .` at the top of test_notifications, or comment out one of the options in `_get_device_emulation_scenarios` in test/autopilot/unity8/shell/tests/__init__.py
[07:27] <mzanetti> veebers: yeah... I meant without modifying the code
[07:27] <veebers> mzanetti: oh, not that I'm aware of
[07:27]  * mzanetti open a feature request
[07:27] <mzanetti> this is annoying as hell
[07:27] <didrocks> Saviq: yeah, it would have been done ~3h ago
[07:27] <veebers> MacSlow: yeah they are supported, they are general testtools thing
[07:27] <veebers> mzanetti: are you opening that up against autopilot?
[07:27] <mzanetti> yeah
[07:28] <MacSlow> veebers, ah ok... thought it was special to our unity8-ap
[07:28] <veebers> MacSlow: no, setUp is executed before every test_* and tearDown afterward
[07:31] <tsdgeos> hmmm
[07:31] <tsdgeos> dee-qt isn't autoreleased?
[07:31] <tsdgeos> or when does the autorelease happen?
[07:32] <mzanetti> tsdgeos: I read something that the daily release jenkins currently has troubles... might be related to that
[07:33] <larsu> dednick: morning. I fixed your crash yesterday, but you were already gone :)
[07:33] <dednick> larsu: yep. i came back later :)
[07:34] <mzanetti> veebers: http://www.faqs.org/faqs/x-faq/part7/section-15.html
[07:35] <mzanetti> MacSlow: ^
[07:35] <dednick> larsu: couple of questions about the model
[07:35] <dednick> larsu: the action role doesnt seem to work.
[07:35] <dednick> always undefined. Doesnt have a case in the model::data func
[07:36] <MacSlow> mzanetti, *sigh*
[07:36] <larsu> dednick: you don't need the action. (Well, at least I think you don't)
[07:36] <dednick> larsu: in your example you have a slider, but no value is set :) so couldnt work out how to get it
[07:37] <veebers> mzanetti: hmm I would have thought we would be safe from that as the python "multiprocessing" uses subprocesses not threads, or perhaps I mis-understood it
[07:37] <dednick> larsu: as far as i know, the actions contain the control values? switches, sliders etc.
[07:37] <mzanetti> veebers: I'd say so too... but the fact that we are getting those erorrs... dunno. let me check the code
[07:37] <veebers> mzanetti: cool thanks
[07:37] <larsu> dednick: right, you do need the state. Isn't that exposed? (I wrote this a while ago)
[07:38] <larsu> dednick: doesn't look like it... will fix toda
[07:38] <dednick> larsu: not as far as i can tell
[07:38] <larsu> *today
[07:38] <dednick> larsu: cool. thanks.
[07:39] <mzanetti> veebers: regarding this comment: # THese lines are commented out because for some reason the # notification appears in my desktop unity session, rather than the# launched unity8 session.
[07:39] <veebers> mzanetti. MacSlow : I was going to mention this is an example script using the notifications_helper, but I'm not sure if it'll help: http://paste.ubuntu.com/5913944/
[07:39] <MacSlow> veebers, I still seem to be needing to call super(myTestClass self).setUp() in my setUp(), right... same for tearDown()...
[07:39] <mzanetti> veebers: run "export `dbus-launch`" from the terminal where you run the test suite
[07:39] <dednick> larsu: also, what does the "sensitive" role signify?
[07:39] <veebers> mzanetti: sure, we'll add that to the actual test suite itself too
[07:39] <larsu> dednick: whether the control can be interacted with (it's sometimes also called enabled)
[07:40] <MacSlow> mzanetti, os.system() should work in the ap-test to do that
[07:40] <dednick> larsu: ok
[07:40] <mzanetti> veebers: I don't see where you start a new process
[07:41] <veebers> mzanetti: line 23 of emulators/notification_helper.py
[07:42] <veebers> mzanetti: also, fyi: http://docs.python.org/2/library/multiprocessing.html
[07:43] <mzanetti> this is a lot of code...
[07:44] <mzanetti> I would have assumed we could spawn a binary and kill it again in tearDown
[07:45] <mzanetti> veebers: what exactly does this? with Notifications() as n:
[07:45] <mzanetti> veebers: is this just another way of doing "n = Notification()" ?
[07:46] <MacSlow> mzanetti, veebers: the test just hangs here for me
[07:47] <mzanetti> for me it does different things each time I run it
[07:47] <veebers> mzanetti: the 'with' makes it a context manager, so when 'n' goes out of scope Notifications __exit__ is called (conversly Notifications __enter__ is called when  it enters scope)
[07:47] <veebers> it's used here so that _quit is called for Notifications so that it cleans up after itself
[07:47] <veebers> mzanetti: http://effbot.org/zone/python-with-statement.htm
[07:48] <mzanetti> veebers: got it. thanks
[07:48] <MacSlow> mzanetti, veebers: bit lost here atm
[07:49] <veebers> mzanetti: the idea here (using multiprocess) is that we can have a thread like api so that we can communicate with it (i.e. the asserts etc.) without it being in a worker thread i.e. it being in it's own process
[07:51] <mzanetti> veebers: ok.... following issues:
[07:52] <mzanetti> veebers: after starting the multiplrocess the sending of the notification happens too earls (i.e. the other process is not always successfully registered yet)
[07:52] <mzanetti> veebers, MacSlow: next, the clicking on the notification _sometimes_ happens too early
[07:52] <mzanetti> veebers: the notifications multiprocess seems not to be cleaned up successfully and only the very first run works
[07:52] <mzanetti> I need to start a new dbus-session to make it work again
[07:53] <veebers> mzanetti: oh, if that's in the _simple_interaction I just noticed that there is no "assert notification has appeared"
[07:53] <veebers> the other test test_interactive has that check (from memory)
[07:53] <mzanetti> test_interactive is what I'm running
[07:53] <veebers> mzanetti: oh :-\
[07:54] <veebers> mzanetti: hmm, I tried this and had no issues: http://paste.ubuntu.com/5913992/
[07:54] <mzanetti> veebers: the _assert_notification() seems to be commented out
[07:55] <veebers> mzanetti: ah, it looks like i didn't re-enable it after it was commeneted out
[07:55] <veebers> commented*
[07:55] <mzanetti> ok... I try again
[07:56] <mzanetti> added that line back in and now it doesn't click at all any more
[07:56] <mzanetti> :/
[07:56] <mzanetti> and autopilot hangs that I need to kill it with -9
[07:56] <mzanetti> ctrl+c does not work
[07:59] <veebers> mzanetti: hmm, how long did it hang for?
[07:59] <mzanetti> until I killed it
[07:59] <mzanetti> :P
[07:59] <veebers> mzanetti: :-P
[07:59] <mzanetti> still hangs
[07:59] <Saviq> didrocks, sil2100 what's that mean http://10.97.0.1:8080/view/cu2d/view/Head/view/Unity8/job/cu2d-unity8-head-2.1build/lastFailedBuild/console ?
[08:00] <didrocks> sil2100: can you take that in charge please? ^
[08:00] <Saviq> ;)
[08:02] <sil2100> Saviq, didrocks_busy: ACK
[08:02] <Saviq> sil2100, it probably just needs a retry, as the armhf builder failed in d-b-n
[08:02] <sil2100> Ah, yeah, chroot problem...
[08:02] <mzanetti> Saviq: do we still suffer from the UbuntuAnimation not going to its target value?
[08:02] <Saviq> mzanetti, no
[08:02] <mzanetti> weird :/
[08:03] <sil2100> Saviq: retried, will have to re run this job once it's finished ;/ Sometimes those builders are more trouble than help
[08:03] <Saviq> mzanetti, was reverted
[08:03] <sil2100> hmm
[08:04] <veebers> mzanetti, MacSlow: Hey I need to go have something to eat :-P, will have dinner and come back
[08:04] <mzanetti> ack
[08:04] <MacSlow> veebers, enjoy
[08:05] <MacSlow> veebers, reading through notification_helper.py atm
[08:06] <mzanetti> need to reeboot. too many dbus-daemons running
[08:09] <mhr3> sil2100, any ideas where does dpkg-source: unrepresentable changes to source come from?
[08:09] <mhr3> sil2100, i get it when trying bzr bd
[08:11] <veebers> MacSlow, mzanetti I don't know if I mentioned, that when the test failed or before the dbus error etc. When the notification popped up even if I clicked on it myself nothing happened
[08:11] <veebers> MacSlow: cheers :)
[08:15] <tsdgeos> hmmm
[08:15] <tsdgeos> should
[08:15] <tsdgeos> stop unity8
[08:15] <tsdgeos> stop unity on the phone?
[08:16] <tsdgeos> it's what we do on run_on_device
[08:16] <tsdgeos> but ain't working here on the unity-mir thing i have
[08:16]  * tsdgeos realizes he can uninstall the package
[08:19] <sil2100> mhr3: ah
[08:20] <Saviq> tsdgeos, you need to be logged in as phablet for this
[08:20] <Saviq> tsdgeos, and yes it works
[08:20] <Saviq> tsdgeos, btw, the last image is working on maguro, but there's no input in apps, any idea?
[08:20] <sil2100> mhr3: I have that, most of the times it means that the version you're building got already released and you try to build it with changes
[08:20] <tsdgeos> phablet@ubuntu-phablet:~$ stop unity8
[08:20] <tsdgeos> -su: stop: command not found
[08:20]  * Saviq also vaguely remembers Gerry wrote an email about this yesterday, but can't find it now... so could've dreamt it ;P
[08:20] <Saviq> tsdgeos, sudo -u phablet -i
[08:21] <mhr3> sil2100, ah, so just bump the changelog?
[08:21] <tsdgeos> Saviq: anyway i uninstalled unity8 and that's fine :D
[08:21] <Saviq> tsdgeos, initctl stop unity8
[08:21] <tsdgeos> Saviq: last image as unity-mir image or as regular image?
[08:21] <sil2100> mhr3: yes, but if you're building a test build just for yourself, better to bump the upstream version
[08:21] <Saviq> tsdgeos, unity-mir image
[08:21] <Saviq> tsdgeos, from http://s-jenkins:8080/job/ubuntu-touch-phablet-image-saucy-mir/?
[08:21] <tsdgeos> input is a bit borked yes
[08:22] <sil2100> mhr3: otherwise it tries to use the released tarball from the archive and nitpick if you made some changes in the source
[08:22] <tsdgeos> it's one of the things gerry asked me to have a look
[08:22] <tsdgeos> and i'm trying
[08:22] <tsdgeos> but it's hard given i have no clue about it at all
[08:22] <mhr3> sil2100, by upstream version you mean the "prefix" in the changelog?
[08:22] <tsdgeos> so don't expect me to find anything
[08:22] <tsdgeos> actually i do have input
[08:22] <tsdgeos> just in some areas
[08:23] <veebers> mzanetti, MacSlow: back fyi :-)
[08:24] <mhr3> sil2100, cause you know otherwise upstream version for me is what's in configure / cmake
[08:24] <MacSlow> veebers, just trying to get this dbus-launch and tearDown working correctly... or is that not longer needed?
[08:24] <sil2100> mhr3: I mean like you have 1.1-0ubuntu1, 1.1 is the upstream part for me ;)
[08:25] <MacSlow> veebers, btw... I'm not sure how to correctly call super(fooBarClass, self).setUp(...) super(fooBarClass, self).tearDown(...)
[08:25] <mhr3> sil2100, right that's what i meant by the prefix :)
[08:25] <veebers> MacSlow: th intention of that is so that we don't have to kill notify-osd on our desktops
[08:25] <MacSlow> veebers, what arguments do these to take?
[08:25] <mhr3> sil2100, but yep, helped it builds now, thx
[08:25] <sil2100> mhr3: np.
[08:26] <MacSlow> veebers, got that... just trying to make sure I do "kill -15 ..." the right $DBUS_SESSION_BUS_PID
[08:26] <Saviq> veebers, MacSlow yeah, and on daily build autopilot runs
[08:26] <Saviq> MacSlow, setUp and tearDown don't have no arguments, afaik
[08:26] <Saviq> MacSlow, but then you can always go *args, **kwargs to be sure
[08:26] <veebers> MacSlow: sorry missed that, yeah no arguments to setUp() or tearDown()
[08:26] <MacSlow> Saviq, "*args, **kwargs"?
[08:27] <MacSlow> veebers, ah ok
[08:27] <Saviq> MacSlow, that's positional arguments, keyword arguments
[08:27] <Saviq> MacSlow, say you have:
[08:27] <Saviq> def foo(self, *args, **kwargs):
[08:27] <veebers> MacSlow: for process stuff you should be able to use subprocess, one moment and I'll have an example
[08:28] <Saviq> MacSlow, then you'd usually call super like so:
[08:28] <Saviq>     def super(FooClass, self).foo(*args, **kwargs)
[08:28] <MacSlow> Saviq, I see
[08:28] <Saviq> MacSlow, unless you wanted to pass different arguments to the super class's foo()
[08:29] <Saviq> MacSlow, *args "wraps/unwraps" iterables, **kwargs "wraps/unwraps" dictionaries
[08:30] <Saviq> MacSlow, http://docs.python.org/3/tutorial/controlflow.html#keyword-arguments
[08:31] <MacSlow> Saviq, thanks
[08:32] <sil2100> Saviq: damn, the queue for autopilot testing is looong, I wonder if didrocks_busy had anything against me skipping the check job for unity8 once the armhf build finishes and just publishing
[08:33] <sil2100> Saviq: since it's hogged by unity test now
[08:33] <Saviq> sil2100, it's fine
[08:33] <Saviq> sil2100, let it run
[08:33] <Saviq> sil2100, I'm not pushing for a quick release, just pushing for the thing to get through :)
[08:34] <veebers> MacSlow: http://pastebin.ubuntu.com/5914066/
[08:34] <sil2100> Saviq: ok then ;) This might take like an hour or so if anything
[08:35] <Saviq> sil2100, that's completely fine
[08:35] <veebers> MacSlow: that's a quick and dirty example of using subprocess
[08:35] <MacSlow> veebers, oh... I was on a complete differnet (probably wrong path)
[08:35] <Saviq> sil2100, I'm not worried by stuff running, I'm worried by stuff failing :)
[08:35] <veebers> MacSlow: I had intended for the resulting process object would be the dbus process, so we could just store that and addCleanup(kill, process_obj) or similar
[08:36] <MacSlow> veebers, used os.system("export `dbus-launch`") and was wondering how to get hold of $DBUS_SESSION_BUS_PID from that spawned subshell
[08:37] <veebers> MacSlow: ah ok
[08:37] <dandrader> Saviq, do you have that magic VM that replicates Jenkins setup?
[08:37] <veebers> MacSlow: you'll need to self.patch_environment with the 2 results from that subprocess call too, or just the 1 actually (the 'DBUS_SESSION_BUS_ADDRESS') I dont think you need the PID one to connect
[08:38] <Saviq> dandrader, I sent it out to the ML, yes
[08:38] <Saviq> dandrader, there's still some xcb crashes going on
[08:38] <Saviq> dandrader, but it's generally working
[08:39] <MacSlow> veebers, I wanted just to "dbus-launch", grab the resulting $DBUS_SESSION_BUS_PID  in setUp() and then use "kill -15 <grabbed dbus-session-bus-pid>" in tearDown()
[08:40] <veebers> MacSlow: I suspect you may have issues with the tests not using the right dbus session unless you setup the environment variable
[08:40] <mzanetti> MacSlow: how can I trigger a notification manually from the command line?
[08:41] <MacSlow> mzanetti, notify-send "Summary" "Body" -i someIcon
[08:41] <MacSlow> mzanetti, but that's not going to be a interactive one
[08:41] <mzanetti> MacSlow: how can I do an interactive one?
[08:42] <MacSlow> mzanetti, from the command line... only with a python-program
[08:42] <mzanetti> MacSlow: do we have such a thing?
[08:42] <MacSlow> mzanetti, pasting...
[08:43] <MacSlow> mzanetti,http://pastebin.ubuntu.com/5914080/
[08:44] <MacSlow> mzanetti, icons will probably not work.. but that should not be an issue
[08:45] <veebers> mzanetti: that example I posted before should work too: http://paste.ubuntu.com/5913944/
[08:46] <mzanetti> the one from MacSlow works fine
[08:46] <mzanetti> veebers: so... the notification we create from the test doesn't seem to be interactive
[08:46] <mzanetti> veebers: even manually clicking it doesn't do anything
[08:46] <mzanetti> veebers: if I create it with the command line it works
[08:47] <veebers> mzanetti: yeah I noticed that sometimes (like when the test/dbus/something was failing).
[08:47] <veebers> mzanetti: but I've also seen it work fine (i.e. that test_simple_interactive) one that I added, that works for me
[08:47] <MacSlow> mzanetti, veebers: just saw... # notification.set_hint_string ("x-canonical-switch-to-application", "true")
[08:47] <veebers> mzanetti: how are you creating it from the command line
[08:47] <mzanetti> why don't we just ship that python script from MacSlow and call it with os.exec() or whatever the python thingie for that is
[08:47] <mzanetti> ?
[08:47] <mzanetti> instead of all that complexity with task queuing
[08:48] <veebers> mzanetti: possibily, what would be the best way of checking that things get called?
[08:48] <veebers> hmm actually
[08:48] <MacSlow> mzanetti, veebers: with that commented the backend won't instruct the frontend to construct an interactive notification
[08:48] <MacSlow> mzanetti, veebers: so any passed actions will be ignored
[08:49] <MacSlow> mzanetti, veebers: callbacks in those stand-alone notification-python programs setting env-vars?!
[08:50] <mzanetti> veebers: couldn't we just keep the stdout pipe open and print() the triggered actionId? then just do a string comparison on the apps output
[08:50]  * mzanetti is still a python noob so not sure what caveats we'll run into there
[08:50] <veebers> mzanetti, MacSlow: we could have a script that is passed as an argument a list of "action ids", and the script prints and exists the actual id that is  pressed
[08:51] <veebers> mzanetti: heh the same idea I think
[08:51] <MacSlow> mzanetti, veebers: I welcome whatever works and keeps complexity down... and extensibility up :)
[08:51] <mzanetti> veebers: right... even easier: we pass the expected action_id as an argument and just make it return 0 or 1 depending on success
[08:52] <veebers> mzanetti: I think you're right and we should simplify the issue now, using this script sounds like it will work for us now (I really want to get this done, I also really want to be able to see my partner tonight ^_^)
[08:52] <veebers> mzanetti: we need to pass in the possible action ids I think, let me re-read some of the tests
[08:53] <veebers> mzanetti (MacSlow correct me if I'm wrong): in test_sd_incoming_call it looks like we need to be able to pass a list of action ids and a list (of equal length) of action labels as there may be a couple of buttons to press and we want to make sure the right one gets pressed
[08:54] <MacSlow> veebers, correct
[08:54] <veebers> mzanetti: so my suggestion is a script that takes these 2 inputs, constructs the notification and outputs the action_id of the called action and quits
[08:55] <mzanetti> veebers: yeah, exactly
[08:55] <mzanetti> veebers: I pushed something to your branch
[08:55] <veebers> mzanetti: and in the test have a helper method that polls this subprocess object (that is the python script) and if it doesn't return a value in x seconds kills the script and assert(fail)
[08:55] <mzanetti> veebers: got rid of some lambda magic which seems to make it more reliable
[08:55] <MacSlow> veebers, apart from the input sd_example_incoming-call.py does that already
[08:55] <mzanetti> veebers: at least it always finds the notification now
[08:57] <MacSlow> veebers, I meant that http://pastebin.ubuntu.com/5914114/
[08:58] <MacSlow> veebers, you can ignore/delete the example.* parts
[08:58] <veebers> mzanetti: hmm I seem ed to have screwed something up I can see my history of that branch :-\
[08:59] <mzanetti> veebers: yeah... something weird seems to have happened... might have been me tho
[08:59] <veebers> MacSlow: right the script that we're talking about would be like that except it wouldn't have action_decline_1, action_decline_2, it would just have one callback and it would just output/print/something the action_id that the callbakc was called with
[08:59] <veebers> mzanetti: hmm odd
[09:00] <MacSlow> veebers, ok
[09:00] <veebers> mzanetti: I'm wondering if you did something odd. bzr qlog shows only commits from mirco and yourself
[09:01] <mzanetti> veebers: well, I had mirco's branch here and merged your's into it... did some small changes and pushed it to yours... probably that screwed it up
[09:01] <mzanetti> veebers: altough I don't see why...
[09:01] <mzanetti> sorry for that
[09:01] <mzanetti> but the code is still there... its "just" the history
[09:02] <veebers> ah that branch of mine was the one you pushed to, right? so you took . . . yeah exactly, all condensed into one commit ;-)
[09:02] <mzanetti> hmpf
[09:02] <veebers> mzanetti: so even with your changes it's not working as expected?
[09:02] <veebers> mzanetti: ^_^
[09:03] <mzanetti> veebers: no... its a bit better... but the triggered notification doesn't seem to be interactive in most of the cases
[09:03] <mzanetti> veebers: my change didn't touch that tho
[09:03] <veebers> man, I feel like a coffee but we only have espresso and it's late. First world problems
[09:03] <veebers> ah but tis friday, so coffee time it is I think gents
[09:03] <mzanetti> veebers: all I did was to replace the lambda for get_notification() with some normal assertThat(notifications.count, eventually(equals(1)))
[09:04] <mzanetti> seems to make it more reliable ^
[09:04] <veebers> mzanetti: hmm, so are we confident that the notification not being interactive is due to something in the notification helper and definiately not in unity8/notifications/something ?
[09:04] <mzanetti> veebers: I did like 10 test runs with the command line tool and it worked 100%
[09:05] <mzanetti> veebers: so I'd say yes... but don't have any proof for it (i.e. I don't know why the helper wouldn't work)
[09:06] <Cimi> mzanetti, from the gsettingscontroller class
[09:06] <Cimi> how do I access the other gsettingsqml object?
[09:06] <Cimi> I need a reference/pointer
[09:06] <mzanetti> Cimi: as the controller is a singleton you can get to it from the gsettings classes
[09:07] <mzanetti> Cimi: in the gsettings constructor do a controller::instance()->registerSettingsObject(this)
[09:07] <Cimi> mzanetti, I created Gsettingsconroller::setpictureuri()
[09:07] <mzanetti> Cimi: in the controller hold a QList of all the registered settings objects
[09:07] <veebers> mzanetti: ok, I'm hacking together a quick script so we can try that approach out
[09:07] <mzanetti> Cimi: and in setpictureUrl() do a foreach() loop over all the registered objects and update their url
[09:08] <mzanetti> veebers: cool. I'll help Cimi in the meantime
[09:08] <veebers> mzanetti: ack
[09:09] <Saviq> Cimi, can you tackle https://bugs.launchpad.net/unity8/+bug/1205094 please
[09:09] <Saviq> tsdgeos, could you look at https://bugs.launchpad.net/unity8/+bug/1205097 quickly to see where the problem lies?
[09:09] <mzanetti> Saviq: I see the same in the quicklist... seems an issue in the Popover I'd say?
[09:10] <Saviq> mzanetti, possible
[09:10] <Cimi> Saviq, got a mail, yup
[09:10] <tsdgeos> Saviq: i was going to now, but the phone just ran out of battery
[09:10] <Saviq> mzanetti, /me checks gallery
[09:10] <Saviq> tsdgeos, excuses excuses! :P
[09:10] <tsdgeos> the damn unity-mir thing doesn't have suspend or anything
[09:10] <tsdgeos> Saviq: is that repro on the desktop?
[09:10] <tsdgeos> should be
[09:10]  * tsdgeos tries
[09:10] <Saviq> tsdgeos, not
[09:10] <Saviq> tsdgeos, we don't have app management on desktop
[09:11] <tsdgeos> ah
[09:11] <tsdgeos> :-/
[09:11] <Saviq> tsdgeos, so we'll never tell hud what app is focused
[09:11] <tsdgeos> we (unity8) never do on the phone either
[09:11] <Saviq> tsdgeos, right, so maybe it would be
[09:11] <Saviq> tsdgeos, but then... it's unity8 that's focused
[09:12] <Saviq> tsdgeos, and unity8 doesn't have HUD actions then
[09:12] <Saviq> tsdgeos, so somehow you'd need to trick HUD into looking at a different app
[09:12] <tsdgeos> right
[09:12] <tsdgeos> hud used to be smart enough to do that
[09:12] <tsdgeos> it ignored its clients
[09:13] <tsdgeos> anyway, let me phablet-flash and get out of the unity-mir world
[09:13] <tsdgeos> and i'll try to find out what broke
[09:17] <Saviq> Cimi, there's also one more issue with the popover http://ubuntuone.com/4249DjbGl6QiOVaTxHOdsU
[09:17] <Saviq> Cimi, see where the pip is
[09:17] <Cimi> Saviq, weird we have those issues
[09:17] <Cimi> Saviq, I'll check it out
[09:17] <Saviq> Cimi, thanks
[09:17] <Saviq> Cimi, the pip is fine on manta, btw
[09:18] <Cimi> don't have it
[09:18] <Cimi> only ma+guro
[09:18] <Saviq> Cimi, that's fine, it's the same on desktop
[09:18] <Saviq> Cimi, just resize your window
[09:20] <Saviq> mzanetti, Cimi the example from file:///usr/share/ubuntu-ui-toolkit/doc/html/qml-ubuntu-components-popups0-popover.html works fine
[09:20] <Saviq> Cimi, mzanetti I expect it's our theme's fault
[09:20] <mzanetti> Saviq: yeah... sounds reasonable
[09:21] <mzanetti> Saviq: look what I just found: http://kdeblog.mageprojects.com/2013/07/13/qml-dragdrop-support-is-about-to-become-a-lot-better-accepting-external-drop-events/
[09:21] <Cimi> mzanetti, what's the argument of the registerSettingsObject?
[09:22] <mzanetti> GSettingsQml
[09:22] <Cimi> QObject obj or *obj?
[09:22] <mzanetti> *
[09:22] <Cimi> ok
[09:22] <Saviq> Cimi, yeah http://pastebin.ubuntu.com/5914173/
[09:22] <Cimi> mzanetti, I am confused with those QString...
[09:22] <Saviq> Cimi, it's a theming issue
[09:22] <Cimi> and objects, sometimes they need the pointer sometimes not
[09:22] <Saviq> Cimi, probably an SDK bug then
[09:22] <mzanetti> Cimi: what QString?
[09:22] <Saviq> Cimi, filing another one for the pip
[09:23] <Cimi> mzanetti, sometimes I notice there is the * sometimes not
[09:23] <Cimi> maybe I am confused
[09:23] <mzanetti> Cimi: you should rarely need a QString*
[09:23] <mzanetti> Cimi: but always use QString&
[09:23] <mzanetti> :P
[09:24]  * mzanetti parla arabo con Cimi
[09:24] <mzanetti> Cimi: nevermind... just do what you think is ok, push it and I'll review and explain
[09:28] <Cimi> mzanetti, I'll do that the compiler thinks is ok :-P
[09:28] <Cimi> *what
[09:29] <mzanetti> Cimi: well, with C++ there are always like 50 good ways to do it and 500 bad ways but still compiling ways :D
[09:29] <Saviq> Cimi, bug #1205257 now
[09:29] <Saviq> Cimi, I reassigned the other one to the SDK
[09:46] <tsdgeos> Saviq: what's wrong with the hud? i just started the phone app, opened the hud and get quit/compose/add in the hud actions
[09:46] <tsdgeos> certainly the highlighting doesn't work though
[09:46] <veebers> mzanetti, MacSlow : hmm, i have maybe a silly question, if I have a script that has "loop = Glib.Mainloop.new(None, False); loop.run()" and run that script, I can't kill it w/ Ctrl-C I need to Ctrl-Z and kill %<number>
[09:46] <veebers> is this expected? Can I do something so I can kill it w/ Ctrl-C
[09:47] <Saviq> tsdgeos, how about voice?
[09:48] <tsdgeos> Saviq: that doesn't seem to work
[09:48] <tsdgeos> is that what the bug was about?
[09:48] <Saviq> tsdgeos, yeah, those are the two that Oren reported not working
[09:48] <Saviq> tsdgeos, not really, I didn't see it working at all
[09:48] <tsdgeos> well, then we have a problem with "working at all" :D
[09:48] <Saviq> tsdgeos, can you try and beat some sh*t out of the hud
[09:48] <tsdgeos> woot
[09:49] <tsdgeos> the hud has grown a button margin :D
[09:49] <mzanetti> veebers: I have no clue about Glib.Mainloop
[09:49] <veebers> mzanetti: cool, sorry
[09:49] <mzanetti> veebers: mostly because I always try to avoid it exactly because it has such weirdness all over the place
[09:49] <tsdgeos> let me fix the button margin first
[09:49] <veebers> mzanetti: that sounds like a smart way to live :-)
[09:50] <Saviq> tsdgeos, yeah I saw that - prolly sdk / theming
[09:50] <tsdgeos> Button -> AbstractBUtton
[09:50] <tsdgeos> like we did everywhere else, no?
[09:50] <mzanetti> veebers: not sure if its smart. but seems to have saved me a lot of pain so far :D
[09:50] <tsdgeos> actually no
[09:51] <tsdgeos> since we don't use a Button there
[09:51] <Cimi> mzanetti, it doesn't find foreach but I have #include <QList>
[09:52] <mzanetti> Cimi: unfortunately we have the nice Qt macros disabled so you need to use Q_FOREACH() or a regular for() loop.
[09:52] <Cimi> ok
[09:54] <Saviq> tsdgeos, hmm I just flashed 0725.1 on manta and no hud in sight :/
[09:54] <tsdgeos> get yourself a mako :D
[09:54] <Saviq> tsdgeos, just flashed maguro now, too, checking
[09:55] <Cimi> mzanetti, compiles :D
[09:55] <mzanetti> Cimi: \o/
[09:55] <Cimi> mzanetti, now let's wait the expected crash :D
[09:55] <mzanetti> heh...
[09:55] <Saviq> tsdgeos, yeah, nothing on maguro either
[09:56] <tsdgeos> that is weird :-/
[09:56] <Cimi> mzanetti, s this correct or I need to clear the list in a different way to avoid leak? http://paste.ubuntu.com/5914255/
[09:56] <tsdgeos> Saviq: you get the hud button but upon release you get nothing?
[09:56] <tsdgeos> or empty stuff?
[09:57] <Saviq> tsdgeos, empty
[09:57] <Saviq> tsdgeos, just the four disabled toolbar items
[09:57] <tsdgeos> which app?
[09:58] <mzanetti> Cimi: first, don't clear the list or it would work only once
[09:58] <Cimi> mzanetti, I'm clearing the copy
[09:58] <Saviq> tsdgeos, phone, gallery, gallery in image
[09:58] <Saviq> tsdgeos, all empty
[09:58] <mzanetti> Cimi: right... don't make a copy :D
[09:58] <tsdgeos> Saviq: do you have hud-service running?
[09:59] <mzanetti> Cimi: but this reminds me that you should have a unregisterObject() too where you remove it from the list and you call that from the destructor of the GSettingsQml class
[09:59] <Saviq> tsdgeos, yeah checking that now
[09:59] <Cimi> yeah
[09:59] <mzanetti> Cimi: otherwise it would crash at some point, yes
[09:59] <Cimi> mzanetti, new issue
[09:59] <Cimi> mzanetti, how do I initialise GSettingsController
[10:00] <Cimi> mzanetti, adding GSettingsController under Shell ()
[10:00] <Cimi> complains it's not creatable
[10:00] <mzanetti> Cimi: and as I always like to KISS (keep it short and simple), here's the simplified version that does the same but faster: http://paste.ubuntu.com/5914269/
[10:01] <Saviq> tsdgeos, yeah, it's there
[10:01] <Cimi> mzanetti, already did that :P
[10:01] <tsdgeos> Saviq: :/
[10:01] <mzanetti> Cimi: you can just use it there as GSettingsController.setPictureUri(foobar)
[10:01] <mzanetti> Cimi: grep the code for "LauncherModel" for example. Thats a singleton too
[10:01] <Cimi> ah ok
[10:02] <Saviq> tsdgeos, you on 0725.1?
[10:02] <Cimi> mzanetti, I was creating the component, setting an id, and using the id
[10:02] <Cimi> mzanetti, thinking was created by the plugin
[10:02] <tsdgeos> Saviq: how do i check?
[10:02] <Saviq> tsdgeos, did you flash with --pending?
[10:02] <tsdgeos> no
[10:02] <Saviq> tsdgeos, right, so you're on 0716
[10:02] <Saviq> or 22
[10:03]  * Saviq tries
[10:03]  * tsdgeos missed the mail about --pending :-/
[10:03] <tsdgeos> what does --pending mean?
[10:03] <mzanetti> tsdgeos: I think it flashes the latest, even though if its not tagged as a "good" one
[10:04] <mzanetti> but I missed that mail too
[10:04] <tsdgeos> ok, so let's restart the flashing all over again
[10:04] <tsdgeos> ...
[10:04] <davmor2_> tsdgeos: --pending flashes daily only do this if you know the image is good
[10:08] <mzanetti> nic-doffay: here you go: http://paste.ubuntu.com/5914285/
[10:09] <mzanetti> next one!
[10:09] <mzanetti> ;)
[10:09] <nic-doffay> mzanetti, why didn't the binding work?
[10:11] <mzanetti> nic-doffay: because the binding was set for all the scopes
[10:11] <mzanetti> nic-doffay: which means they all fight for the state
[10:11] <mzanetti> nic-doffay: it might work if written outside the loader
[10:12] <nic-doffay> mzanetti, nice one, confirmed it works.
[10:12] <nic-doffay> Minimised it to one line though.
[10:12] <mzanetti> nic-doffay: something like this: interactive: Qt.binding(function() { return currentItem.item.selectorVisible; })
[10:12] <mzanetti> nic-doffay: can you give this one a shot? ^
[10:12] <nic-doffay> mzanetti, I see and yeah giving, going to give it a go...
[10:12] <mzanetti> nic-doffay: misses a !
[10:13] <mzanetti> to invert the logic...
[10:14] <nic-doffay> mzanetti, it does work, but it sort of conflicts with the loading bool.
[10:15] <nic-doffay> So I'm keeping it on the loader instead.
[10:15] <mzanetti> nic-doffay: what's the loading bool?
[10:15] <nic-doffay> dashContent.scopes.loaded
[10:15] <mzanetti> nic-doffay: how about this:
[10:16] <mzanetti> interactive: dashContent.scopes.loaded && ! Qt.binding...
[10:21] <nic-doffay> mzanetti, that's what I tried.
[10:31] <mzanetti> Cimi: working?
[10:31] <MacSlow> veebers, odd
[10:31] <Cimi> mzanetti, writing the test
[10:39] <Cimi> mzanetti, small issue
[10:39] <Cimi> mzanetti, so I am trying to check the image was changing
[10:39] <Cimi> mzanetti, so I was trying to see if the url of the source of crossfadeImage was changing
[10:40] <Cimi> mzanetti, I need to convert the url into a string
[10:40] <Cimi> so I can use indexOf and see if it contains the path I need
[10:42] <Cimi> who knows how to convert url to a string?
[10:42] <Cimi> toString
[10:42] <Cimi> lol
[10:43] <mzanetti> Cimi:  doesn't the url have a toString()?
[10:44] <Cimi> mzanetti, indeed it has ^^
[10:53] <mzanetti> Saviq: are you aware of any activities regarding the SIM pin?
[10:55] <Saviq> mzanetti, yeah, you can do it in a terminal already
[10:56] <mzanetti> Saviq: I mean a qml plugin that I can hook up to the pin entry
[10:56] <Saviq> mzanetti, then no, I don't think so
[10:56] <mzanetti> Saviq: I can do that, especially since I'm sort of blocked on the launcher until vesa and antti are back from vacation
[10:57] <mzanetti> Saviq: just wanted to make sure theres not someone else working on it already
[10:57] <Saviq> mzanetti, but I think it's lightdm's territory
[10:57] <Saviq> mzanetti, you should only talk to lightdm when entering the pin
[10:57] <Saviq> mzanetti, and it should do its things
[11:01] <Cimi> daaamn so many text conflicts
[11:01] <Cimi> :(((
[11:02] <Cimi> this is brilliant http://i.imgur.com/mjVN8vA.jpg
[11:04] <dednick> larsu: what are you going to offer in the unitymenumodel in terms of the action?
[11:04] <mzanetti> Saviq: hmm... mterry and me discussed that and I think thats not the right solution
[11:04] <mzanetti> Saviq: well, dunno
[11:05] <larsu> dednick: I just introduced a "state" role which will give you the action state
[11:05] <Saviq> mzanetti, it needs to be like that if lockscreen is in the greeter anyway
[11:05] <larsu> dednick: I think I'm done, but haven't uploaded because qml doesn't like me
[11:05] <Saviq> mzanetti, I simply think it should be a separate PAM module that authenticates you against the SIM card in that case...
[11:05] <tsdgeos> Saviq: confirmed --pending image is broken
[11:05] <Saviq> mzanetti, if it's not desirable for some reason, I'm listening
[11:05] <tsdgeos> Saviq: regarding hud
[11:06] <Saviq> tsdgeos, yup
[11:06] <tsdgeos> going to do some investigation now
[11:06] <dednick> larsu: that has the icon, label, etc in it for the root element right?
[11:06] <mzanetti> Saviq: hm... not really see why that would go through pam... the sim pin and the lock pin are different things
[11:07] <mzanetti> Saviq: what if you insert a sim at runtime when pam auth has already happened?
[11:07] <larsu> dednick: exactly
[11:07] <Saviq> mzanetti, well, you're not un-authenticated of course
[11:08] <Saviq> mzanetti, I don't know the design, but I imagine people would like to be able to authenticate with the same PIN to unlock the SIM and the phone
[11:08] <Saviq> mzanetti, and not having to do it twice
[11:09] <Saviq> mzanetti, I think it's a UX question
[11:09] <mzanetti> Saviq: usually those are 2 different things... of course some sort of single-sign-on would be nice, but we definitely need to support both cases
[11:09] <Saviq> mzanetti, yes - both cases of course
[11:09] <mzanetti> Saviq: as the sim pin is only numerical and the phone lock can be alphanumeric
[11:10] <Saviq> mzanetti, didn't we already discuss it btw? ;)
[11:10] <Saviq> mzanetti, we could store the SIM PIN in the keyring
[11:10] <Saviq> mzanetti, but then exactly because the unlock PIN and the phone lock PIN are both 4-numbers
[11:10] <Saviq> mzanetti, I don't think it would be good to keep them separate
[11:10] <Saviq> people would not understand it
[11:11] <mzanetti> Saviq: the unlock pin might not always be 4 digits
[11:11] <Saviq> mzanetti, mhm
[11:11] <mzanetti> Saviq: the N9 for example presents you a blue pinentry dialog for the lock code and the green one for the SIM pin
[11:11] <mzanetti> Saviq: and that's the same for all phones I've been using so far
[11:12] <mzanetti> not the colors of course... but the fact that they are separate.
[11:12] <Saviq> mzanetti, I haven't had a SIM PIN enabled for a few years now ;)
[11:12] <mzanetti> so I think we need to handle them separately and in case we store the sim pin in the wallet just don't pop up the second dialog
[11:13] <Saviq> mzanetti, ok then - still not something for a QML plugin
[11:13] <Saviq> mzanetti, it should be handled same as WiFi password
[11:13] <Saviq> mzanetti, via a system dialog / notification
[11:13] <mzanetti> Saviq: well, we need at least a qml plugin to change the pin from the settings app?
[11:13] <Saviq> seb128, what's your say ↑?
[11:14] <Saviq> mzanetti, yeah, since when are *we* doing the settings app? ;)
[11:14] <mzanetti> hehe
[11:14] <Saviq> mzanetti, https://bugs.launchpad.net/unity8 if you're bored :P
[11:14] <mzanetti> Saviq: Just saying... it'd be dumb if we write some stuff for it and the settings people start from scratch again
[11:14] <Saviq> mzanetti, yeah, but we're not going to write it, so we're good :)
[11:15] <mzanetti> Saviq: cool, I'll check it out. I'm indeed a bit bored (as I can't really continue on the launcher right now)
[11:15] <Saviq> mzanetti, there's also enough reviews for all of us I think
[11:15] <Saviq> mzanetti, no time to be bored
[11:15]  * Saviq takes out a whip
[11:15] <mzanetti> Saviq: they are all claimed by someone
[11:15] <Saviq> *crash8
[11:15] <seb128> Saviq, mzanetti: sure, we can add an UI for PIN stuff, but we need a design for it
[11:16] <Saviq> seb128, there isn't one?
[11:16] <seb128> Saviq, no, https://wiki.ubuntu.com/SystemSettings has "Phone, including SIM services"
[11:16] <seb128> Saviq, which points to https://wiki.ubuntu.com/PhoneApp#Settings
[11:16] <seb128> but nothing there has design for PIN
[11:16] <Saviq> seb128, that looks like an omission
[11:17] <seb128> mpt, ^
[11:17] <larsu> dednick: so the issue I'm facing is that qt is never calling QAbstractItemModel::data() for the new role I've just added. It works for all other roles. Any idea how to debug that?
[11:17] <Saviq> mzanetti, btw https://wiki.ubuntu.com/SecurityAndPrivacySettings#Phone_locking
[11:17] <Saviq> mzanetti, "4-digit PIN"
[11:17] <larsu> dednick: it's in roleNames(), and qml doesn't complain about a undefined identifier. So it picks that up
[11:18] <mpt> Saviq, that's different from SIM PIN
[11:18] <Saviq> mpt, yeah, just saw https://wiki.ubuntu.com/SecurityAndPrivacySettings#SIM_PIN
[11:18] <Saviq> seb128, ↑
[11:18] <mpt> right
[11:18] <mpt> Fresh off the drawing board yesterday
[11:18] <Saviq> mpt, don't you think people will get confused between a 4-digit phone lock PIN and a separate 4-digit SIM PIN?
[11:18] <mzanetti> so we support only 4 digit pins? you know that there are services that require >=6 digits by specification. for example microsoft exchange
[11:19] <seb128> Saviq, oh, doh, that got added yesterday
[11:19] <mpt> Saviq, I do, yes.
[11:19] <seb128> Saviq, thanks
[11:19] <Saviq> mzanetti, for that there's password, right?
[11:19] <Saviq> mzanetti, you can have a 6 digit password
[11:19] <dednick> larsu: hm. i was seeing that the other day with the old model we use and couldn't quite work it out. what value is it giving when you do "model.state" from qml?
[11:19] <mzanetti> hmm... would work I guess, altough not really nice imho.. but ok
[11:19] <Saviq> mpt, that's why I was feeling like the PIN locking should be tightly coupled to passphrase lock
[11:20] <Saviq> mzanetti, and let's face it - 6-digit PIN isn't much better than a 4-digit one is it ;)
[11:20] <larsu> dednick: an empty string
[11:20] <mpt> Saviq, or just rename the 4-digit PIN to something else, e.g. "keycode", "passcode"
[11:20] <Saviq> mpt, at least
[11:20] <Saviq> mpt, erm
[11:20] <larsu> dednick: is there a limit on the amount of roles?
[11:21] <Saviq> mpt, I said that wrong  " that's why I was feeling like the PIN locking should be tightly coupled to SIM PIN lock"
[11:21] <Saviq> mpt, that's what I meant ↑
[11:21] <dednick> larsu: not sure. give me a sec and i'll try inserted one quick into mine.
[11:21] <seb128> mpt, on https://wiki.ubuntu.com/SystemSettings ... should "Phone, including SIM services" be update to not have "including SIM service", since it's not under the phone section (which is a bit weird)
[11:22] <mpt> Saviq, I knew what you meant, but I disagree ... You might have stuff on your phone you want to protect while it doesn't even have a PIN in it. (Especially if it's a tablet.)
[11:22] <mpt> Saviq, doesn't even have a SIM in it, I mean.
[11:22] <mzanetti> +1 ^^
[11:22] <dednick> larsu: i dont think you can call it "state". :)
[11:23] <dednick> there's already a qml property called that
[11:23] <Saviq> mpt, mzanetti that would still work if the device PIN lock was a "master" lock that happened to unlock the SIM, too
[11:23] <mzanetti> dednick: larsu: you should still be able to access with "model.state"
[11:23] <dednick> it's probably fetching it from the delegate
[11:23] <mzanetti> dednick: larsu: still not nice to produce such name collisions if it can be avoided
[11:23] <Saviq> mpt, also, do we (not) want to store the SIM PIN in a keyring (only if device locking is enabled)?
[11:23] <larsu> dednick: argh. thanks.
[11:23] <larsu> mzanetti: ya, I was getting it through the delegate
[11:23] <mpt> seb128, SIM services are indeed under the Phone section.
[11:23] <dednick> larsu: i havent verified
[11:24] <seb128> mpt, ?!
[11:24] <larsu> mzanetti: how can I avoid name collitions if I'm forced to use the same namespace?
[11:24] <mpt> Saviq, but then they'd get out of sync when you swapped SIMs or used the SIM in a different device.
[11:24] <mpt> seb128, https://wiki.ubuntu.com/PhoneApp#Settings
[11:24] <mzanetti> larsu: by not naming the role "state" :D
[11:24] <larsu> mzanetti: tbh, the whole delegate handling in qml is much too magic
[11:24] <seb128> mpt, why are they on the privacy... oh, call diversion is a SIM service?
[11:25] <mzanetti> larsu: I don't think it is... can I help you with anything (explaingin something) ?
[11:25] <larsu> mzanetti: how am I supposed to know that that already exists?!
[11:25] <mzanetti> larsu: because every QML item has a property named "state"
[11:25] <seb128> mpt, I guess I'm just enough of a phone nerd to understand all the meaning of SIM, ignore me
[11:25] <veebers> mzanetti, MacSlow|lunch: ping
[11:26] <mzanetti> veebers: pong in one minute
[11:26] <veebers> mzanetti: ack
[11:26] <Cimi> mzanetti, Saviq https://code.launchpad.net/~unity-team/unity8/unity8.background_gsettings/+merge/174958
[11:26] <mpt> seb128, it says "including", not "comprising" :-P
[11:26] <mzanetti> larsu: https://qt-project.org/doc/qt-5.0/qtquick/qquickitem.html
[11:26] <mzanetti> Cimi: Saviq: will review in a bit
[11:26] <seb128> mpt, well there is 0 mention of "SIM" on the phone page, I didn't realise things like "horoscope" were "SIM services"
[11:26] <mzanetti> veebers: pong now :D
[11:26] <mpt> seb128, I understand that call diversion and call waiting are not SIM services.
[11:27] <larsu> mzanetti: I guess plus all the properties of the delegate?
[11:27] <larsu> mzanetti: the real problem is that this is incredibly hard to debug
[11:28] <mzanetti> larsu: yeah. everything inherits QQuickItem (very few exceptions - ignore them for now)
[11:28] <mzanetti> larsu: in the background this is standard C++ with inheritance
[11:28] <veebers> mzanetti: hey, I just pushed up my changes with the changes we discussed (took me longer than expected :-\)
[11:28] <Saviq> mpt, I know they would - I'm just really asking questions - not trying to push solutions :)
[11:28] <veebers> mzanetti: would you be able to take a look and ensure that it works for you and or you think it'll suite
[11:28] <Saviq> mpt, but I agree, at least a rename of the PIN locking are needed
[11:29] <larsu> mzanetti: right, I understand that. I just think putting role names in the same namespace is suboptimal :)
[11:29] <mzanetti> larsu: I agree it has some pitfalls at the beginning. but once you got a grasp on it its amazingly simple
[11:29] <mzanetti> larsu: no... not saying you should put them in a namespace... just don't name it simply "state" but rather something like "networkState" (in case of the network delegates for example)
[11:30] <larsu> mzanetti: what happes if a future version of qt adds a networkState property to qquickitem?
[11:30] <mzanetti> larsu: and in case you can't/don't want to avoid the name collision you can access the model's roles in the delegate through "model.rolename"
[11:31] <larsu> mzanetti: ah, that's much better!
[11:31] <mzanetti> larsu: unlikely I'd say... but sure, that would cause your code to break. so it might make sense to always use model.rolename
[11:31] <mzanetti> veebers: checking out your stuff now
[11:31] <veebers> mzanetti: awesome, cheers
[11:33] <mpt> seb128, zero mention apart from the heading that says "SIM Services". :-P
[11:34] <seb128> mpt, DOH ;-)
[11:34] <mzanetti> larsu: btw your argument is also valid for other stuff. for example Qt defines a "foreach" macro and if I'm not mistaken boost does so too. Now the C++0x standard defines that too...
[11:34] <mzanetti> I guess that's the downside of getting updates :)
[11:34] <seb128> mpt, btw the list of services in that section seems a bit random, is that supposed to be hardcoded, or coming from the SIM itself?
[11:35] <mpt> seb128, it comes from the SIM. Mine has "Traffic Line", which might be useful if I had a car.
[11:36] <mzanetti> veebers: hmm... failed with the Xlib sequence thingie
[11:36] <veebers> mzanetti: what, really? which test are you running?
[11:36] <mzanetti> veebers: unity8.shell.tests.test_notifications.TestNotifications.test_interactive
[11:36] <veebers> mzanetti: fyi I only updated test_simple_interactive
[11:36] <mzanetti> ack
[11:37] <MacSlow> veebers, poing... just reading the backlog...
[11:37] <veebers> mzanetti: oh and d;oh didn't remove the other notification_helper stuff sorry :-\
[11:37] <mpt> seb128, so by including "Horoscope" I'm joking a little, in the same way as calling the carriers "Aubergine" and "Pi UK"
[11:37] <veebers> MacSlow: hey, good lunch? :-) Was just saying have pushed my changes and was hoping to get you guys to have a look and let me know if you were comfortable with work with it
[11:37] <MacSlow> veebers, pull atm...
[11:38] <seb128> mpt, I see ;-)
[11:38] <seb128> mpt, I can't even find those services on my android phone
[11:38] <mzanetti> veebers: are you dropping the old stuff?
[11:38] <veebers> mzanetti: yeah will be, just didn't do it in this commit
[11:38] <seb128> mpt, I wonder where they hide them :p
[11:39] <MacSlow> veebers, mzanetti: looking good here... both scenarios pass
[11:40] <mzanetti> can't believe it until I see it :D
[11:40] <MacSlow> veebers, mzanetti: I'll work that up extending it to a snap-decision too
[11:40] <larsu> mzanetti: well, c++ is a major version upgrade and requires a recompilation of your program. I could break an app by installing a minor update to qt (if they added networkState), without even touching my app
[11:40] <MacSlow> mzanetti, I can make a screencast...
[11:40] <larsu> mzanetti: so really, in this case adding a property would be an API break
[11:41] <mzanetti> larsu: yeah... I agree. the QQuickItem api didn't change since the first release tho. so I'd say it should be pretty save to rely on it except maybe when Qt6 comes around
[11:42] <veebers> MacSlow. mzanetti: if you're both happy with that update, then I'll take off for the night
[11:42] <larsu> mzanetti: ah okay, that makes it a bit better. I'd still prefer that "model." was the only way :)
[11:42] <mzanetti> larsu: but in general you suffer from this issue everywhere you use inheritance, no? if the base class changes and adds a method/property/whatever which you already had in a subclass you're there
[11:43] <tsdgeos> Saviq: and now it's working :-S
[11:43] <Saviq> tsdgeos, yeah, that's what I experienced
[11:43] <Saviq> tsdgeos, it's quite random
[11:43] <MacSlow> veebers, it's working for me here... I still need to add the "dbus-launch" thing
[11:43] <veebers> MacSlow: ah yes, but my intention was to have something that created interactive notifications :-)
[11:44] <mzanetti> veebers: *applause*
[11:44] <mzanetti> veebers: thanks a bunch and enjoy your weekend!
[11:44] <MacSlow> veebers, I'll do that dbus-laucn thing... thanks a lot... party hard! :)
[11:44] <Saviq> MacSlow, mzanetti, veebers I hope we're only dbus-launching for the notifications test do we?
[11:44] <veebers> mzanetti: cool, I'm glad this solution works (finally)
[11:44] <MacSlow> Saviq, yes it will be restricted to those
[11:44] <veebers> Saviq: yes
[11:44] <mzanetti> Saviq: yeah. and I actually vote for launching it for every test case and stopping it after every test case
[11:44] <larsu> mzanetti: yeah, that's true.
[11:44] <veebers> mzanetti: +1
[11:45] <mzanetti> Saviq: i.e. not even only for the notifications suite
[11:45] <mpt> seb128, I don't know, but here's a screenshot of SIM services on Android, and it really truly contains horoscopes. http://forum.vodafone.co.uk/t5/image/serverpage/image-id/1235iB554778AAC31120D/image-size/original?v=mpbl-1&px=-1
[11:45] <MacSlow> Saviq, mzanetti: first I'll do it in the setUp()/tearDown() for hte notification tests
[11:45] <veebers> mzanetti: oh, perhaps -1 then :-P why for all tests?
[11:46] <veebers> mzanetti, MacSlow: right I'm off, time for a beer. Sorry it took so long to get to this point :-\
[11:46] <mzanetti> only in setUp()/tearDown() for the notifications I'd say and afaik they are called for each test case anyways. so that should be fine
[11:46] <mpt> seb128, actually, I'm wrong, that's BlackBerry. :-)
[11:46] <Saviq> mzanetti, veebers, MacSlow k!
[11:46] <veebers> MacSlow: If you have any other issues/questions fire me an email, I'll be around tomorrow morning
[11:46] <mzanetti> veebers: enjoy your beer! now go away! thanks again!
[11:46] <veebers> mzanetti: ^_^ o/
[11:47] <seb128> mpt, googling only returns me sim info apps from the google play
[11:47] <MacSlow> veebers, ok...*high.5*
[11:47] <mpt> seb128, yeah, I see references to a "SIM Toolkit" app
[11:47] <Saviq> seb128, mpt it's something the carriers add to the SIM
[11:47] <Saviq> seb128, mpt I have "SIMextra" on the N9
[11:47] <seb128> Saviq, yeah, I was trying to see how/where android displays those infos
[11:47] <seb128> Saviq, but I don't find anything in the settings for it
[11:47] <Saviq> seb128, mpt and it's a simple drill-down UI
[11:47] <seb128> Saviq, I'm starting to wonder if they install something for it by default
[11:48] <Saviq> seb128, there's even an erotic horoscope here
[11:48] <seb128> haha
[11:48] <mpt> haha
[11:49] <Saviq> mpt, you should include that in your designs!
[11:49] <Saviq> I wonder if anyone uses that *at all*
[11:50] <Saviq> it took me like 20 taps to get to the actual horoscope
[11:50] <Saviq> seb128, mpt I think the few useful things are like when you can request the APN settings to be sent to the phone
[11:50] <Saviq> not that it works for me here anyway...
[11:51] <Saviq> jeez somebody is probably actually paid to maintain that stuff..
[11:51] <Saviq> yikes 21 invites, that's new...
[11:52] <mpt> seb128, anyway, SIM services is not scheduled for now, so I'd concentrate on the call waiting and diversion :-)
[11:52] <seb128> mpt, yeah, those are higher in the list for sure
[11:56] <seb128> mpt, is it wanted that https://wiki.ubuntu.com/SecurityAndPrivacySettings?action=AttachFile&do=get&target=phone-security-privacy.png doesn't have ">" for "phone locking" or "lock when idle"?
[11:57] <mpt> seb128, that was a mistake. I'm in the middle of redoing that top-level screen, because the "SIM PIN" item was the last straw making it too long.
[11:58] <seb128> shrug
[11:58] <seb128> I better not start on it then
[11:58] <mpt> sorry
[11:58] <seb128> no worry
[11:58] <seb128> mhr3_, hey
[11:58] <seb128> mhr3_, https://wiki.ubuntu.com/SecurityAndPrivacySettings?action=AttachFile&do=get&target=phone-security-privacy-search.png
[11:59] <seb128> mhr3_, do you have a way to tick on/off individual services like in that screenshot (ignore the title, it's "Dash search")
[11:59] <seb128> mhr3_, or just the gsettings key you gave me the other day?
[11:59] <mzanetti> Cimi: who wrote the GSettings plugin?
[12:00] <mhr3_> seb128, we need to clarify that with design, scopes can be enabled disabled in the dash
[12:00] <seb128> mpt, ^
[12:00] <mhr3_> seb128, so for now, let's just do the global switch
[12:00] <seb128> mhr3_, ok, I'm going to start by adding the "phone only/phone and internet" from that dialog, without the sources
[12:00] <mzanetti> Cimi: the naming does not match with conventions. should be qtdeclarative5-gsettings-plugin. Can you forward this to the appropriate people?
[12:00] <mhr3_> seb128, sounds good to me
[12:00] <seb128> mhr3_, thanks
[12:01] <seb128> mzanetti, what?
[12:01] <mzanetti> seb128: the package name does not comply with naming standards for the rest of our packages
[12:02] <seb128> mzanetti, do we care? /me doesn't want to go through a rename/transition
[12:03] <mzanetti> seb128: I just know that like 3 months ago we had all different namings and then something happened so that everyone renamed their plugins
[12:03] <mzanetti> seb128: so I guess if you leave it now at some point someone will show up and complain for real
[12:03] <seb128> mzanetti, ok, alright, I'm going to rename it, thanks for pointing it out
[12:06] <Cimi> mzanetti, larsu
[12:07] <mzanetti> Cimi: thanks. seb seems to take care of it
[12:08] <tsdgeos> thostr_: who's hud nowadays?
[12:09] <thostr_> tsdgeos: Ted
[12:09] <tsdgeos> ok
[12:10] <tsdgeos> i'm suspecting he did some changes that upsets the hud ui
[12:11] <mzanetti> Cimi: do the tests work for you?
[12:11] <mzanetti> Cimi: I get GSettingsController is not defined
[12:12] <Cimi> mzanetti, I rebuild..
[12:13] <Cimi> mzanetti, unless I forgot to import GSettings 1.0 in the tst_SHell.qml
[12:13]  * Cimi checks
[12:14] <Cimi> mzanetti, I added and pushed
[12:14] <Cimi> mzanetti, let me know if works now
[12:17] <Cimi> works here
[12:19] <mzanetti> Cimi: yep. works now
[12:19] <tsdgeos> mhr3_: do we have any dee cli dumper?
[12:20] <mhr3_> tsdgeos, yep, dee-tool
[12:20] <mhr3_> dee-tool -m model_name will dump it
[12:20] <tsdgeos> ok, tx
[12:21] <mzanetti> Cimi: review done
[12:29] <Saviq> mzanetti, if you're bored out of your guts ;) you could try helping mterry in getting the camera and phone into the greeter
[12:29] <Saviq> mzanetti, as it seems it's the only valid approach we'll have for 13.10 - simply loading the apps' QML into a Loader in the greeter
[12:30] <Saviq> mzanetti, but obviously would be good to get mterry's status of this
[12:30] <mzanetti> Saviq: ack.
[12:39] <mzanetti> dandrader: is this still valid? imho works quite nicely since you added the DDA: https://bugs.launchpad.net/unity8/+bug/1130102
[12:41] <dandrader> mzanetti, hmm, I think it will only be fully fixed once we have at least scheme to forward rejected gestures to apps, or, optimally, the accept/reject scheme
[12:41] <mzanetti> dandrader: oh... I thought that would already be there
[12:42] <mzanetti> dandrader: ok then. nvm
[13:03] <larsu> dednick: sorry for the delay, had an unexpected meeting
[13:03] <larsu> dednick: patch is done, except that Q_EMIT(dataChanged()), does't work
[13:03]  * larsu investigates
[13:03] <dednick> larsu: ok. is it in LP yet?
[13:05] <larsu> dednick: it is now :)
[13:06] <dednick> larsu: :) ta. i'll take a look in a sec
[13:11] <mhr3_> Trevinho, andyrock, bregma, getting http://paste.ubuntu.com/5914789/ with latest nux/unity in S
[13:12] <larsu> mzanetti: when a single row in my model changes, I'm emitting dataChanged(QModelIndex(pos, 0), QModelIndex(pos, 0)). Is that right?
[13:12] <larsu> mzanetti: qml doesn't seem to pick that up
[13:13] <mzanetti> larsu: sounds correct.
[13:13] <mhr3_> well, S nux and trunk unity
[13:13] <mzanetti> larsu: oh no
[13:13] <mzanetti> larsu: you're creating a new QModelIndex which is not from this model
[13:13] <mzanetti> larsu: try this:
[13:13] <mzanetti> emit dataChanged(index(pos), index(pos))
[13:13] <larsu> mzanetti: ya, sorry, that's actually what I'm doing
[13:14] <larsu>     Q_EMIT model->dataChanged(model->index(position, 0), model->index(position, 0));
[13:14] <mzanetti> larsu: hmm... should work I'd say. can I see the branch?
[13:15] <larsu> mzanetti: sure: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/libqmenumodel/src/unitymenumodel.cpp#L238
[13:15] <larsu> mzanetti: can I emit signals from outside the class? This is in a C callback...
[13:15] <andyrock> mhr3_, how did you get that?
[13:16] <mhr3_> andyrock, closed a preview
[13:17] <andyrock> mhr3_,  do you get it all the time?
[13:17] <andyrock> or is it random?
[13:17] <mzanetti> larsu: should work I'd say... signals are just public functions and Q_EMIT is actually defined to nothing
[13:17] <mhr3_> not sure if all the time, but it's not hard to hit
[13:17] <andyrock> ok
[13:17] <mzanetti> larsu: the G stuff is black magic to me so no clue whats happening in there
[13:17] <mhr3_> andyrock, hm, well, pretty much all the time
[13:17] <mzanetti> larsu: you sure the position is correct?
[13:18] <larsu> mzanetti: yes, the position is correct (I even tried emitting dataChanged for (0, nrRows)
[13:18] <mzanetti> hmm... must be.. as its used to get the item itself too
[13:18] <mzanetti> larsu: still nothing, even if you emit it for all the rows?
[13:19] <larsu> mzanetti: yep :(
[13:20] <mzanetti> larsu: you sure the contents in the model are updated? I don't see that happening here (but as I said... lots of stuff I don't understand in here)
[13:20] <andyrock> mhr3_, ok I'm building nux trunk
[13:20] <larsu> mzanetti: yeah, I have a qDebug in there
[13:20] <mhr3_> andyrock, S nux is enough
[13:20] <tsdgeos> tedg: hi, did you do any change to the hud recently?
[13:20] <mzanetti> larsu: do you have a qDebug() in the model's data() method?
[13:20] <mzanetti> larsu: if dataChanged is emitted it should query data()
[13:21] <larsu> mzanetti: no, good idea, I'll try
[13:21] <tsdgeos> tedg: we are getting bad stuff like https://bugs.launchpad.net/unity8/+bug/1205097 on the dailies
[13:21] <tsdgeos> dailys
[13:21] <tsdgeos> whatever the plural of daily is :D
[13:21] <mzanetti> tsdgeos: dailies
[13:22] <mzanetti> y -> ie in plurals
[13:22] <larsu> mzanetti: data doesn't get called as a result of dataChanged()
[13:22] <tedg> tsdgeos, I think that Wellark did a fix last week-ish... but I don't think it'd be an issue.
[13:22] <tsdgeos> tedg: well, we haven't changed anything in months :D
[13:23] <tsdgeos> maybe something lower in the stack broke?
[13:23] <mzanetti> larsu: connect a private slot inside the model to dataChanged and see if it gets actually emitted
[13:23] <Saviq> tsdgeos, did you manage to confirm where the result highlighting failed?
[13:23] <tedg> tsdgeos, Could it be transition from the HudQt to Unity Actions API?
[13:23] <Saviq> tsdgeos, and if voice works, when hud itself does?
[13:24] <tsdgeos> Saviq: well, on phablet-flash yes it does not work, but not sure "how old that is" and if the feature should be there, if using --pending, nothing works so :D
[13:24] <tsdgeos> Saviq: not sure it makes any sense on investigating the problems on the "old" image if the "new" one is broken++
[13:24] <Saviq> tsdgeos, how about hud-cli? would that get at least the highlighting?
[13:24] <Saviq> tsdgeos, no, of course not
[13:25] <tedg> tsdgeos, That could also be changing platform API.  Are you guys still sending data through there?
[13:26] <tsdgeos> tedg: which data?
[13:26] <tedg> tsdgeos, Window change, new app, etc.
[13:26] <tedg> Basically, is the image still using Surface Flinger.
[13:26] <tsdgeos> the unity8 code does do anything of that
[13:27] <larsu> mzanetti: just tried that, it does get emitted
[13:27] <tedg> It will :-)
[13:27] <tsdgeos> so yes, if that changed/broke it may well be that
[13:27] <tsdgeos> tedg: it will, but it's not using mir yet
[13:27] <tsdgeos> if that was the question
[13:27] <tedg> tsdgeos, Yeah, I wasn't sure where things were there.
[13:27] <larsu> mzanetti: do I need to do anything special in the delegate?
[13:27] <Saviq> tedg, yes, we're still on surface flinger and the "old" ubuntuappmanager
[13:28] <mzanetti> larsu: no... you shouldn't need to.
[13:28] <mzanetti> larsu: try this in QML:
[13:28] <tsdgeos> Saviq: the hud-cli doesn't print highlighting so can't tell about that
[13:28] <mzanetti> larsu: rollback
[13:29] <Saviq> tsdgeos, yup
[13:29] <mzanetti> larsu: add another signal in the model... just a dummy one and emit it somehow
[13:29] <tsdgeos> btw, my notify-osd in the desktop seems as if just crashed
[13:29] <larsu> mzanetti: k, give me a minute
[13:29] <mzanetti> larsu: then in QML: Connections { target: model; onSignal: print("yay! signals from models work") }
[13:30] <mzanetti> larsu: where onSignal is "on<name-of-the-signal>" and "model" is the qml variable name of the model
[13:32] <andyrock> mhr3_, i get a crash too
[13:33] <mhr3_> andyrock, good :)
[13:33] <mhr3_> andyrock, i wonder what changed though, it worked fine two days ago
[13:33] <andyrock> mhr3_, i'm checking that too
[13:34] <larsu> mzanetti: that works, even when I use onDataChanged as the signal
[13:34] <mhr3_> andyrock, although the entire unity stack was pushed to s yesterday
[13:34] <mzanetti> larsu: ok. now it gets werid
[13:34] <mzanetti> weird
[13:34] <mzanetti> larsu: one sec.. reading the docs
[13:34] <larsu> :D
[13:34] <mhr3_> andyrock, still, ap testing didn't have the issue, there are quite a few tests that close previews
[13:36] <andyrock> that's weird indeed
[13:38] <mzanetti> larsu: ok... so the only thing I could imagine now is that at some point you break the binding in QML
[13:38] <mzanetti> larsu: for example:
[13:38] <mzanetti> larsu: initially its like this: Label { text: model.networkStatus }
[13:39] <mzanetti> larsu: and later it happens that you do a text = "somethingElse"
[13:39] <mzanetti> larsu: as soon as you use = the property gets overwritten and the binding is broken up
[13:39] <mzanetti> larsu: other then that... I'm puzzled too
[13:40] <larsu> mzanetti: I'm not doing that. Qml is here: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/examples/unityqmlmenumodel.qml#L76
[13:40] <mzanetti> larsu: ok. one minute. my turn in the standup now
[13:40] <larsu> mzanetti: ha, sorry to keep you from that :)
[13:41] <seb128> mzanetti, https://code.launchpad.net/~seb128/gsettings-qt/rename-binary-package/+merge/177141 btw
[13:42] <seb128> mzanetti, the name in gsettings-qt is right, it's the other ones that are wrong, see the comment from kenvandine on there
[13:43] <mzanetti> seb128: uh... sorry then :/
[13:43] <mzanetti> seb128: I just noticed that all the others now end with "-plugin" except this one
[13:43] <kenvandine> mzanetti, when we figured out how to properly version those packages we changed that
[13:43] <kenvandine> started with the hud plugin
[13:43] <dednick> larsu: got a problem. i need access to the root item action. to get the indicator icon.
[13:43] <kenvandine> and would change them as the modules break api
[13:43] <mzanetti> kenvandine: yeah, I read your comment
[13:44] <dednick> larsu: i think we need a invokable data(int row, string role) function.
[13:45] <larsu> dednick: that's why I just added actionState.... or am I misunderstanding your question?
[13:45] <kenvandine> mzanetti, sorry for any confusion
[13:46] <dednick> larsu: yeah, but i can only access using a listview or repeater.
[13:46] <andyrock> mhr3_, not sure but can be this? http://bazaar.launchpad.net/~unity-team/nux/trunk/revision/802
[13:47] <andyrock> mhr3_, the crash is in the VScrollbar dtor
[13:47] <andyrock> and there TimerObjects there
[13:47] <andyrock> *there are
[13:47] <larsu> dednick: ah, I didn't know that wasn't possible. Can I just declare the data() function as Q_INVOKABLE?
[13:47] <mzanetti> larsu: ok... I might have an idea
[13:48] <larsu> dednick: if not, we'll need another name :)
[13:48] <mzanetti> larsu: re Q_INVOKABLE data(). no that won't work
[13:48] <mzanetti> larsu: there is no QModelIndex in QML
[13:48] <mzanetti> larsu: common practice is to add a Q_INVOKABLE get(int index, const QString &role)
[13:48] <larsu> ah, right
[13:48] <dednick> larsu: it's a list model. only 1 row, no parents
[13:48] <mhr3_> andyrock, hm, maybe that just uncovered the underlying issue, if there was a leak before noone would ever notice that the destruction isn't working properly
[13:48] <dednick> so can just access by row
[13:48] <mzanetti> larsu: regarding your datachanged issue:
[13:49] <larsu> dednick: will add you a get() method as mzanetti proposed
[13:49] <mzanetti> larsu: I suspect it doesn't update because its wrapped in a Component
[13:49] <dednick> larsu: cool. thanks
[13:49] <mzanetti> larsu: add "property string actionState: model.actionState" to the Loader
[13:49] <mzanetti> larsu: and in the component, refer to that one
[13:51] <larsu> mzanetti: nope, same issue
[13:52] <mzanetti> larsu: I'm lost just looking at the code. would need to build/test it myself now
[13:52] <mzanetti> larsu: how easy is it to do that?
[13:53] <larsu> mzanetti: it would be great if you could find the time to do so at some point (doesn't need to be today). I'm a bit lost
[13:53] <larsu> mzanetti: very easy if you're running saucy
[13:53] <mzanetti> larsu: ok.. can you ping me on monday?
[13:53] <mzanetti> larsu: I would need to leave now
[13:53] <larsu> mzanetti: will do. Thanks for your help so far!
[13:53] <mzanetti> larsu: np. talk to you on monday then
[13:54] <Cimi> mzanetti, I fixed what you asked
[13:57] <mzanetti> Cimi: looks good to me... however, as I wrote some code in there, would you mind testing/reviewing the parts I did?
[13:58] <mzanetti> holy crap! I closed mumble but still hear Saviq talking!
[13:58]  * mzanetti is scared
[13:58] <Saviq> lol
[13:58] <tsdgeos> :D
[14:01] <Cimi> mzanetti, only had a concern on the fact that we change gsettings now
[14:02] <Cimi> mzanetti, in case the image is wrong we fallback by setting the key
[14:02] <Cimi> mzanetti, not sure it's correct
[14:02] <Cimi> I think it's better to have a fallback but not resetting the key
[14:03] <mzanetti> Cimi: yeah... I see your point.... Saviq, what's your opinion?
[14:03] <mzanetti> Saviq: if the settings contains an invalid path to a picture.
[14:03] <mzanetti> Saviq: is it ok to change the settings entry to the default picture or should we leave the broken settings entry and just correct in unity?
[14:04] <dednick> Saviq: my behaviour branch is here: lp:~nick-dedekind/unity8/indicators-behaviour.tabs
[14:04] <dednick> Saviq: but it also needs lp:~tpeeters/ubuntu-ui-toolkit/tabbar-expose
[14:04] <Saviq> mzanetti, leave it be
[14:05] <mzanetti> Cimi: ^
[14:05] <Saviq> mzanetti, as the image might only be temporarily unavailable (for a reason I can't think of)
[14:05] <Saviq> dednick, cheer
[14:05] <Saviq> s
[14:05] <mzanetti> Saviq: right. good point
[14:06] <mzanetti> Cimi: ok... can you revert that back somehow please? If you're busy I'll do it on monday. But I have to run now.
[14:23] <Cimi> mzanetti, still here?
[14:23] <Cimi> mzanetti, how about this? http://paste.ubuntu.com/5914997/
[14:23] <Cimi> or Saviq ^
[14:24] <Saviq> Cimi, that won't work since you're unloading the image
[14:24] <Saviq> Cimi, so backgroundImage.status will change
[14:25] <Cimi> I am confused
[14:25] <Saviq> Cimi, I didn't follow the changes
[14:25] <Cimi> ok
[14:25] <Cimi> I'll wait michael
[14:25] <Cimi> Saviq, is he eod?
[14:25] <Saviq> Cimi, but you did have a "testing" image there, right? whose source you set to the gsettings image
[14:25] <mzanetti> Cimi: also, this will break the binding
[14:25] <Cimi> mzanetti, no it won't
[14:26] <Cimi> mzanetti, oh indeed, shell.background
[14:26] <Cimi> yep
[14:26] <Cimi> mzanetti, was thinking of something without adding an extra property
[14:26] <mzanetti> Cimi: I don't have a super-quick answer right now :/
[14:26] <Cimi> ok
[14:26] <mzanetti> Cimi: need to figure on monday
[14:27] <Cimi> ok
[14:27] <mzanetti> Cimi:  you can extend the test to set a broken url and then a good one again btw
[14:27] <Cimi> mzanetti, http://paste.ubuntu.com/5915015/
[14:29] <Saviq> sil2100, http://10.97.0.1:8080/job/autopilot-saucy-daily_release/632/console
[14:29] <Saviq> sil2100, from everything I can read there - check failed on both ati and intel due to jenkins failure :/
[14:32] <mzanetti> Cimi: didn't test it, but reading it its a +1
[14:32] <mzanetti> Cimi: might cause a binding loop tho
[14:32] <Cimi> mzanetti, only concern is the status !== Image.Error
[14:32] <Cimi> mzanetti, not sure it should be == Image.Ready
[14:33] <Cimi> or check for loading/null
[14:33] <Cimi> which loop?
[14:34] <mzanetti> shell.background -> backgroundImage.Status -> shell.background
[14:34] <mzanetti> ...
[14:38] <MacSlow> Saviq, which is the doc to get more familiar the model we want to use for the additional UI-elements... or should I just read some indicator sources?
[14:38] <sil2100> Saviq: ah, hm, ok will look at this as well, since I'm checking problems with the SDK stack now
[14:38] <Saviq> sil2100, thanks
[14:38] <sil2100> Since the check failed by success (tm)
[14:39] <Saviq> dednick, can you point MacSlow to any reading available about gmenumodel / qmenumodel? we want to use it to drive system dialogs (wifi password entry / SIM unlock etc.)
[14:40] <dednick> Saviq: sure
[14:40] <MacSlow> dednick, ok... were is the beef? :)
[14:42] <Saviq> MacSlow, just to recap on "paper" so that we're on the same page - the app would send an interactive notification with a hint identifying where the model for the dialog can be found (it's probably going to be a DBus name+path for our current implementation)
[14:42] <dednick> MacSlow: not much documentat i'm afraid, but there are a few examples in code.
[14:43] <MacSlow> Saviq, sure... that's what I took away from the talk after the standup
[14:43] <Saviq> MacSlow, if the frontend can handle that hint - there will be no communication for the "actions" part of the notifications spec - maybe just "close" notification if someone dismisses the notification itself
[14:44] <MacSlow> Saviq, yeah... "close" will still be needed
[14:44] <MacSlow> Saviq, I'll try to come up with a proof-of-concept as fast as possible
[14:44] <Saviq> MacSlow, otherwise tapping on the notification will invoke the single available action and the app will have to come to front and handle everything internally
[14:45] <Saviq> MacSlow, we might need to add something to the backend to prevent it dismissing the dialog if it's open or something
[14:45] <Saviq> MacSlow, and decide what has priority - SnapDecision or Dialog?
[14:45] <dednick> MacSlow: i'm unfamiliar with the system dialogs, so i dont really know what you need to know about.
[14:46] <MacSlow> Saviq, other thing is to not have those timeout at all
[14:46] <Saviq> MacSlow, we have that for both interactive and snaps, no?
[14:46] <Saviq> MacSlow, but yeah, some backend adaptations will need to happen
[14:47] <MacSlow> Saviq, well snap-decision have a timeout (for the call to be rejected)
[14:47] <Saviq> MacSlow, I think it can even be treated/sent as a SnapDecision in the end... but one with just one "fallback" action
[14:47] <Saviq> MacSlow, timeout? shouldn't the app decide when it wants to stop?
[14:48] <dednick> MacSlow: newest code for the menumodels is https://code.launchpad.net/~larsu/qmenumodel/add-unitymenumodel . although it's not quite done yet.
[14:49] <MacSlow> Saviq, there was a timeout-issue with the phone-app when an incoming call was ignored
[14:50] <Saviq> MacSlow, hmm I'd have thought the only point then snaps would "time out" is when the app requesting it would go away
[14:50] <dednick> MacSlow: UnityMenuModel is probably all you need. There's an example with a listview in the example folder.
[14:50] <Saviq> MacSlow, otherwise it should be the app's responsibility to remove the notification after a timeout that made sense for it
[14:51] <Saviq> MacSlow, but maybe I'm not thinking about something
[14:52] <MacSlow> Saviq, I don't recall all the details right now, but I need to make any consumer of the notifications to use them correctly (doc writing and making lots of noise about it), otherwise we'll end up in a mess... know that from old notify-osd
[14:53] <Saviq> MacSlow, right I agree we need an overall timeout (but a huge one)
[14:53] <MacSlow> Saviq, but doc-writing (and how-to examples) always gets pushed back again and again due to higher prio tasks
[14:53] <Saviq> MacSlow, that would kill poorly-behaved ones
[14:53] <Saviq> MacSlow, just like tests ;)
[14:53] <MacSlow> Saviq, 60 secs was in the air once
[14:53] <Saviq> MacSlow, but under that I'd have thought the apps would decide for interactive things
[14:54] <Saviq> aaanyway
[14:55] <MacSlow> Saviq, also the idea of a "kill if pid no longer exists" in the backend was a wanted feature, which checks for the triggering process' pid before a notification is actually displayed... and if that pid no longer is found, the notification is just dropped without being displayed.
[14:55] <MacSlow> Saviq, but getting hold of that pid is not really easy
[14:56] <MacSlow> Saviq, right... bigger fish to fry
[14:56] <Saviq> MacSlow, hmm couldn't we just look at the DBus id of what connected?
[14:56] <Saviq> MacSlow, not per PID, but if it goes away, it'd drop from DBus at that point?
[14:57] <MacSlow> Saviq, if that's good enough
[14:57] <Saviq> MacSlow, I'd have thought it would be - you keep track of the clients that sent interactive notifications
[14:57] <Saviq> MacSlow, and if they're gone - clear all of those out
[14:58] <Saviq> MacSlow, although that might be tricky with the app lifecycle...
[14:58] <MacSlow> Saviq, old notify-osd kept track of the dbus-sender... not sure if the current backend still does that
[14:59] <MacSlow> Saviq, just looked... it does not.
[14:59] <sil2100> Saviq: the failure *might* have something to do with our experiments with the AP machines, should be ok now
[14:59] <Saviq> sil2100, thanks
[15:00] <sil2100> Saviq: it might be fixed after this
[15:00] <Saviq> MacSlow, I think that - plus a big timeout for misbehaving apps (maybe even tracking them and reducing their timeout as a punishment) should be enough, I think
[15:01] <MacSlow> Saviq, :)
[15:01] <MacSlow> Saviq, keeping black-list ;)
[15:02] <Saviq> MacSlow, yup :)
[15:02] <Saviq> MacSlow, I wonder if we should append / update notifications by the same sender...
[15:03] <Saviq> MacSlow, I hate like xchat and u1 client queue every single notification as a new one....
[15:03] <MacSlow> Saviq, that's what the append-hint is for
[15:03] <Saviq> MacSlow, I know
[15:03] <Saviq> MacSlow, but apps obviously are stupid ;)
[15:03] <Saviq> MacSlow, maybe there should be a "no-append-hint"
[15:04] <MacSlow> Saviq, devs don't read the existing docs and examples :)
[15:04] <Saviq> MacSlow, so that we append *unless* explicitly prevented
[15:06] <Trevinho> Mhr3 I was getting that crash when I changed the nux abi... Recompiling everything fixed it for good to me...
[15:07] <Trevinho> Andyrock?
[15:09] <Cimi> Saviq, on the theming bug, I don't think I touched that.. https://code.launchpad.net/~unity-team/unity8/unity8.colour_palette/+merge/174678
[15:10] <Cimi> Saviq, it's probably a default value set with the theme, I'm investigating
[15:10] <Saviq> Cimi, don't
[15:10] <sil2100> Saviq: published!
[15:10] <Saviq> sil2100, awesome - thanks
[15:10] <Saviq> Cimi, I've already moved the bug under SDK's jurisdiction
[15:11] <Cimi> but there's a bug assigned to me
[15:11] <Saviq> https://bugs.launchpad.net/unity8/+bug/1205257
[15:11] <Saviq> Cimi, ↑ this one is
[15:11] <Cimi> Saviq, https://bugs.launchpad.net/unity8/+bug/1205257
[15:11] <Cimi> yeah
[15:11] <Saviq> Cimi, I don't think that's SDK's
[15:11] <Saviq> Cimi, since in "wide" it works fine
[15:12] <Saviq> Cimi, unless you can confirm it is an SDK bug in a small testcase
[15:12] <Cimi> Saviq, how can the colour palette affecct this?
[15:12] <Saviq> Cimi, it can't
[15:12] <Saviq> Cimi, ;)
[15:12] <Saviq> Cimi, no one said it did :)
[15:12] <Cimi> so why you said was my theming thing?
[15:12] <Cimi> maybe I misunderstoof
[15:12] <Saviq> Cimi, different bug
[15:12] <Cimi> ok
[15:13] <Saviq> Cimi, it was https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1205094
[15:13] <Cimi> Saviq, so it's not a regression
[15:13] <Saviq> Cimi, it is
[15:13] <Saviq> Cimi, it was fine when I coded it ;)
[15:13] <Cimi> Saviq, caused by what??
[15:13] <Saviq> Cimi, that's what you're supposed to find out!
[15:13] <Saviq> ;)
[15:13] <Cimi> Saviq, which is fine
[15:13] <Saviq> Cimi, if you isolate it to SDK - reassign
[15:13] <Cimi> Saviq, I thought it was due to my theming branch but that didn't make sense
[15:14] <Saviq> Cimi, ideally with a small test app that shows the issue
[15:14] <Saviq> Cimi, it is still possible that it's an SDK bug, that's what we need to find out
[15:14] <Cimi> ok
[15:14] <mterry> What's the state-of-art for flashing a device with a unity-mir image?  Still to flash a special saucy-preinstalled-phablet-armhf.zip ?
[15:17] <MacSlow> Saviq, it's something the just needs to change in the backend ("no-append-hint" instead of explicit "append-hint")
[15:17] <Saviq> MacSlow, yeah, but that's a freedesktop spec, right? or is it ours?
[15:17] <MacSlow> Saviq, ours "x-canonical-append-hint"
[15:18] <Saviq> MacSlow, I'd vote for going the other way - it should be default to append
[15:18] <MacSlow> Saviq, maybe bounce that against mpt too
[15:18] <Saviq> MacSlow, but yeah, tricky to change that now (or maybe now's the best moment)
[15:18] <Saviq> MacSlow, of course, I won't say that's what you should do ;)
[15:19] <Saviq> mpt, what do you think about reversing the "append-hint" for notifications?
[15:19] <Saviq> mpt, i.e. appending by default, not appending when explicitly prevented?
[15:19] <MacSlow> Saviq, yeah... I'd rather experiment with such things when the todo-list isn't that full :)
[15:19] <dednick> larsu: one more found :) the icons in root action are in gicon format. need to deserialise them.
[15:19] <Saviq> dednick, as in the .GIcon() stuff?
[15:19] <Saviq> dednick, we need to support that for dash anyway
[15:20] <Saviq> dednick, and there's a dumb implementation already
[15:20] <Saviq> dednick, IconUtil.js
[15:20] <dednick> Saviq: it ends up as a variantlist [themed,audio-volume-high-panel,audio-volume-high,audio-volume,audio]
[15:21] <Saviq> dednick, ah, it needs to be to_string()'ed on the other side
[15:21] <Saviq> dednick, or, somewhere
[15:21] <mpt> Saviq, I think that would often be weird ... You'd have apps producing notifications that said things like "Disconnected" "Connected"
[15:21] <larsu> Saviq: no, to_string is stupid and deprecated
[15:21] <Saviq> where does the  . GThemedIcon() syntax come from?
[15:21] <larsu> Saviq: to_string
[15:21] <Saviq> mhr3_, ↑ fight!
[15:21] <mpt> Saviq, because they weren't bothering to cancel the earlier one, and they didn't know to cancel appending either
[15:22] <Saviq> mpt, OTOH most of the  apps now fill your notifications queue with a notification after notification (even our own ones - U1)
[15:22] <larsu> Saviq: whoever uses that needs to fix their code. Unless you want to depend on GdkPixbuf...
[15:22] <Saviq> mpt, so it's not that much better
[15:22] <mpt> Saviq, it's far from perfect, but I do think it's much better :-)
[15:23] <mpt> It's just laggy rather than oxymoronig
[15:23] <mpt> c
[15:23] <larsu> dednick: good point, I'm onlyy deserializing icons on menu items right now. It would be a bit weird to do that in action state, because I don't know which ones are supposed to be icons
[15:23] <larsu> dednick: I guess I'll supply a helper function or something...
[15:24] <dednick> larsu: i can just use the func directly
[15:24] <larsu> dednick: which one?
[15:24] <dednick> larsu: also, i think your G_IS_THEMED_ICON needs to check through all the icon names for a match.
[15:24] <Saviq> mpt, you're just completely against me today ;)
[15:24] <mhr3_> what what, who do i fight
[15:24] <mhr3_> larsu, ?
[15:25] <larsu> mhr3_: don't use g_icon_to_string anymore, use g_icon_serialize
[15:25] <larsu> mhr3_: there's nothing to fight about :)
[15:25] <mhr3_> larsu, that's arch-dependant, we get icons from server
[15:25] <Cimi> Saviq, when do you firstly saw the bug?
[15:26] <Saviq> Cimi, yesterday, but I can't say it wasn't there before
[15:26] <larsu> mhr3_: as gicons?!?!
[15:26] <Cimi> Saviq, ok
[15:26] <mhr3_> larsu, yep
[15:26] <dednick> larsu: http://pastebin.ubuntu.com/5915164/
[15:26] <Cimi> Saviq, because with the current toolkit, even at revision 1 of PageHeader.qml, bug is there
[15:26] <Saviq> Cimi, might be an SDK bug then
[15:26] <Saviq> Cimi, try and reproduce please
[15:27] <Saviq> Cimi, in a small QML app
[15:27] <dednick> larsu: hm, was thinking iconUri, but that takes a gicon. errrr.
[15:27] <larsu> mhr3_: g_variant_print (g_icon_serialize (icon), FALSE)
[15:27] <larsu> mhr3_: but this is very... wrong
[15:28] <Cimi> ok
[15:28] <mhr3_> larsu, to_tokens works fine
[15:29] <larsu> mhr3_: what kinds of icons are you sending?
[15:30] <larsu> mhr3_: we're making Saviq's life much harder if we have two ways to encode icons
[15:30] <Saviq> larsu, no, you make it impossible - so DON'T
[15:30] <mhr3_> larsu, file, themed, our custom
[15:30] <Saviq> larsu, mhr3_ we need ONE way to do that
[15:30] <mhr3_> Saviq, and that's gicon :)
[15:31] <Saviq> mhr3_, it's flexible, I don't know what the other thing does
[15:31] <larsu> Saviq: ya. I'm working on it...
[15:31] <Saviq> mhr3_, although UnityAnnotatedIcon does feel like quite a hack ;)
[15:31] <Saviq> but I'm ok with it if we standardize on it
[15:32] <dednick> Saviq: if you ever saw the code to re-construct an annotated icon you wouldnt think it was 'quite a hack'
[15:32] <dednick> it's a freaking monster
[15:32] <larsu> mhr3_: again: to/from_string is deprecated, don't use it anymore
[15:32] <desrt> http://gicon/ ?
[15:32] <tsdgeos> is it me or is the shell crashing like crazy on the desktop now?
[15:32] <mhr3_> Saviq, ultimately all you need is a way to get something to pass to the sdk to give you the a real pixbuf and a bunch of unity-specific properties
[15:33] <larsu> desrt: ugh, no
[15:33] <tsdgeos> can't even start it 80% of the time
[15:33] <larsu> dednick: thanks for the patch
[15:33] <Saviq> dednick, lol
[15:33] <Saviq> desrt, we're using image://gicon/name in Qt
[15:34] <Saviq> desrt, or rather in the Ubuntu Components
[15:34] <larsu> Saviq: ya, you shouldn't. It's been on my list for a hwile
[15:34] <larsu> *while
[15:34] <Saviq> mhr3_, yeah, but UnityAnnotatedIcon is really Unity-specific, shouldn't go into SDK
[15:35] <mhr3_> sure, i never said it should, that's where the properties are stored
[15:35] <Saviq> mhr3_, well yeah, that could work
[15:35] <Saviq> larsu, what's your approach then/
[15:35] <Saviq> ?
[15:35] <desrt> larsu told me that bad things are happening here and i should come see.  can anyone bring me up to speed a bit?
[15:36] <tsdgeos> here my crash :-( http://paste.ubuntu.com/5915197/
[15:36] <larsu> Saviq: proper qml icon uris
[15:36] <Saviq> larsu, what are "qml icon uris"?
[15:37] <larsu> Saviq: is this a serious question?
[15:37] <Saviq> tsdgeos, looks like something they worked on around the keyboard yesterday
[15:38] <larsu> Saviq: image://gicon is a hack
[15:38] <Saviq> larsu, what wouldn't be?
[15:38] <larsu> Saviq: file://, http://, image://theme/xxx, ...
[15:38] <desrt> data:// ?
[15:38] <tsdgeos> how is  image://theme different from  image://gicon ?
[15:38] <larsu> Saviq: I told renato to do that for the demo, when we didn't have time to do it properly
[15:39] <Saviq> yeah ↑↑
[15:39] <larsu> desrt: ya, I'm actually using that in qmenumodel
[15:39] <Saviq> larsu, are you just against the "gicon" in there?
[15:39] <dednick> larsu: image://theme is just a qt icon provider uri
[15:39] <dednick> same as image://gicon
[15:40]  * desrt is guessing that larsu is against having to write a new custom style provider for tunneling gicons through a back channel
[15:40] <larsu> dednick: I know, I wrote one of those. But there's no theme:// protocol, so whatever
[15:40] <desrt> whereas a 'theme' provider would be relatively pure (just implementing the icon theme spec... no back channel smuggling of GIcon instances)
[15:40] <dednick> larsu: hehe, but you're just assuming it's gicon in there
[15:40] <larsu> Saviq: no, that was a side point. I'm really against you guys having to care about GIcon at all.
[15:41] <Saviq> larsu, we're not :)
[15:41] <larsu> Saviq: and more importantly, caring about how GIcon serializes data
[15:41] <dednick> larsu: ah, no, you're just getting it from theme
[15:41] <Saviq> larsu, that I agree with
[15:41] <Saviq> larsu, we actually put the 'image://gicon' there ourselves
[15:41] <larsu> dednick: ya, it's only the xdg spec
[15:41] <Saviq> larsu, when we don't get a full uri
[15:42] <larsu> Saviq: you do that and you didn't stop to think: "wait, this is a crazy hack I shouldn't be doing that"
[15:42] <Saviq> larsu, of course I did :)
[15:42] <larsu> haha :D
[15:42] <larsu> okay, let's fix it, then
[15:43] <Saviq> larsu, then I got . GThemedIcon()
[15:43] <Saviq> larsu, which at least told me straight away it was a themed icon ;)
[15:43] <larsu> Saviq: ya, you should never ever see that from qml
[15:43] <larsu> Saviq: which component is that coming from?
[15:43] <Saviq> larsu, scopes
[15:44] <Saviq> larsu, you'll like that then http://bazaar.launchpad.net/~unity-team/unity8/trunk/view/head:/Components/IconUtil.js
[15:44] <mhr3_> i think we all agree here, we just don't have a qt-way to get themed icons
[15:44]  * larsu bangs head against the desk
[15:44] <mhr3_> plus we don't have qt object that wrap the unityicons
[15:45] <Saviq> mhr3_, but I agree with larsu, if I just got a uri
[15:45] <Saviq> mhr3_, even if it's a uri like image://unity/...
[15:45] <larsu> mhr3_: I wrote one that's acceptable, I've been meaning to propose to include it in unity8
[15:45] <mhr3_> no you should really get an object
[15:45] <dednick> how do you annotate a uri?
[15:45] <Saviq> dednick, ?bla=bla
[15:45] <Saviq> &foo=baz
[15:46] <Saviq> dednick, if it's a HTTP uri to annotate
[15:46] <Saviq> dednick, you urlencode it
[15:46] <dednick> i c
[15:46] <Saviq> dednick, or anyway, the annotated icon would always be urlencoded
[15:46] <dednick> ok, lets change all the scopes, and all the indicators.  ready tomorrow?
[15:47] <mhr3_> ok, if you want a special uri instead of object, that's even easier for us
[15:47] <larsu> mhr3_: what's a unityicon?
[15:47] <Saviq> dednick, so image://unity/annotated?uri=http%xx...&annotate_uri=http%xx etc.
[15:47] <mhr3_> larsu, gicon wrapped with some extra unity-specific props
[15:47] <Saviq> larsu, it's an image that you get and need to slap some things on it
[15:47] <Saviq> larsu, like the price ribbon we have
[15:47] <mhr3_> larsu, props like text_overlay
[15:48] <larsu> ya, that makes sense
[15:48] <mhr3_> larsu, so if we have this special uri scheme, fixing scopes is a few lines of code in the unity plugin
[15:48] <dednick> hm. didnt expect to start this by asking for an icon.
[15:49] <mhr3_> eh Saviq^
[15:49] <mhr3_> do we?
[15:50] <Saviq> mhr3_, unity7?
[15:51] <mhr3_> Saviq, we're not changing anything there, we're changing what we expose to unity8
[15:51] <mhr3_> protocol remains the same
[15:51] <larsu> mhr3_, Saviq: right. Let me know if you need my themed icon provider
[15:51] <Saviq> mhr3_, sure, that could work
[15:51] <Saviq> larsu, btw, why is image://gicon/ needed at all?
[15:51] <Saviq> larsu, why didn't image://theme/ suffice?
[15:52] <Saviq> and what do we do to fix that, then?
[15:52] <Saviq> MacSlow, what's the spec for notification icons, btw?
[15:53] <larsu> Saviq: that's what I have in unitymenumodel - do you have one as well?
[15:53] <larsu> Saviq: oh wait, I misread your question
[15:54] <larsu> Saviq: gicon is not needed at all, theme suffices. And that's what I have in unitymenumodel :)
[15:55] <Saviq> larsu, wth was GIconProvider written at all then?
[15:55] <larsu> Saviq: demo
[15:55] <mhr3_> too few things to work on during demo, right? :)
[15:55] <larsu> mhr3_: ya :)
[15:56] <larsu> Saviq: to fix this mess, we need to touch all the code that hands you a GIcon. Do you have a list?
[15:57] <mhr3_> there's one line for the scopes
[15:58] <Saviq> larsu, fortunately there's http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/qml-ubuntu-components0-icon.html
[15:58] <Saviq> larsu, noone should really be using image://gicon directly
[15:58] <Saviq> larsu, but we have one or two places in unity8
[15:58] <larsu> ah, nice
[15:59] <larsu> Saviq: if you send me a mail with those places, I'll fix them next week
[16:00] <Saviq> larsu, I'm into IoM next week, just grep launchpad for gicon, you'll be good ;)
[16:01] <larsu> Saviq: ah, ok
[16:01] <MacSlow> Saviq, that's only "spec" https://wiki.ubuntu.com/NotifyOSD#Icon
[16:01] <MacSlow> Saviq,
[16:01] <Saviq> larsu, http://paste.ubuntu.com/5915273/
[16:01] <larsu> Saviq: thanks :(
[16:02] <larsu> Saviq: smiley fail. Too warm.
[16:02] <Saviq> MacSlow, I meant for the "what apps send us"
[16:02] <Saviq> MacSlow, as in do they assume it's a themed icon, otherwise push full urls?
[16:02] <dednick> i think ubuntu-mobile-icons has a somewhat limited set of icons, which i think why GIconProvider was created. checks through the whole set of themed icon names for a match.
[16:02] <Saviq> MacSlow, is that part of the freedesktop spec?
[16:02] <MacSlow> Saviq, http://www.galago-project.org/specs/notification/0.9/x207.html
[16:03] <mhr3_> larsu, can you just document the uri scheme somewhere, i forgot that this will be on multiple places now that we have previews too
[16:04] <Saviq> MacSlow, orly? so only binary data?!
[16:04] <larsu> Saviq: org.freedesktop.Notify is a mess in that regard. It supports filenames and an ad-hoc dbus image format (iiibiiay)
[16:04] <MacSlow> Saviq, and then there are the three hints "image_path"/"icon_data" and "image_path" of which we currently only support "image_path" in the new backend
[16:05] <MacSlow> Saviq, no only "image_path" as we can't pass binary data from backend to frontend
[16:05] <MacSlow> Saviq, "image_data"/"icon_data" was hardly ever used... even in the notify-osd days
[16:05] <Saviq> MacSlow, how are icon names passed then?
[16:05] <Saviq> MacSlow, just as a name?
[16:05] <MacSlow> Saviq, yes
[16:06] <larsu> mhr3_: which uri scheme do you mean? Qt should have a list in their docs...
[16:06] <larsu> mhr3_: oh, plus image://theme/<icon-name>
[16:07] <mhr3_> larsu, you mean .../<icon-names> ? :)
[16:07] <mhr3_> but i'm interested in the scheme that will support the overlays
[16:07] <Saviq> larsu, so notifications are one place where we'd still have to hack stuff
[16:07] <larsu> MacSlow: mh? I think fdo notifications don't support themed icons
[16:07] <Saviq> larsu, yeah, they don't - ours do
[16:08] <Saviq> larsu, or just say that with the new spec requires image://theme/name
[16:08] <MacSlow> larsu, well :)
[16:08] <larsu> MacSlow: well?
[16:08] <mhr3_> larsu, it does support multiple names, right?
[16:09] <MacSlow> larsu, in notify-osd we added a special search-path for notification-icons... those were themeable
[16:09] <larsu> mhr3_: not yet, but if you have a proposal on how to encode that in a url, I'm all ears :)
[16:09] <mhr3_> larsu, i'm fine with what Saviq mentioned above
[16:10] <larsu> MacSlow: ah, interesting
[16:10] <MacSlow> larsu, but that's currently no longer supported with the new implementation
[16:11] <MacSlow> larsu, there's a branch GIconProvider, but it's not worked on atm as other bits are more important
[16:12] <mhr3_> larsu, so image://unity/annotated?base_icon=[urlencoded_base]&ribbon=[urlencoded_ribbon_string]
[16:12] <MacSlow> larsu, https://code.launchpad.net/~macslow/ubuntu-ui-toolkit/add-search-path-to-giconprovider/+merge/164197
[16:12] <mhr3_> larsu, where base can be image://theme/foo
[16:13] <Saviq> mhr3_, for multiples that can be image://multi/?uri=[urlencoded_foo]&uri=[urlencoed_bar] etc
[16:13] <Saviq> larsu, ↑
[16:13] <Saviq> for fallbacks, that is
[16:14] <mhr3_> Saviq, so image://theme/ doesn't do multiple?
[16:14] <mhr3_> shouldn't that be fixed instead?
[16:14] <larsu> MacSlow: I don't think we can depend on gtk for that...
[16:15] <Saviq> mhr3_, dunno, first I've heard of it is today :D
[16:15] <larsu> it doesn't right now
[16:15] <MacSlow> larsu, yeah... it was the beginning of adding support for this
[16:15] <larsu> MacSlow: right. Thanks for pointing me to it
[16:16] <mhr3_> larsu, planned?
[16:16] <larsu> mhr3_: it wasn't until you brought it up. If you need it, I think it certainly makes sense
[16:16] <larsu> mhr3_: dednick just sent me a patch that takes an interesting approach:
[16:16] <larsu> when constructing the uri, he checks which icon is installed
[16:16] <mhr3_> larsu, it's pretty common for themed file icons
[16:16] <larsu> and only includes that
[16:17] <larsu> that only works locally obviously
[16:17] <mhr3_> larsu, sounds expensive
[16:17] <larsu> why? You need to check at some point...
[16:17] <Saviq> larsu, https://blueprints.launchpad.net/appmenu-qt/+spec/qt5-qpa-appmenu btw
[16:17] <mhr3_> larsu, yea, but you nicely cache it in the provider itself
[16:18] <Saviq> larsu, yeah, I'd leave it to the provider
[16:18] <larsu> fair enough
[16:18] <larsu> so why not image://theme/icon1,icon2,icon3
[16:18]  * larsu thinks ',' is not allowed in icon names
[16:19] <mhr3_> s@,@/@
[16:19] <mhr3_> ?
[16:20] <Saviq> mhr3_, nah, I'd use ,
[16:20] <Saviq> larsu, +1
[16:20] <larsu> mhr3_: yeah I considered that but dismissed it because it looks like a path to an icon
[16:20] <mhr3_> i'm not sure comma is allowed in uris even :)
[16:21] <larsu> mhr3_: colons?
[16:21] <Saviq> mhr3_, sure they are
[16:21] <larsu> mhr3_: I'm pretty sure commas are okay, thouh
[16:22] <mhr3_> fwiw it's a "reserved" character according to rfc3986
[16:22] <mhr3_> The purpose of reserved characters is to provide a set of delimiting
[16:22] <mhr3_>    characters that are distinguishable from other data within a URI.
[16:22] <larsu> Saviq: re that link, appmenu means global menu?
[16:22] <Saviq> mhr3_, http://docs.python.org/2/library/urlparse.html#urlparse.urlparse btw
[16:22] <Saviq> larsu, yes
[16:22] <mhr3_> so comma is fine
[16:23] <larsu> awesome, thanks for looking it up
[16:23] <Saviq> mhr3_, there's a thing called "parameters"
[16:24] <Saviq> but yeah, not useful here probably
[16:25] <Kaleo> Saviq: do you have a crash?
[16:26] <Saviq> Kaleo, no, I don't
[16:26] <Kaleo> Saviq: related to rotation things?
[16:26] <Saviq> Kaleo, Albert did
[16:26] <Kaleo> Saviq: ok, do you know why you were in CC of tmoenicke's email then?
[16:26] <Saviq> Kaleo, 'cause I forwarded it from tsdgoes to tmoenicke
[16:27] <Saviq> Kaleo, and also earlier ogra and gema reported crashes for apps run from console, but I think that's resolved now
[16:27] <Kaleo> Saviq: so, is there a bug report?
[16:27] <Saviq> Kaleo, no, tmoenicke has most info, though
[16:27] <Kaleo> Saviq: jesus
[16:27] <Kaleo> Saviq: we work like amateurs sometimes
[16:28] <Saviq> Kaleo, yes, I know you hate us already
[16:29] <Kaleo> Saviq: no, just the person who cannot create a bug report
[16:29] <Kaleo> Saviq: whoever that is
[16:29] <Saviq> Kaleo, https://code.launchpad.net/~saviq/ubuntu-ui-toolkit/depend-devscripts/+merge/177185 btw
[16:30] <Kaleo> thanks