/srv/irclogs.ubuntu.com/2013/07/26/#ubuntu-unity.txt

=== _salem is now known as salem_
=== salem_ is now known as _salem
=== _salem is now known as salem_
=== salem_ is now known as _salem
mzanettiveebers: ping06:42
veebersmzanetti: pong06:42
mzanettiveebers: see, I'm practicing for the 8:30 meeting already :D06:42
veebersmzanetti: heh ^_^06:43
mzanettiveebers: wanted to ask if you guys managed to fix those notification tests06:43
veebersmzanetti: one moment I'll fwd an email06:43
tvossSaviq, ping06:59
Saviqtvoss, pong06:59
Saviqdidrocks, hey, something is blocking cu2d? unity8 stack is still in "waitforstacks" mode?07:07
veebersMacSlow: ping07:14
MacSlowveebers, hey there07:14
veebersHey hows it going07:14
MacSlowveebers, just read the two email... jumping right in07:14
veebersMacSlow: 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
veebersMacSlow: I'm about to push a slight change to that branch in the email07:15
MacSlowveebers, ok07:15
didrocksSaviq: it seems it's building to me? (platform just finished)07:16
didrocksSaviq: basically, the ati machine went down, I had to restart the jenkins node again this morning07:16
Saviqdidrocks, yeah, building now07:16
Saviqdidrocks, so I just saw a symptom of something you fixed already :)07:16
didrocksheh, I fixed it 2 hours ago TBH, but time for everything to build then… ;)07:17
veebersmzanetti, MacSlow: I've pushed an update to that branch07:17
veebersit 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 error07:18
Saviqdidrocks, yeah, but unity8 stack would've been done long ago if that didn't happen, right? hence my surprise07:19
sil2100What happened?07:19
sil2100Morning!07:20
veebersmzanetti, 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
sil2100didrocks: is our daily-release jenkins down?07:20
sil2100Oh, nevermind07:20
mzanettiveebers: 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
mzanettiits as simple as calling "export `dbus-laiunch`"07:21
MacSlowveebers, mzanetti: just pulled... and I'm also seeing this... http://pastebin.ubuntu.com/5913918/07:21
mzanettiMacSlow: no clue what that is07:21
Saviqveebers, https://code.launchpad.net/~saviq/unity8/reenable-passphrase-tests07:22
Saviqveebers, ouch07:22
mzanettiveebers: dunno... your branch doesn't work at all here. the notifications don't show up07:22
veebersSaviq: ouch?07:23
Saviqveebers, the xcb thing07:23
mzanettiveebers: and it fails with AttributeError: 'TestNotifications' object has no attribute '_get_urgency'07:23
veebersSaviq: ah ack07:23
veebersmzanetti: ah, probably because only one of the tests has been updated to use the new stuff and the others will be temporarily broken07:23
veebersSaviq: approve07:24
veebersd07:24
mzanettiveebers: is there a possibility to only run one of the scenarios?07:25
MacSlowmzanetti, veebers: I thought setUp() and tearDown() are no longer used/supported after the refactoring?07:26
mzanettiMacSlow: got the xlib sequence thingie now too07:26
mzanettiMacSlow: I'm sure they are... just not used at the moment I guess07:26
veebersmzanetti: 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__.py07:26
mzanettiveebers: yeah... I meant without modifying the code07:27
veebersmzanetti: oh, not that I'm aware of07:27
* mzanetti open a feature request07:27
mzanettithis is annoying as hell07:27
didrocksSaviq: yeah, it would have been done ~3h ago07:27
veebersMacSlow: yeah they are supported, they are general testtools thing07:27
veebersmzanetti: are you opening that up against autopilot?07:27
mzanettiyeah07:27
MacSlowveebers, ah ok... thought it was special to our unity8-ap07:28
veebersMacSlow: no, setUp is executed before every test_* and tearDown afterward07:28
tsdgeoshmmm07:31
tsdgeosdee-qt isn't autoreleased?07:31
tsdgeosor when does the autorelease happen?07:31
=== maxb_ is now known as maxb
mzanettitsdgeos: I read something that the daily release jenkins currently has troubles... might be related to that07:32
larsudednick: morning. I fixed your crash yesterday, but you were already gone :)07:33
dednicklarsu: yep. i came back later :)07:33
mzanettiveebers: http://www.faqs.org/faqs/x-faq/part7/section-15.html07:34
mzanettiMacSlow: ^07:35
dednicklarsu: couple of questions about the model07:35
dednicklarsu: the action role doesnt seem to work.07:35
dednickalways undefined. Doesnt have a case in the model::data func07:35
MacSlowmzanetti, *sigh*07:36
larsudednick: you don't need the action. (Well, at least I think you don't)07:36
dednicklarsu: in your example you have a slider, but no value is set :) so couldnt work out how to get it07:36
veebersmzanetti: hmm I would have thought we would be safe from that as the python "multiprocessing" uses subprocesses not threads, or perhaps I mis-understood it07:37
dednicklarsu: as far as i know, the actions contain the control values? switches, sliders etc.07:37
mzanettiveebers: I'd say so too... but the fact that we are getting those erorrs... dunno. let me check the code07:37
veebersmzanetti: cool thanks07:37
larsudednick: right, you do need the state. Isn't that exposed? (I wrote this a while ago)07:37
larsudednick: doesn't look like it... will fix toda07:38
dednicklarsu: not as far as i can tell07:38
larsu*today07:38
dednicklarsu: cool. thanks.07:38
mzanettiveebers: 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
veebersmzanetti. 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
MacSlowveebers, I still seem to be needing to call super(myTestClass self).setUp() in my setUp(), right... same for tearDown()...07:39
mzanettiveebers: run "export `dbus-launch`" from the terminal where you run the test suite07:39
dednicklarsu: also, what does the "sensitive" role signify?07:39
veebersmzanetti: sure, we'll add that to the actual test suite itself too07:39
larsudednick: whether the control can be interacted with (it's sometimes also called enabled)07:39
MacSlowmzanetti, os.system() should work in the ap-test to do that07:40
dednicklarsu: ok07:40
mzanettiveebers: I don't see where you start a new process07:40
veebersmzanetti: line 23 of emulators/notification_helper.py07:41
veebersmzanetti: also, fyi: http://docs.python.org/2/library/multiprocessing.html07:42
mzanettithis is a lot of code...07:43
mzanettiI would have assumed we could spawn a binary and kill it again in tearDown07:44
mzanettiveebers: what exactly does this? with Notifications() as n:07:45
mzanettiveebers: is this just another way of doing "n = Notification()" ?07:45
MacSlowmzanetti, veebers: the test just hangs here for me07:46
mzanettifor me it does different things each time I run it07:47
veebersmzanetti: 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
veebersit's used here so that _quit is called for Notifications so that it cleans up after itself07:47
veebersmzanetti: http://effbot.org/zone/python-with-statement.htm07:47
mzanettiveebers: got it. thanks07:48
MacSlowmzanetti, veebers: bit lost here atm07:48
veebersmzanetti: 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 process07:49
mzanettiveebers: ok.... following issues:07:51
mzanettiveebers: 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
mzanettiveebers, MacSlow: next, the clicking on the notification _sometimes_ happens too early07:52
mzanettiveebers: the notifications multiprocess seems not to be cleaned up successfully and only the very first run works07:52
mzanettiI need to start a new dbus-session to make it work again07:52
veebersmzanetti: oh, if that's in the _simple_interaction I just noticed that there is no "assert notification has appeared"07:53
veebersthe other test test_interactive has that check (from memory)07:53
mzanettitest_interactive is what I'm running07:53
veebersmzanetti: oh :-\07:53
veebersmzanetti: hmm, I tried this and had no issues: http://paste.ubuntu.com/5913992/07:54
mzanettiveebers: the _assert_notification() seems to be commented out07:54
veebersmzanetti: ah, it looks like i didn't re-enable it after it was commeneted out07:55
veeberscommented*07:55
mzanettiok... I try again07:55
mzanettiadded that line back in and now it doesn't click at all any more07:56
mzanetti:/07:56
mzanettiand autopilot hangs that I need to kill it with -907:56
mzanettictrl+c does not work07:56
veebersmzanetti: hmm, how long did it hang for?07:59
mzanettiuntil I killed it07:59
mzanetti:P07:59
veebersmzanetti: :-P07:59
mzanettistill hangs07:59
Saviqdidrocks, 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 ?07:59
didrockssil2100: can you take that in charge please? ^08:00
=== didrocks is now known as didrocks_reallyb
Saviq;)08:00
=== didrocks_reallyb is now known as didrocks_busy
sil2100Saviq, didrocks_busy: ACK08:02
Saviqsil2100, it probably just needs a retry, as the armhf builder failed in d-b-n08:02
sil2100Ah, yeah, chroot problem...08:02
mzanettiSaviq: do we still suffer from the UbuntuAnimation not going to its target value?08:02
Saviqmzanetti, no08:02
mzanettiweird :/08:02
sil2100Saviq: retried, will have to re run this job once it's finished ;/ Sometimes those builders are more trouble than help08:03
Saviqmzanetti, was reverted08:03
sil2100hmm08:03
veebersmzanetti, MacSlow: Hey I need to go have something to eat :-P, will have dinner and come back08:04
mzanettiack08:04
MacSlowveebers, enjoy08:04
MacSlowveebers, reading through notification_helper.py atm08:05
mzanettineed to reeboot. too many dbus-daemons running08:06
mhr3sil2100, any ideas where does dpkg-source: unrepresentable changes to source come from?08:09
mhr3sil2100, i get it when trying bzr bd08:09
veebersMacSlow, 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 happened08:11
veebersMacSlow: cheers :)08:11
tsdgeoshmmm08:15
tsdgeosshould08:15
tsdgeosstop unity808:15
tsdgeosstop unity on the phone?08:15
tsdgeosit's what we do on run_on_device08:16
tsdgeosbut ain't working here on the unity-mir thing i have08:16
* tsdgeos realizes he can uninstall the package08:16
sil2100mhr3: ah08:19
Saviqtsdgeos, you need to be logged in as phablet for this08:20
Saviqtsdgeos, and yes it works08:20
Saviqtsdgeos, btw, the last image is working on maguro, but there's no input in apps, any idea?08:20
sil2100mhr3: 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 changes08:20
tsdgeosphablet@ubuntu-phablet:~$ stop unity808:20
tsdgeos-su: stop: command not found08:20
* Saviq also vaguely remembers Gerry wrote an email about this yesterday, but can't find it now... so could've dreamt it ;P08:20
Saviqtsdgeos, sudo -u phablet -i08:20
mhr3sil2100, ah, so just bump the changelog?08:21
tsdgeosSaviq: anyway i uninstalled unity8 and that's fine :D08:21
Saviqtsdgeos, initctl stop unity808:21
tsdgeosSaviq: last image as unity-mir image or as regular image?08:21
sil2100mhr3: yes, but if you're building a test build just for yourself, better to bump the upstream version08:21
Saviqtsdgeos, unity-mir image08:21
Saviqtsdgeos, from http://s-jenkins:8080/job/ubuntu-touch-phablet-image-saucy-mir/?08:21
tsdgeosinput is a bit borked yes08:21
sil2100mhr3: otherwise it tries to use the released tarball from the archive and nitpick if you made some changes in the source08:22
tsdgeosit's one of the things gerry asked me to have a look08:22
tsdgeosand i'm trying08:22
tsdgeosbut it's hard given i have no clue about it at all08:22
mhr3sil2100, by upstream version you mean the "prefix" in the changelog?08:22
tsdgeosso don't expect me to find anything08:22
tsdgeosactually i do have input08:22
tsdgeosjust in some areas08:22
veebersmzanetti, MacSlow: back fyi :-)08:23
mhr3sil2100, cause you know otherwise upstream version for me is what's in configure / cmake08:24
MacSlowveebers, just trying to get this dbus-launch and tearDown working correctly... or is that not longer needed?08:24
sil2100mhr3: I mean like you have 1.1-0ubuntu1, 1.1 is the upstream part for me ;)08:24
MacSlowveebers, btw... I'm not sure how to correctly call super(fooBarClass, self).setUp(...) super(fooBarClass, self).tearDown(...)08:25
mhr3sil2100, right that's what i meant by the prefix :)08:25
veebersMacSlow: th intention of that is so that we don't have to kill notify-osd on our desktops08:25
MacSlowveebers, what arguments do these to take?08:25
mhr3sil2100, but yep, helped it builds now, thx08:25
sil2100mhr3: np.08:25
MacSlowveebers, got that... just trying to make sure I do "kill -15 ..." the right $DBUS_SESSION_BUS_PID08:26
Saviqveebers, MacSlow yeah, and on daily build autopilot runs08:26
SaviqMacSlow, setUp and tearDown don't have no arguments, afaik08:26
SaviqMacSlow, but then you can always go *args, **kwargs to be sure08:26
veebersMacSlow: sorry missed that, yeah no arguments to setUp() or tearDown()08:26
MacSlowSaviq, "*args, **kwargs"?08:26
MacSlowveebers, ah ok08:27
SaviqMacSlow, that's positional arguments, keyword arguments08:27
SaviqMacSlow, say you have:08:27
Saviqdef foo(self, *args, **kwargs):08:27
veebersMacSlow: for process stuff you should be able to use subprocess, one moment and I'll have an example08:27
SaviqMacSlow, then you'd usually call super like so:08:28
Saviq    def super(FooClass, self).foo(*args, **kwargs)08:28
MacSlowSaviq, I see08:28
SaviqMacSlow, unless you wanted to pass different arguments to the super class's foo()08:28
SaviqMacSlow, *args "wraps/unwraps" iterables, **kwargs "wraps/unwraps" dictionaries08:29
SaviqMacSlow, http://docs.python.org/3/tutorial/controlflow.html#keyword-arguments08:30
MacSlowSaviq, thanks08:31
sil2100Saviq: 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 publishing08:32
sil2100Saviq: since it's hogged by unity test now08:33
Saviqsil2100, it's fine08:33
Saviqsil2100, let it run08:33
Saviqsil2100, I'm not pushing for a quick release, just pushing for the thing to get through :)08:33
veebersMacSlow: http://pastebin.ubuntu.com/5914066/08:34
sil2100Saviq: ok then ;) This might take like an hour or so if anything08:34
Saviqsil2100, that's completely fine08:35
veebersMacSlow: that's a quick and dirty example of using subprocess08:35
MacSlowveebers, oh... I was on a complete differnet (probably wrong path)08:35
Saviqsil2100, I'm not worried by stuff running, I'm worried by stuff failing :)08:35
veebersMacSlow: 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 similar08:35
MacSlowveebers, used os.system("export `dbus-launch`") and was wondering how to get hold of $DBUS_SESSION_BUS_PID from that spawned subshell08:36
veebersMacSlow: ah ok08:37
dandraderSaviq, do you have that magic VM that replicates Jenkins setup?08:37
veebersMacSlow: 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 connect08:37
Saviqdandrader, I sent it out to the ML, yes08:38
Saviqdandrader, there's still some xcb crashes going on08:38
Saviqdandrader, but it's generally working08:38
MacSlowveebers, 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:39
veebersMacSlow: I suspect you may have issues with the tests not using the right dbus session unless you setup the environment variable08:40
mzanettiMacSlow: how can I trigger a notification manually from the command line?08:40
MacSlowmzanetti, notify-send "Summary" "Body" -i someIcon08:41
MacSlowmzanetti, but that's not going to be a interactive one08:41
mzanettiMacSlow: how can I do an interactive one?08:41
MacSlowmzanetti, from the command line... only with a python-program08:42
mzanettiMacSlow: do we have such a thing?08:42
MacSlowmzanetti, pasting...08:42
MacSlowmzanetti,http://pastebin.ubuntu.com/5914080/08:43
MacSlowmzanetti, icons will probably not work.. but that should not be an issue08:44
=== shiznix_ is now known as shiznix
veebersmzanetti: that example I posted before should work too: http://paste.ubuntu.com/5913944/08:45
mzanettithe one from MacSlow works fine08:46
mzanettiveebers: so... the notification we create from the test doesn't seem to be interactive08:46
mzanettiveebers: even manually clicking it doesn't do anything08:46
mzanettiveebers: if I create it with the command line it works08:46
veebersmzanetti: yeah I noticed that sometimes (like when the test/dbus/something was failing).08:47
veebersmzanetti: but I've also seen it work fine (i.e. that test_simple_interactive) one that I added, that works for me08:47
MacSlowmzanetti, veebers: just saw... # notification.set_hint_string ("x-canonical-switch-to-application", "true")08:47
veebersmzanetti: how are you creating it from the command line08:47
mzanettiwhy don't we just ship that python script from MacSlow and call it with os.exec() or whatever the python thingie for that is08:47
mzanetti?08:47
mzanettiinstead of all that complexity with task queuing08:47
veebersmzanetti: possibily, what would be the best way of checking that things get called?08:48
veebershmm actually08:48
MacSlowmzanetti, veebers: with that commented the backend won't instruct the frontend to construct an interactive notification08:48
MacSlowmzanetti, veebers: so any passed actions will be ignored08:48
MacSlowmzanetti, veebers: callbacks in those stand-alone notification-python programs setting env-vars?!08:49
mzanettiveebers: couldn't we just keep the stdout pipe open and print() the triggered actionId? then just do a string comparison on the apps output08:50
* mzanetti is still a python noob so not sure what caveats we'll run into there08:50
veebersmzanetti, 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  pressed08:50
veebersmzanetti: heh the same idea I think08:51
MacSlowmzanetti, veebers: I welcome whatever works and keeps complexity down... and extensibility up :)08:51
mzanettiveebers: right... even easier: we pass the expected action_id as an argument and just make it return 0 or 1 depending on success08:51
veebersmzanetti: 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
veebersmzanetti: we need to pass in the possible action ids I think, let me re-read some of the tests08:52
veebersmzanetti (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 pressed08:53
MacSlowveebers, correct08:54
veebersmzanetti: so my suggestion is a script that takes these 2 inputs, constructs the notification and outputs the action_id of the called action and quits08:54
mzanettiveebers: yeah, exactly08:55
mzanettiveebers: I pushed something to your branch08:55
veebersmzanetti: 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
mzanettiveebers: got rid of some lambda magic which seems to make it more reliable08:55
MacSlowveebers, apart from the input sd_example_incoming-call.py does that already08:55
mzanettiveebers: at least it always finds the notification now08:55
MacSlowveebers, I meant that http://pastebin.ubuntu.com/5914114/08:57
MacSlowveebers, you can ignore/delete the example.* parts08:58
veebersmzanetti: hmm I seem ed to have screwed something up I can see my history of that branch :-\08:58
mzanettiveebers: yeah... something weird seems to have happened... might have been me tho08:59
veebersMacSlow: 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 with08:59
veebersmzanetti: hmm odd08:59
MacSlowveebers, ok09:00
veebersmzanetti: I'm wondering if you did something odd. bzr qlog shows only commits from mirco and yourself09:00
mzanettiveebers: 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 up09:01
mzanettiveebers: altough I don't see why...09:01
mzanettisorry for that09:01
mzanettibut the code is still there... its "just" the history09:01
veebersah that branch of mine was the one you pushed to, right? so you took . . . yeah exactly, all condensed into one commit ;-)09:02
mzanettihmpf09:02
veebersmzanetti: so even with your changes it's not working as expected?09:02
veebersmzanetti: ^_^09:02
mzanettiveebers: no... its a bit better... but the triggered notification doesn't seem to be interactive in most of the cases09:03
mzanettiveebers: my change didn't touch that tho09:03
veebersman, I feel like a coffee but we only have espresso and it's late. First world problems09:03
veebersah but tis friday, so coffee time it is I think gents09:03
mzanettiveebers: all I did was to replace the lambda for get_notification() with some normal assertThat(notifications.count, eventually(equals(1)))09:03
mzanettiseems to make it more reliable ^09:04
veebersmzanetti: 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
mzanettiveebers: I did like 10 test runs with the command line tool and it worked 100%09:04
mzanettiveebers: 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:05
Cimimzanetti, from the gsettingscontroller class09:06
Cimihow do I access the other gsettingsqml object?09:06
CimiI need a reference/pointer09:06
mzanettiCimi: as the controller is a singleton you can get to it from the gsettings classes09:06
mzanettiCimi: in the gsettings constructor do a controller::instance()->registerSettingsObject(this)09:07
Cimimzanetti, I created Gsettingsconroller::setpictureuri()09:07
mzanettiCimi: in the controller hold a QList of all the registered settings objects09:07
veebersmzanetti: ok, I'm hacking together a quick script so we can try that approach out09:07
mzanettiCimi: and in setpictureUrl() do a foreach() loop over all the registered objects and update their url09:07
mzanettiveebers: cool. I'll help Cimi in the meantime09:08
veebersmzanetti: ack09:08
SaviqCimi, can you tackle https://bugs.launchpad.net/unity8/+bug/1205094 please09:09
ubot5Launchpad bug 1205094 in Unity 8 ""Recent searches" in dash are white-on-white" [High,Triaged]09:09
Saviqtsdgeos, could you look at https://bugs.launchpad.net/unity8/+bug/1205097 quickly to see where the problem lies?09:09
ubot5Launchpad bug 1205097 in Unity 8 "HUD isn't working" [Critical,Triaged]09:09
mzanettiSaviq: I see the same in the quicklist... seems an issue in the Popover I'd say?09:09
Saviqmzanetti, possible09:10
CimiSaviq, got a mail, yup09:10
tsdgeosSaviq: i was going to now, but the phone just ran out of battery09:10
Saviqmzanetti, /me checks gallery09:10
Saviqtsdgeos, excuses excuses! :P09:10
tsdgeosthe damn unity-mir thing doesn't have suspend or anything09:10
tsdgeosSaviq: is that repro on the desktop?09:10
tsdgeosshould be09:10
* tsdgeos tries09:10
Saviqtsdgeos, not09:10
Saviqtsdgeos, we don't have app management on desktop09:10
tsdgeosah09:11
tsdgeos:-/09:11
Saviqtsdgeos, so we'll never tell hud what app is focused09:11
tsdgeoswe (unity8) never do on the phone either09:11
Saviqtsdgeos, right, so maybe it would be09:11
Saviqtsdgeos, but then... it's unity8 that's focused09:11
Saviqtsdgeos, and unity8 doesn't have HUD actions then09:12
Saviqtsdgeos, so somehow you'd need to trick HUD into looking at a different app09:12
tsdgeosright09:12
tsdgeoshud used to be smart enough to do that09:12
tsdgeosit ignored its clients09:12
tsdgeosanyway, let me phablet-flash and get out of the unity-mir world09:13
tsdgeosand i'll try to find out what broke09:13
SaviqCimi, there's also one more issue with the popover http://ubuntuone.com/4249DjbGl6QiOVaTxHOdsU09:17
SaviqCimi, see where the pip is09:17
CimiSaviq, weird we have those issues09:17
CimiSaviq, I'll check it out09:17
SaviqCimi, thanks09:17
SaviqCimi, the pip is fine on manta, btw09:17
Cimidon't have it09:18
Cimionly ma+guro09:18
SaviqCimi, that's fine, it's the same on desktop09:18
SaviqCimi, just resize your window09:18
Saviqmzanetti, Cimi the example from file:///usr/share/ubuntu-ui-toolkit/doc/html/qml-ubuntu-components-popups0-popover.html works fine09:20
SaviqCimi, mzanetti I expect it's our theme's fault09:20
mzanettiSaviq: yeah... sounds reasonable09:20
mzanettiSaviq: 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
Cimimzanetti, what's the argument of the registerSettingsObject?09:21
mzanettiGSettingsQml09:22
CimiQObject obj or *obj?09:22
mzanetti*09:22
Cimiok09:22
SaviqCimi, yeah http://pastebin.ubuntu.com/5914173/09:22
Cimimzanetti, I am confused with those QString...09:22
SaviqCimi, it's a theming issue09:22
Cimiand objects, sometimes they need the pointer sometimes not09:22
SaviqCimi, probably an SDK bug then09:22
mzanettiCimi: what QString?09:22
SaviqCimi, filing another one for the pip09:22
Cimimzanetti, sometimes I notice there is the * sometimes not09:23
Cimimaybe I am confused09:23
mzanettiCimi: you should rarely need a QString*09:23
mzanettiCimi: but always use QString&09:23
mzanetti:P09:23
* mzanetti parla arabo con Cimi09:24
mzanettiCimi: nevermind... just do what you think is ok, push it and I'll review and explain09:24
Cimimzanetti, I'll do that the compiler thinks is ok :-P09:28
Cimi*what09:28
mzanettiCimi: well, with C++ there are always like 50 good ways to do it and 500 bad ways but still compiling ways :D09:29
SaviqCimi, bug #1205257 now09:29
ubot5bug 1205257 in Unity 8 ""Recent searches" pointer/pip in dash is shown in the wrong place under narrow layout" [Critical,In progress] https://launchpad.net/bugs/120525709:29
SaviqCimi, I reassigned the other one to the SDK09:29
tsdgeosSaviq: what's wrong with the hud? i just started the phone app, opened the hud and get quit/compose/add in the hud actions09:46
tsdgeoscertainly the highlighting doesn't work though09:46
veebersmzanetti, 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
veebersis this expected? Can I do something so I can kill it w/ Ctrl-C09:46
Saviqtsdgeos, how about voice?09:47
tsdgeosSaviq: that doesn't seem to work09:48
tsdgeosis that what the bug was about?09:48
Saviqtsdgeos, yeah, those are the two that Oren reported not working09:48
Saviqtsdgeos, not really, I didn't see it working at all09:48
tsdgeoswell, then we have a problem with "working at all" :D09:48
Saviqtsdgeos, can you try and beat some sh*t out of the hud09:48
tsdgeoswoot09:48
tsdgeosthe hud has grown a button margin :D09:49
mzanettiveebers: I have no clue about Glib.Mainloop09:49
veebersmzanetti: cool, sorry09:49
mzanettiveebers: mostly because I always try to avoid it exactly because it has such weirdness all over the place09:49
tsdgeoslet me fix the button margin first09:49
veebersmzanetti: that sounds like a smart way to live :-)09:49
Saviqtsdgeos, yeah I saw that - prolly sdk / theming09:50
tsdgeosButton -> AbstractBUtton09:50
tsdgeoslike we did everywhere else, no?09:50
mzanettiveebers: not sure if its smart. but seems to have saved me a lot of pain so far :D09:50
tsdgeosactually no09:50
tsdgeossince we don't use a Button there09:51
Cimimzanetti, it doesn't find foreach but I have #include <QList>09:51
mzanettiCimi: unfortunately we have the nice Qt macros disabled so you need to use Q_FOREACH() or a regular for() loop.09:52
Cimiok09:52
Saviqtsdgeos, hmm I just flashed 0725.1 on manta and no hud in sight :/09:54
tsdgeosget yourself a mako :D09:54
Saviqtsdgeos, just flashed maguro now, too, checking09:54
Cimimzanetti, compiles :D09:55
mzanettiCimi: \o/09:55
Cimimzanetti, now let's wait the expected crash :D09:55
mzanettiheh...09:55
Saviqtsdgeos, yeah, nothing on maguro either09:55
tsdgeosthat is weird :-/09:56
Cimimzanetti, s this correct or I need to clear the list in a different way to avoid leak? http://paste.ubuntu.com/5914255/09:56
tsdgeosSaviq: you get the hud button but upon release you get nothing?09:56
tsdgeosor empty stuff?09:56
Saviqtsdgeos, empty09:57
Saviqtsdgeos, just the four disabled toolbar items09:57
tsdgeoswhich app?09:57
mzanettiCimi: first, don't clear the list or it would work only once09:58
Cimimzanetti, I'm clearing the copy09:58
Saviqtsdgeos, phone, gallery, gallery in image09:58
Saviqtsdgeos, all empty09:58
mzanettiCimi: right... don't make a copy :D09:58
tsdgeosSaviq: do you have hud-service running?09:58
mzanettiCimi: 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 class09:59
Saviqtsdgeos, yeah checking that now09:59
Cimiyeah09:59
mzanettiCimi: otherwise it would crash at some point, yes09:59
Cimimzanetti, new issue09:59
Cimimzanetti, how do I initialise GSettingsController09:59
Cimimzanetti, adding GSettingsController under Shell ()10:00
Cimicomplains it's not creatable10:00
mzanettiCimi: 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:00
Saviqtsdgeos, yeah, it's there10:01
Cimimzanetti, already did that :P10:01
tsdgeosSaviq: :/10:01
mzanettiCimi: you can just use it there as GSettingsController.setPictureUri(foobar)10:01
mzanettiCimi: grep the code for "LauncherModel" for example. Thats a singleton too10:01
Cimiah ok10:01
Saviqtsdgeos, you on 0725.1?10:02
Cimimzanetti, I was creating the component, setting an id, and using the id10:02
Cimimzanetti, thinking was created by the plugin10:02
tsdgeosSaviq: how do i check?10:02
Saviqtsdgeos, did you flash with --pending?10:02
tsdgeosno10:02
Saviqtsdgeos, right, so you're on 071610:02
Saviqor 2210:02
* Saviq tries10:03
* tsdgeos missed the mail about --pending :-/10:03
tsdgeoswhat does --pending mean?10:03
mzanettitsdgeos: I think it flashes the latest, even though if its not tagged as a "good" one10:03
=== dandrader is now known as dandrader|afk
mzanettibut I missed that mail too10:04
tsdgeosok, so let's restart the flashing all over again10:04
tsdgeos...10:04
davmor2_tsdgeos: --pending flashes daily only do this if you know the image is good10:04
=== davmor2_ is now known as davmor2
mzanettinic-doffay: here you go: http://paste.ubuntu.com/5914285/10:08
mzanettinext one!10:09
mzanetti;)10:09
nic-doffaymzanetti, why didn't the binding work?10:09
mzanettinic-doffay: because the binding was set for all the scopes10:11
mzanettinic-doffay: which means they all fight for the state10:11
mzanettinic-doffay: it might work if written outside the loader10:11
nic-doffaymzanetti, nice one, confirmed it works.10:12
nic-doffayMinimised it to one line though.10:12
mzanettinic-doffay: something like this: interactive: Qt.binding(function() { return currentItem.item.selectorVisible; })10:12
mzanettinic-doffay: can you give this one a shot? ^10:12
nic-doffaymzanetti, I see and yeah giving, going to give it a go...10:12
mzanettinic-doffay: misses a !10:12
mzanettito invert the logic...10:13
nic-doffaymzanetti, it does work, but it sort of conflicts with the loading bool.10:14
nic-doffaySo I'm keeping it on the loader instead.10:15
mzanettinic-doffay: what's the loading bool?10:15
nic-doffaydashContent.scopes.loaded10:15
mzanettinic-doffay: how about this:10:15
mzanettiinteractive: dashContent.scopes.loaded && ! Qt.binding...10:16
nic-doffaymzanetti, that's what I tried.10:21
=== dandrader|afk is now known as dandrader
mzanettiCimi: working?10:31
MacSlowveebers, odd10:31
Cimimzanetti, writing the test10:31
Cimimzanetti, small issue10:39
Cimimzanetti, so I am trying to check the image was changing10:39
Cimimzanetti, so I was trying to see if the url of the source of crossfadeImage was changing10:39
Cimimzanetti, I need to convert the url into a string10:40
Cimiso I can use indexOf and see if it contains the path I need10:40
Cimiwho knows how to convert url to a string?10:42
CimitoString10:42
Cimilol10:42
mzanettiCimi:  doesn't the url have a toString()?10:43
Cimimzanetti, indeed it has ^^10:44
mzanettiSaviq: are you aware of any activities regarding the SIM pin?10:53
Saviqmzanetti, yeah, you can do it in a terminal already10:55
mzanettiSaviq: I mean a qml plugin that I can hook up to the pin entry10:56
Saviqmzanetti, then no, I don't think so10:56
mzanettiSaviq: I can do that, especially since I'm sort of blocked on the launcher until vesa and antti are back from vacation10:56
mzanettiSaviq: just wanted to make sure theres not someone else working on it already10:57
Saviqmzanetti, but I think it's lightdm's territory10:57
Saviqmzanetti, you should only talk to lightdm when entering the pin10:57
Saviqmzanetti, and it should do its things10:57
Cimidaaamn so many text conflicts11:01
Cimi:(((11:01
Cimithis is brilliant http://i.imgur.com/mjVN8vA.jpg11:02
dednicklarsu: what are you going to offer in the unitymenumodel in terms of the action?11:04
mzanettiSaviq: hmm... mterry and me discussed that and I think thats not the right solution11:04
mzanettiSaviq: well, dunno11:04
larsudednick: I just introduced a "state" role which will give you the action state11:05
Saviqmzanetti, it needs to be like that if lockscreen is in the greeter anyway11:05
larsudednick: I think I'm done, but haven't uploaded because qml doesn't like me11:05
Saviqmzanetti, I simply think it should be a separate PAM module that authenticates you against the SIM card in that case...11:05
tsdgeosSaviq: confirmed --pending image is broken11:05
Saviqmzanetti, if it's not desirable for some reason, I'm listening11:05
tsdgeosSaviq: regarding hud11:05
Saviqtsdgeos, yup11:06
tsdgeosgoing to do some investigation now11:06
dednicklarsu: that has the icon, label, etc in it for the root element right?11:06
mzanettiSaviq: hm... not really see why that would go through pam... the sim pin and the lock pin are different things11:06
mzanettiSaviq: what if you insert a sim at runtime when pam auth has already happened?11:07
larsudednick: exactly11:07
Saviqmzanetti, well, you're not un-authenticated of course11:07
Saviqmzanetti, 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 phone11:08
Saviqmzanetti, and not having to do it twice11:08
Saviqmzanetti, I think it's a UX question11:09
mzanettiSaviq: usually those are 2 different things... of course some sort of single-sign-on would be nice, but we definitely need to support both cases11:09
Saviqmzanetti, yes - both cases of course11:09
mzanettiSaviq: as the sim pin is only numerical and the phone lock can be alphanumeric11:09
Saviqmzanetti, didn't we already discuss it btw? ;)11:10
Saviqmzanetti, we could store the SIM PIN in the keyring11:10
Saviqmzanetti, but then exactly because the unlock PIN and the phone lock PIN are both 4-numbers11:10
Saviqmzanetti, I don't think it would be good to keep them separate11:10
Saviqpeople would not understand it11:10
mzanettiSaviq: the unlock pin might not always be 4 digits11:11
Saviqmzanetti, mhm11:11
mzanettiSaviq: the N9 for example presents you a blue pinentry dialog for the lock code and the green one for the SIM pin11:11
mzanettiSaviq: and that's the same for all phones I've been using so far11:11
mzanettinot the colors of course... but the fact that they are separate.11:12
Saviqmzanetti, I haven't had a SIM PIN enabled for a few years now ;)11:12
mzanettiso 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 dialog11:12
Saviqmzanetti, ok then - still not something for a QML plugin11:13
Saviqmzanetti, it should be handled same as WiFi password11:13
Saviqmzanetti, via a system dialog / notification11:13
mzanettiSaviq: well, we need at least a qml plugin to change the pin from the settings app?11:13
Saviqseb128, what's your say ↑?11:13
Saviqmzanetti, yeah, since when are *we* doing the settings app? ;)11:14
mzanettihehe11:14
Saviqmzanetti, https://bugs.launchpad.net/unity8 if you're bored :P11:14
mzanettiSaviq: Just saying... it'd be dumb if we write some stuff for it and the settings people start from scratch again11:14
Saviqmzanetti, yeah, but we're not going to write it, so we're good :)11:14
=== MacSlow is now known as MacSlow|lunch
mzanettiSaviq: 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
Saviqmzanetti, there's also enough reviews for all of us I think11:15
Saviqmzanetti, no time to be bored11:15
* Saviq takes out a whip11:15
mzanettiSaviq: they are all claimed by someone11:15
Saviq*crash811:15
seb128Saviq, mzanetti: sure, we can add an UI for PIN stuff, but we need a design for it11:15
Saviqseb128, there isn't one?11:16
seb128Saviq, no, https://wiki.ubuntu.com/SystemSettings has "Phone, including SIM services"11:16
seb128Saviq, which points to https://wiki.ubuntu.com/PhoneApp#Settings11:16
seb128but nothing there has design for PIN11:16
Saviqseb128, that looks like an omission11:16
seb128mpt, ^11:17
larsudednick: 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
Saviqmzanetti, btw https://wiki.ubuntu.com/SecurityAndPrivacySettings#Phone_locking11:17
Saviqmzanetti, "4-digit PIN"11:17
larsudednick: it's in roleNames(), and qml doesn't complain about a undefined identifier. So it picks that up11:17
mptSaviq, that's different from SIM PIN11:18
Saviqmpt, yeah, just saw https://wiki.ubuntu.com/SecurityAndPrivacySettings#SIM_PIN11:18
Saviqseb128, ↑11:18
mptright11:18
mptFresh off the drawing board yesterday11:18
Saviqmpt, don't you think people will get confused between a 4-digit phone lock PIN and a separate 4-digit SIM PIN?11:18
mzanettiso we support only 4 digit pins? you know that there are services that require >=6 digits by specification. for example microsoft exchange11:18
seb128Saviq, oh, doh, that got added yesterday11:19
mptSaviq, I do, yes.11:19
seb128Saviq, thanks11:19
Saviqmzanetti, for that there's password, right?11:19
Saviqmzanetti, you can have a 6 digit password11:19
dednicklarsu: 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
mzanettihmm... would work I guess, altough not really nice imho.. but ok11:19
Saviqmpt, that's why I was feeling like the PIN locking should be tightly coupled to passphrase lock11:19
Saviqmzanetti, and let's face it - 6-digit PIN isn't much better than a 4-digit one is it ;)11:20
larsudednick: an empty string11:20
mptSaviq, or just rename the 4-digit PIN to something else, e.g. "keycode", "passcode"11:20
Saviqmpt, at least11:20
Saviqmpt, erm11:20
larsudednick: is there a limit on the amount of roles?11:20
Saviqmpt, I said that wrong  " that's why I was feeling like the PIN locking should be tightly coupled to SIM PIN lock"11:21
Saviqmpt, that's what I meant ↑11:21
dednicklarsu: not sure. give me a sec and i'll try inserted one quick into mine.11:21
seb128mpt, 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:21
mptSaviq, 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
mptSaviq, doesn't even have a SIM in it, I mean.11:22
mzanetti+1 ^^11:22
dednicklarsu: i dont think you can call it "state". :)11:22
dednickthere's already a qml property called that11:23
Saviqmpt, mzanetti that would still work if the device PIN lock was a "master" lock that happened to unlock the SIM, too11:23
mzanettidednick: larsu: you should still be able to access with "model.state"11:23
dednickit's probably fetching it from the delegate11:23
mzanettidednick: larsu: still not nice to produce such name collisions if it can be avoided11:23
Saviqmpt, also, do we (not) want to store the SIM PIN in a keyring (only if device locking is enabled)?11:23
larsudednick: argh. thanks.11:23
larsumzanetti: ya, I was getting it through the delegate11:23
mptseb128, SIM services are indeed under the Phone section.11:23
dednicklarsu: i havent verified11:23
seb128mpt, ?!11:24
larsumzanetti: how can I avoid name collitions if I'm forced to use the same namespace?11:24
mptSaviq, but then they'd get out of sync when you swapped SIMs or used the SIM in a different device.11:24
mptseb128, https://wiki.ubuntu.com/PhoneApp#Settings11:24
mzanettilarsu: by not naming the role "state" :D11:24
larsumzanetti: tbh, the whole delegate handling in qml is much too magic11:24
seb128mpt, why are they on the privacy... oh, call diversion is a SIM service?11:24
mzanettilarsu: I don't think it is... can I help you with anything (explaingin something) ?11:25
larsumzanetti: how am I supposed to know that that already exists?!11:25
mzanettilarsu: because every QML item has a property named "state"11:25
seb128mpt, I guess I'm just enough of a phone nerd to understand all the meaning of SIM, ignore me11:25
veebersmzanetti, MacSlow|lunch: ping11:25
mzanettiveebers: pong in one minute11:26
veebersmzanetti: ack11:26
Cimimzanetti, Saviq https://code.launchpad.net/~unity-team/unity8/unity8.background_gsettings/+merge/17495811:26
mptseb128, it says "including", not "comprising" :-P11:26
mzanettilarsu: https://qt-project.org/doc/qt-5.0/qtquick/qquickitem.html11:26
mzanettiCimi: Saviq: will review in a bit11:26
seb128mpt, well there is 0 mention of "SIM" on the phone page, I didn't realise things like "horoscope" were "SIM services"11:26
mzanettiveebers: pong now :D11:26
mptseb128, I understand that call diversion and call waiting are not SIM services.11:26
larsumzanetti: I guess plus all the properties of the delegate?11:27
larsumzanetti: the real problem is that this is incredibly hard to debug11:27
mzanettilarsu: yeah. everything inherits QQuickItem (very few exceptions - ignore them for now)11:28
mzanettilarsu: in the background this is standard C++ with inheritance11:28
veebersmzanetti: hey, I just pushed up my changes with the changes we discussed (took me longer than expected :-\)11:28
Saviqmpt, I know they would - I'm just really asking questions - not trying to push solutions :)11:28
veebersmzanetti: would you be able to take a look and ensure that it works for you and or you think it'll suite11:28
Saviqmpt, but I agree, at least a rename of the PIN locking are needed11:28
larsumzanetti: right, I understand that. I just think putting role names in the same namespace is suboptimal :)11:29
mzanettilarsu: I agree it has some pitfalls at the beginning. but once you got a grasp on it its amazingly simple11:29
mzanettilarsu: 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:29
larsumzanetti: what happes if a future version of qt adds a networkState property to qquickitem?11:30
mzanettilarsu: 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:30
larsumzanetti: ah, that's much better!11:31
mzanettilarsu: unlikely I'd say... but sure, that would cause your code to break. so it might make sense to always use model.rolename11:31
mzanettiveebers: checking out your stuff now11:31
veebersmzanetti: awesome, cheers11:31
mptseb128, zero mention apart from the heading that says "SIM Services". :-P11:33
seb128mpt, DOH ;-)11:34
mzanettilarsu: 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
mzanettiI guess that's the downside of getting updates :)11:34
seb128mpt, 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:34
mptseb128, it comes from the SIM. Mine has "Traffic Line", which might be useful if I had a car.11:35
mzanettiveebers: hmm... failed with the Xlib sequence thingie11:36
veebersmzanetti: what, really? which test are you running?11:36
mzanettiveebers: unity8.shell.tests.test_notifications.TestNotifications.test_interactive11:36
=== MacSlow|lunch is now known as MacSlow
veebersmzanetti: fyi I only updated test_simple_interactive11:36
mzanettiack11:36
MacSlowveebers, poing... just reading the backlog...11:37
veebersmzanetti: oh and d;oh didn't remove the other notification_helper stuff sorry :-\11:37
mptseb128, so by including "Horoscope" I'm joking a little, in the same way as calling the carriers "Aubergine" and "Pi UK"11:37
veebersMacSlow: 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 it11:37
MacSlowveebers, pull atm...11:37
seb128mpt, I see ;-)11:38
seb128mpt, I can't even find those services on my android phone11:38
mzanettiveebers: are you dropping the old stuff?11:38
veebersmzanetti: yeah will be, just didn't do it in this commit11:38
seb128mpt, I wonder where they hide them :p11:38
MacSlowveebers, mzanetti: looking good here... both scenarios pass11:39
mzanettican't believe it until I see it :D11:40
MacSlowveebers, mzanetti: I'll work that up extending it to a snap-decision too11:40
larsumzanetti: 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 app11:40
MacSlowmzanetti, I can make a screencast...11:40
larsumzanetti: so really, in this case adding a property would be an API break11:40
mzanettilarsu: 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 around11:41
veebersMacSlow. mzanetti: if you're both happy with that update, then I'll take off for the night11:42
larsumzanetti: ah okay, that makes it a bit better. I'd still prefer that "model." was the only way :)11:42
mzanettilarsu: 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 there11:42
tsdgeosSaviq: and now it's working :-S11:43
Saviqtsdgeos, yeah, that's what I experienced11:43
Saviqtsdgeos, it's quite random11:43
MacSlowveebers, it's working for me here... I still need to add the "dbus-launch" thing11:43
veebersMacSlow: ah yes, but my intention was to have something that created interactive notifications :-)11:43
mzanettiveebers: *applause*11:44
mzanettiveebers: thanks a bunch and enjoy your weekend!11:44
MacSlowveebers, I'll do that dbus-laucn thing... thanks a lot... party hard! :)11:44
SaviqMacSlow, mzanetti, veebers I hope we're only dbus-launching for the notifications test do we?11:44
veebersmzanetti: cool, I'm glad this solution works (finally)11:44
MacSlowSaviq, yes it will be restricted to those11:44
veebersSaviq: yes11:44
mzanettiSaviq: yeah. and I actually vote for launching it for every test case and stopping it after every test case11:44
larsumzanetti: yeah, that's true.11:44
veebersmzanetti: +111:44
mzanettiSaviq: i.e. not even only for the notifications suite11:45
mptseb128, 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=-111:45
MacSlowSaviq, mzanetti: first I'll do it in the setUp()/tearDown() for hte notification tests11:45
veebersmzanetti: oh, perhaps -1 then :-P why for all tests?11:45
veebersmzanetti, MacSlow: right I'm off, time for a beer. Sorry it took so long to get to this point :-\11:46
mzanettionly in setUp()/tearDown() for the notifications I'd say and afaik they are called for each test case anyways. so that should be fine11:46
mptseb128, actually, I'm wrong, that's BlackBerry. :-)11:46
Saviqmzanetti, veebers, MacSlow k!11:46
veebersMacSlow: If you have any other issues/questions fire me an email, I'll be around tomorrow morning11:46
mzanettiveebers: enjoy your beer! now go away! thanks again!11:46
veebersmzanetti: ^_^ o/11:46
seb128mpt, googling only returns me sim info apps from the google play11:47
MacSlowveebers, ok...*high.5*11:47
mptseb128, yeah, I see references to a "SIM Toolkit" app11:47
Saviqseb128, mpt it's something the carriers add to the SIM11:47
Saviqseb128, mpt I have "SIMextra" on the N911:47
seb128Saviq, yeah, I was trying to see how/where android displays those infos11:47
seb128Saviq, but I don't find anything in the settings for it11:47
Saviqseb128, mpt and it's a simple drill-down UI11:47
seb128Saviq, I'm starting to wonder if they install something for it by default11:47
Saviqseb128, there's even an erotic horoscope here11:48
seb128haha11:48
mpthaha11:48
Saviqmpt, you should include that in your designs!11:49
SaviqI wonder if anyone uses that *at all*11:49
Saviqit took me like 20 taps to get to the actual horoscope11:50
Saviqseb128, mpt I think the few useful things are like when you can request the APN settings to be sent to the phone11:50
Saviqnot that it works for me here anyway...11:50
Saviqjeez somebody is probably actually paid to maintain that stuff..11:51
Saviqyikes 21 invites, that's new...11:51
mptseb128, anyway, SIM services is not scheduled for now, so I'd concentrate on the call waiting and diversion :-)11:52
seb128mpt, yeah, those are higher in the list for sure11:52
seb128mpt, 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:56
mptseb128, 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:57
seb128shrug11:58
seb128I better not start on it then11:58
mptsorry11:58
seb128no worry11:58
seb128mhr3_, hey11:58
seb128mhr3_, https://wiki.ubuntu.com/SecurityAndPrivacySettings?action=AttachFile&do=get&target=phone-security-privacy-search.png11:58
seb128mhr3_, do you have a way to tick on/off individual services like in that screenshot (ignore the title, it's "Dash search")11:59
seb128mhr3_, or just the gsettings key you gave me the other day?11:59
mzanettiCimi: who wrote the GSettings plugin?11:59
mhr3_seb128, we need to clarify that with design, scopes can be enabled disabled in the dash12:00
seb128mpt, ^12:00
mhr3_seb128, so for now, let's just do the global switch12:00
seb128mhr3_, ok, I'm going to start by adding the "phone only/phone and internet" from that dialog, without the sources12:00
mzanettiCimi: 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 me12:00
seb128mhr3_, thanks12:00
seb128mzanetti, what?12:01
mzanettiseb128: the package name does not comply with naming standards for the rest of our packages12:01
seb128mzanetti, do we care? /me doesn't want to go through a rename/transition12:02
mzanettiseb128: I just know that like 3 months ago we had all different namings and then something happened so that everyone renamed their plugins12:03
mzanettiseb128: so I guess if you leave it now at some point someone will show up and complain for real12:03
seb128mzanetti, ok, alright, I'm going to rename it, thanks for pointing it out12:03
Cimimzanetti, larsu12:06
mzanettiCimi: thanks. seb seems to take care of it12:07
tsdgeosthostr_: who's hud nowadays?12:08
thostr_tsdgeos: Ted12:09
tsdgeosok12:09
tsdgeosi'm suspecting he did some changes that upsets the hud ui12:10
mzanettiCimi: do the tests work for you?12:11
mzanettiCimi: I get GSettingsController is not defined12:11
Cimimzanetti, I rebuild..12:12
Cimimzanetti, unless I forgot to import GSettings 1.0 in the tst_SHell.qml12:13
* Cimi checks12:13
Cimimzanetti, I added and pushed12:14
Cimimzanetti, let me know if works now12:14
Cimiworks here12:17
mzanettiCimi: yep. works now12:19
tsdgeosmhr3_: do we have any dee cli dumper?12:19
mhr3_tsdgeos, yep, dee-tool12:20
mhr3_dee-tool -m model_name will dump it12:20
tsdgeosok, tx12:20
mzanettiCimi: review done12:21
=== _salem is now known as salem_
Saviqmzanetti, if you're bored out of your guts ;) you could try helping mterry in getting the camera and phone into the greeter12:29
Saviqmzanetti, 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 greeter12:29
Saviqmzanetti, but obviously would be good to get mterry's status of this12:30
=== 20WACTA0R is now known as tvoss
mzanettiSaviq: ack.12:30
=== jhodapp|afk is now known as jhodapp
mzanettidandrader: is this still valid? imho works quite nicely since you added the DDA: https://bugs.launchpad.net/unity8/+bug/113010212:39
ubot5Launchpad bug 1130102 in Unity 8 "[W/M] gestures in apps near the edges are detected as edge swipe" [Critical,In progress]12:39
dandradermzanetti, 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 scheme12:41
mzanettidandrader: oh... I thought that would already be there12:41
mzanettidandrader: ok then. nvm12:42
larsudednick: sorry for the delay, had an unexpected meeting13:03
larsudednick: patch is done, except that Q_EMIT(dataChanged()), does't work13:03
* larsu investigates13:03
dednicklarsu: ok. is it in LP yet?13:03
larsudednick: it is now :)13:05
dednicklarsu: :) ta. i'll take a look in a sec13:06
mhr3_Trevinho, andyrock, bregma, getting http://paste.ubuntu.com/5914789/ with latest nux/unity in S13:11
larsumzanetti: when a single row in my model changes, I'm emitting dataChanged(QModelIndex(pos, 0), QModelIndex(pos, 0)). Is that right?13:12
larsumzanetti: qml doesn't seem to pick that up13:12
mzanettilarsu: sounds correct.13:13
mhr3_well, S nux and trunk unity13:13
mzanettilarsu: oh no13:13
mzanettilarsu: you're creating a new QModelIndex which is not from this model13:13
mzanettilarsu: try this:13:13
mzanettiemit dataChanged(index(pos), index(pos))13:13
larsumzanetti: ya, sorry, that's actually what I'm doing13:13
larsu    Q_EMIT model->dataChanged(model->index(position, 0), model->index(position, 0));13:14
mzanettilarsu: hmm... should work I'd say. can I see the branch?13:14
larsumzanetti: sure: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/libqmenumodel/src/unitymenumodel.cpp#L23813:15
larsumzanetti: can I emit signals from outside the class? This is in a C callback...13:15
andyrockmhr3_, how did you get that?13:15
mhr3_andyrock, closed a preview13:16
andyrockmhr3_,  do you get it all the time?13:17
andyrockor is it random?13:17
mzanettilarsu: should work I'd say... signals are just public functions and Q_EMIT is actually defined to nothing13:17
mhr3_not sure if all the time, but it's not hard to hit13:17
andyrockok13:17
mzanettilarsu: the G stuff is black magic to me so no clue whats happening in there13:17
mhr3_andyrock, hm, well, pretty much all the time13:17
mzanettilarsu: you sure the position is correct?13:17
larsumzanetti: yes, the position is correct (I even tried emitting dataChanged for (0, nrRows)13:18
mzanettihmm... must be.. as its used to get the item itself too13:18
mzanettilarsu: still nothing, even if you emit it for all the rows?13:18
larsumzanetti: yep :(13:19
mzanettilarsu: 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
andyrockmhr3_, ok I'm building nux trunk13:20
larsumzanetti: yeah, I have a qDebug in there13:20
mhr3_andyrock, S nux is enough13:20
tsdgeostedg: hi, did you do any change to the hud recently?13:20
mzanettilarsu: do you have a qDebug() in the model's data() method?13:20
mzanettilarsu: if dataChanged is emitted it should query data()13:20
larsumzanetti: no, good idea, I'll try13:21
tsdgeostedg: we are getting bad stuff like https://bugs.launchpad.net/unity8/+bug/1205097 on the dailies13:21
tsdgeosdailys13:21
ubot5Launchpad bug 1205097 in Unity 8 "HUD isn't working" [Critical,Triaged]13:21
tsdgeoswhatever the plural of daily is :D13:21
mzanettitsdgeos: dailies13:21
mzanettiy -> ie in plurals13:22
larsumzanetti: data doesn't get called as a result of dataChanged()13:22
tedgtsdgeos, I think that Wellark did a fix last week-ish... but I don't think it'd be an issue.13:22
=== boiko_ is now known as boiko
tsdgeostedg: well, we haven't changed anything in months :D13:22
tsdgeosmaybe something lower in the stack broke?13:23
mzanettilarsu: connect a private slot inside the model to dataChanged and see if it gets actually emitted13:23
Saviqtsdgeos, did you manage to confirm where the result highlighting failed?13:23
tedgtsdgeos, Could it be transition from the HudQt to Unity Actions API?13:23
Saviqtsdgeos, and if voice works, when hud itself does?13:23
tsdgeosSaviq: 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 :D13:24
tsdgeosSaviq: not sure it makes any sense on investigating the problems on the "old" image if the "new" one is broken++13:24
Saviqtsdgeos, how about hud-cli? would that get at least the highlighting?13:24
Saviqtsdgeos, no, of course not13:24
tedgtsdgeos, That could also be changing platform API.  Are you guys still sending data through there?13:25
tsdgeostedg: which data?13:26
tedgtsdgeos, Window change, new app, etc.13:26
tedgBasically, is the image still using Surface Flinger.13:26
tsdgeosthe unity8 code does do anything of that13:26
larsumzanetti: just tried that, it does get emitted13:27
tedgIt will :-)13:27
tsdgeosso yes, if that changed/broke it may well be that13:27
tsdgeostedg: it will, but it's not using mir yet13:27
tsdgeosif that was the question13:27
tedgtsdgeos, Yeah, I wasn't sure where things were there.13:27
larsumzanetti: do I need to do anything special in the delegate?13:27
Saviqtedg, yes, we're still on surface flinger and the "old" ubuntuappmanager13:27
mzanettilarsu: no... you shouldn't need to.13:28
mzanettilarsu: try this in QML:13:28
tsdgeosSaviq: the hud-cli doesn't print highlighting so can't tell about that13:28
mzanettilarsu: rollback13:28
Saviqtsdgeos, yup13:29
mzanettilarsu: add another signal in the model... just a dummy one and emit it somehow13:29
tsdgeosbtw, my notify-osd in the desktop seems as if just crashed13:29
larsumzanetti: k, give me a minute13:29
mzanettilarsu: then in QML: Connections { target: model; onSignal: print("yay! signals from models work") }13:29
mzanettilarsu: where onSignal is "on<name-of-the-signal>" and "model" is the qml variable name of the model13:30
andyrockmhr3_, i get a crash too13:32
mhr3_andyrock, good :)13:33
mhr3_andyrock, i wonder what changed though, it worked fine two days ago13:33
andyrockmhr3_, i'm checking that too13:33
larsumzanetti: that works, even when I use onDataChanged as the signal13:34
mhr3_andyrock, although the entire unity stack was pushed to s yesterday13:34
mzanettilarsu: ok. now it gets werid13:34
mzanettiweird13:34
mzanettilarsu: one sec.. reading the docs13:34
larsu:D13:34
mhr3_andyrock, still, ap testing didn't have the issue, there are quite a few tests that close previews13:34
andyrockthat's weird indeed13:36
mzanettilarsu: ok... so the only thing I could imagine now is that at some point you break the binding in QML13:38
mzanettilarsu: for example:13:38
mzanettilarsu: initially its like this: Label { text: model.networkStatus }13:38
mzanettilarsu: and later it happens that you do a text = "somethingElse"13:39
mzanettilarsu: as soon as you use = the property gets overwritten and the binding is broken up13:39
mzanettilarsu: other then that... I'm puzzled too13:39
larsumzanetti: I'm not doing that. Qml is here: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/examples/unityqmlmenumodel.qml#L7613:40
mzanettilarsu: ok. one minute. my turn in the standup now13:40
larsumzanetti: ha, sorry to keep you from that :)13:40
seb128mzanetti, https://code.launchpad.net/~seb128/gsettings-qt/rename-binary-package/+merge/177141 btw13:41
seb128mzanetti, the name in gsettings-qt is right, it's the other ones that are wrong, see the comment from kenvandine on there13:42
mzanettiseb128: uh... sorry then :/13:43
mzanettiseb128: I just noticed that all the others now end with "-plugin" except this one13:43
kenvandinemzanetti, when we figured out how to properly version those packages we changed that13:43
kenvandinestarted with the hud plugin13:43
dednicklarsu: got a problem. i need access to the root item action. to get the indicator icon.13:43
kenvandineand would change them as the modules break api13:43
mzanettikenvandine: yeah, I read your comment13:43
dednicklarsu: i think we need a invokable data(int row, string role) function.13:44
larsudednick: that's why I just added actionState.... or am I misunderstanding your question?13:45
kenvandinemzanetti, sorry for any confusion13:45
dednicklarsu: yeah, but i can only access using a listview or repeater.13:46
andyrockmhr3_, not sure but can be this? http://bazaar.launchpad.net/~unity-team/nux/trunk/revision/80213:46
andyrockmhr3_, the crash is in the VScrollbar dtor13:47
andyrockand there TimerObjects there13:47
andyrock*there are13:47
larsudednick: ah, I didn't know that wasn't possible. Can I just declare the data() function as Q_INVOKABLE?13:47
mzanettilarsu: ok... I might have an idea13:47
larsudednick: if not, we'll need another name :)13:48
mzanettilarsu: re Q_INVOKABLE data(). no that won't work13:48
mzanettilarsu: there is no QModelIndex in QML13:48
mzanettilarsu: common practice is to add a Q_INVOKABLE get(int index, const QString &role)13:48
larsuah, right13:48
dednicklarsu: it's a list model. only 1 row, no parents13: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 properly13:48
dednickso can just access by row13:48
mzanettilarsu: regarding your datachanged issue:13:48
larsudednick: will add you a get() method as mzanetti proposed13:49
mzanettilarsu: I suspect it doesn't update because its wrapped in a Component13:49
dednicklarsu: cool. thanks13:49
mzanettilarsu: add "property string actionState: model.actionState" to the Loader13:49
mzanettilarsu: and in the component, refer to that one13:49
larsumzanetti: nope, same issue13:51
mzanettilarsu: I'm lost just looking at the code. would need to build/test it myself now13:52
mzanettilarsu: how easy is it to do that?13:52
larsumzanetti: 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 lost13:53
larsumzanetti: very easy if you're running saucy13:53
mzanettilarsu: ok.. can you ping me on monday?13:53
mzanettilarsu: I would need to leave now13:53
larsumzanetti: will do. Thanks for your help so far!13:53
mzanettilarsu: np. talk to you on monday then13:53
Cimimzanetti, I fixed what you asked13:54
=== dandrader is now known as dandrader|lunch
=== salem_ is now known as _salem
mzanettiCimi: looks good to me... however, as I wrote some code in there, would you mind testing/reviewing the parts I did?13:57
mzanettiholy crap! I closed mumble but still hear Saviq talking!13:58
=== _salem is now known as salem_
* mzanetti is scared13:58
Saviqlol13:58
tsdgeos:D13:58
Cimimzanetti, only had a concern on the fact that we change gsettings now14:01
Cimimzanetti, in case the image is wrong we fallback by setting the key14:02
Cimimzanetti, not sure it's correct14:02
CimiI think it's better to have a fallback but not resetting the key14:02
mzanettiCimi: yeah... I see your point.... Saviq, what's your opinion?14:03
mzanettiSaviq: if the settings contains an invalid path to a picture.14:03
mzanettiSaviq: 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:03
dednickSaviq: my behaviour branch is here: lp:~nick-dedekind/unity8/indicators-behaviour.tabs14:04
dednickSaviq: but it also needs lp:~tpeeters/ubuntu-ui-toolkit/tabbar-expose14:04
Saviqmzanetti, leave it be14:04
mzanettiCimi: ^14:05
Saviqmzanetti, as the image might only be temporarily unavailable (for a reason I can't think of)14:05
Saviqdednick, cheer14:05
Saviqs14:05
mzanettiSaviq: right. good point14:05
mzanettiCimi: 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:06
Cimimzanetti, still here?14:23
Cimimzanetti, how about this? http://paste.ubuntu.com/5914997/14:23
Cimior Saviq ^14:23
SaviqCimi, that won't work since you're unloading the image14:24
SaviqCimi, so backgroundImage.status will change14:24
CimiI am confused14:25
SaviqCimi, I didn't follow the changes14:25
Cimiok14:25
CimiI'll wait michael14:25
CimiSaviq, is he eod?14:25
SaviqCimi, but you did have a "testing" image there, right? whose source you set to the gsettings image14:25
mzanettiCimi: also, this will break the binding14:25
Cimimzanetti, no it won't14:25
Cimimzanetti, oh indeed, shell.background14:26
Cimiyep14:26
Cimimzanetti, was thinking of something without adding an extra property14:26
mzanettiCimi: I don't have a super-quick answer right now :/14:26
Cimiok14:26
mzanettiCimi: need to figure on monday14:26
Cimiok14:27
mzanettiCimi:  you can extend the test to set a broken url and then a good one again btw14:27
Cimimzanetti, http://paste.ubuntu.com/5915015/14:27
Saviqsil2100, http://10.97.0.1:8080/job/autopilot-saucy-daily_release/632/console14:29
Saviqsil2100, from everything I can read there - check failed on both ati and intel due to jenkins failure :/14:29
mzanettiCimi: didn't test it, but reading it its a +114:32
mzanettiCimi: might cause a binding loop tho14:32
Cimimzanetti, only concern is the status !== Image.Error14:32
Cimimzanetti, not sure it should be == Image.Ready14:32
Cimior check for loading/null14:33
Cimiwhich loop?14:33
mzanettishell.background -> backgroundImage.Status -> shell.background14:34
mzanetti...14:34
MacSlowSaviq, 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
sil2100Saviq: ah, hm, ok will look at this as well, since I'm checking problems with the SDK stack now14:38
Saviqsil2100, thanks14:38
sil2100Since the check failed by success (tm)14:38
Saviqdednick, 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:39
dednickSaviq: sure14:40
MacSlowdednick, ok... were is the beef? :)14:40
SaviqMacSlow, 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
dednickMacSlow: not much documentat i'm afraid, but there are a few examples in code.14:42
MacSlowSaviq, sure... that's what I took away from the talk after the standup14:43
SaviqMacSlow, 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 itself14:43
MacSlowSaviq, yeah... "close" will still be needed14:44
MacSlowSaviq, I'll try to come up with a proof-of-concept as fast as possible14:44
SaviqMacSlow, otherwise tapping on the notification will invoke the single available action and the app will have to come to front and handle everything internally14:44
SaviqMacSlow, we might need to add something to the backend to prevent it dismissing the dialog if it's open or something14:45
SaviqMacSlow, and decide what has priority - SnapDecision or Dialog?14:45
dednickMacSlow: i'm unfamiliar with the system dialogs, so i dont really know what you need to know about.14:45
MacSlowSaviq, other thing is to not have those timeout at all14:46
SaviqMacSlow, we have that for both interactive and snaps, no?14:46
SaviqMacSlow, but yeah, some backend adaptations will need to happen14:46
MacSlowSaviq, well snap-decision have a timeout (for the call to be rejected)14:47
SaviqMacSlow, I think it can even be treated/sent as a SnapDecision in the end... but one with just one "fallback" action14:47
SaviqMacSlow, timeout? shouldn't the app decide when it wants to stop?14:47
dednickMacSlow: newest code for the menumodels is https://code.launchpad.net/~larsu/qmenumodel/add-unitymenumodel . although it's not quite done yet.14:48
MacSlowSaviq, there was a timeout-issue with the phone-app when an incoming call was ignored14:49
SaviqMacSlow, hmm I'd have thought the only point then snaps would "time out" is when the app requesting it would go away14:50
dednickMacSlow: UnityMenuModel is probably all you need. There's an example with a listview in the example folder.14:50
SaviqMacSlow, otherwise it should be the app's responsibility to remove the notification after a timeout that made sense for it14:50
SaviqMacSlow, but maybe I'm not thinking about something14:51
MacSlowSaviq, 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-osd14:52
SaviqMacSlow, right I agree we need an overall timeout (but a huge one)14:53
MacSlowSaviq, but doc-writing (and how-to examples) always gets pushed back again and again due to higher prio tasks14:53
SaviqMacSlow, that would kill poorly-behaved ones14:53
SaviqMacSlow, just like tests ;)14:53
MacSlowSaviq, 60 secs was in the air once14:53
SaviqMacSlow, but under that I'd have thought the apps would decide for interactive things14:53
Saviqaaanyway14:54
MacSlowSaviq, 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
MacSlowSaviq, but getting hold of that pid is not really easy14:55
MacSlowSaviq, right... bigger fish to fry14:56
SaviqMacSlow, hmm couldn't we just look at the DBus id of what connected?14:56
SaviqMacSlow, not per PID, but if it goes away, it'd drop from DBus at that point?14:56
MacSlowSaviq, if that's good enough14:57
SaviqMacSlow, I'd have thought it would be - you keep track of the clients that sent interactive notifications14:57
SaviqMacSlow, and if they're gone - clear all of those out14:57
SaviqMacSlow, although that might be tricky with the app lifecycle...14:58
MacSlowSaviq, old notify-osd kept track of the dbus-sender... not sure if the current backend still does that14:58
MacSlowSaviq, just looked... it does not.14:59
sil2100Saviq: the failure *might* have something to do with our experiments with the AP machines, should be ok now14:59
Saviqsil2100, thanks14:59
sil2100Saviq: it might be fixed after this15:00
SaviqMacSlow, 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 think15:00
MacSlowSaviq, :)15:01
MacSlowSaviq, keeping black-list ;)15:01
SaviqMacSlow, yup :)15:02
=== dandrader|lunch is now known as dandrader
SaviqMacSlow, I wonder if we should append / update notifications by the same sender...15:02
SaviqMacSlow, I hate like xchat and u1 client queue every single notification as a new one....15:03
MacSlowSaviq, that's what the append-hint is for15:03
SaviqMacSlow, I know15:03
SaviqMacSlow, but apps obviously are stupid ;)15:03
SaviqMacSlow, maybe there should be a "no-append-hint"15:03
MacSlowSaviq, devs don't read the existing docs and examples :)15:04
SaviqMacSlow, so that we append *unless* explicitly prevented15:04
TrevinhoMhr3 I was getting that crash when I changed the nux abi... Recompiling everything fixed it for good to me...15:06
TrevinhoAndyrock?15:07
CimiSaviq, on the theming bug, I don't think I touched that.. https://code.launchpad.net/~unity-team/unity8/unity8.colour_palette/+merge/17467815:09
CimiSaviq, it's probably a default value set with the theme, I'm investigating15:10
SaviqCimi, don't15:10
sil2100Saviq: published!15:10
Saviqsil2100, awesome - thanks15:10
SaviqCimi, I've already moved the bug under SDK's jurisdiction15:10
Cimibut there's a bug assigned to me15:11
Saviqhttps://bugs.launchpad.net/unity8/+bug/120525715:11
ubot5Launchpad bug 1205257 in Unity 8 ""Recent searches" pointer/pip in dash is shown in the wrong place under narrow layout" [Critical,In progress]15:11
SaviqCimi, ↑ this one is15:11
CimiSaviq, https://bugs.launchpad.net/unity8/+bug/120525715:11
Cimiyeah15:11
SaviqCimi, I don't think that's SDK's15:11
SaviqCimi, since in "wide" it works fine15:11
SaviqCimi, unless you can confirm it is an SDK bug in a small testcase15:12
CimiSaviq, how can the colour palette affecct this?15:12
SaviqCimi, it can't15:12
SaviqCimi, ;)15:12
SaviqCimi, no one said it did :)15:12
Cimiso why you said was my theming thing?15:12
Cimimaybe I misunderstoof15:12
SaviqCimi, different bug15:12
Cimiok15:12
SaviqCimi, it was https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/120509415:13
CimiSaviq, so it's not a regression15:13
ubot5Launchpad bug 1205094 in Ubuntu UI Toolkit "Popovers under SuruGradient theme are white-on-white" [Undecided,New]15:13
SaviqCimi, it is15:13
SaviqCimi, it was fine when I coded it ;)15:13
CimiSaviq, caused by what??15:13
SaviqCimi, that's what you're supposed to find out!15:13
Saviq;)15:13
CimiSaviq, which is fine15:13
SaviqCimi, if you isolate it to SDK - reassign15:13
CimiSaviq, I thought it was due to my theming branch but that didn't make sense15:13
SaviqCimi, ideally with a small test app that shows the issue15:14
SaviqCimi, it is still possible that it's an SDK bug, that's what we need to find out15:14
Cimiok15:14
mterryWhat'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:14
MacSlowSaviq, it's something the just needs to change in the backend ("no-append-hint" instead of explicit "append-hint")15:17
SaviqMacSlow, yeah, but that's a freedesktop spec, right? or is it ours?15:17
MacSlowSaviq, ours "x-canonical-append-hint"15:17
SaviqMacSlow, I'd vote for going the other way - it should be default to append15:18
MacSlowSaviq, maybe bounce that against mpt too15:18
SaviqMacSlow, but yeah, tricky to change that now (or maybe now's the best moment)15:18
SaviqMacSlow, of course, I won't say that's what you should do ;)15:18
Saviqmpt, what do you think about reversing the "append-hint" for notifications?15:19
Saviqmpt, i.e. appending by default, not appending when explicitly prevented?15:19
MacSlowSaviq, yeah... I'd rather experiment with such things when the todo-list isn't that full :)15:19
dednicklarsu: one more found :) the icons in root action are in gicon format. need to deserialise them.15:19
Saviqdednick, as in the .GIcon() stuff?15:19
Saviqdednick, we need to support that for dash anyway15:19
Saviqdednick, and there's a dumb implementation already15:20
Saviqdednick, IconUtil.js15:20
dednickSaviq: it ends up as a variantlist [themed,audio-volume-high-panel,audio-volume-high,audio-volume,audio]15:20
Saviqdednick, ah, it needs to be to_string()'ed on the other side15:21
Saviqdednick, or, somewhere15:21
mptSaviq, I think that would often be weird ... You'd have apps producing notifications that said things like "Disconnected" "Connected"15:21
larsuSaviq: no, to_string is stupid and deprecated15:21
Saviqwhere does the  . GThemedIcon() syntax come from?15:21
larsuSaviq: to_string15:21
Saviqmhr3_, ↑ fight!15:21
mptSaviq, because they weren't bothering to cancel the earlier one, and they didn't know to cancel appending either15:21
Saviqmpt, OTOH most of the  apps now fill your notifications queue with a notification after notification (even our own ones - U1)15:22
larsuSaviq: whoever uses that needs to fix their code. Unless you want to depend on GdkPixbuf...15:22
Saviqmpt, so it's not that much better15:22
mptSaviq, it's far from perfect, but I do think it's much better :-)15:22
mptIt's just laggy rather than oxymoronig15:23
mptc15:23
larsudednick: 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 icons15:23
larsudednick: I guess I'll supply a helper function or something...15:23
dednicklarsu: i can just use the func directly15:24
larsudednick: which one?15:24
dednicklarsu: also, i think your G_IS_THEMED_ICON needs to check through all the icon names for a match.15:24
Saviqmpt, you're just completely against me today ;)15:24
mhr3_what what, who do i fight15:24
mhr3_larsu, ?15:24
larsumhr3_: don't use g_icon_to_string anymore, use g_icon_serialize15:25
larsumhr3_: there's nothing to fight about :)15:25
mhr3_larsu, that's arch-dependant, we get icons from server15:25
CimiSaviq, when do you firstly saw the bug?15:25
SaviqCimi, yesterday, but I can't say it wasn't there before15:26
larsumhr3_: as gicons?!?!15:26
CimiSaviq, ok15:26
mhr3_larsu, yep15:26
dednicklarsu: http://pastebin.ubuntu.com/5915164/15:26
CimiSaviq, because with the current toolkit, even at revision 1 of PageHeader.qml, bug is there15:26
SaviqCimi, might be an SDK bug then15:26
SaviqCimi, try and reproduce please15:26
SaviqCimi, in a small QML app15:27
dednicklarsu: hm, was thinking iconUri, but that takes a gicon. errrr.15:27
larsumhr3_: g_variant_print (g_icon_serialize (icon), FALSE)15:27
larsumhr3_: but this is very... wrong15:27
Cimiok15:28
mhr3_larsu, to_tokens works fine15:28
larsumhr3_: what kinds of icons are you sending?15:29
larsumhr3_: we're making Saviq's life much harder if we have two ways to encode icons15:30
Saviqlarsu, no, you make it impossible - so DON'T15:30
mhr3_larsu, file, themed, our custom15:30
Saviqlarsu, mhr3_ we need ONE way to do that15:30
mhr3_Saviq, and that's gicon :)15:30
Saviqmhr3_, it's flexible, I don't know what the other thing does15:31
larsuSaviq: ya. I'm working on it...15:31
Saviqmhr3_, although UnityAnnotatedIcon does feel like quite a hack ;)15:31
Saviqbut I'm ok with it if we standardize on it15:31
dednickSaviq: if you ever saw the code to re-construct an annotated icon you wouldnt think it was 'quite a hack'15:32
dednickit's a freaking monster15:32
larsumhr3_: again: to/from_string is deprecated, don't use it anymore15:32
desrthttp://gicon/ ?15:32
tsdgeosis 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 properties15:32
larsudesrt: ugh, no15:33
tsdgeoscan't even start it 80% of the time15:33
larsudednick: thanks for the patch15:33
Saviqdednick, lol15:33
Saviqdesrt, we're using image://gicon/name in Qt15:33
Saviqdesrt, or rather in the Ubuntu Components15:34
larsuSaviq: ya, you shouldn't. It's been on my list for a hwile15:34
larsu*while15:34
Saviqmhr3_, yeah, but UnityAnnotatedIcon is really Unity-specific, shouldn't go into SDK15:34
mhr3_sure, i never said it should, that's where the properties are stored15:35
Saviqmhr3_, well yeah, that could work15:35
Saviqlarsu, what's your approach then/15:35
Saviq?15:35
desrtlarsu told me that bad things are happening here and i should come see.  can anyone bring me up to speed a bit?15:35
tsdgeoshere my crash :-( http://paste.ubuntu.com/5915197/15:36
larsuSaviq: proper qml icon uris15:36
Saviqlarsu, what are "qml icon uris"?15:36
larsuSaviq: is this a serious question?15:37
Saviqtsdgeos, looks like something they worked on around the keyboard yesterday15:37
larsuSaviq: image://gicon is a hack15:38
Saviqlarsu, what wouldn't be?15:38
larsuSaviq: file://, http://, image://theme/xxx, ...15:38
desrtdata:// ?15:38
tsdgeoshow is  image://theme different from  image://gicon ?15:38
larsuSaviq: I told renato to do that for the demo, when we didn't have time to do it properly15:38
Saviqyeah ↑↑15:39
larsudesrt: ya, I'm actually using that in qmenumodel15:39
Saviqlarsu, are you just against the "gicon" in there?15:39
dednicklarsu: image://theme is just a qt icon provider uri15:39
dednicksame as image://gicon15:39
* desrt is guessing that larsu is against having to write a new custom style provider for tunneling gicons through a back channel15:40
larsudednick: I know, I wrote one of those. But there's no theme:// protocol, so whatever15:40
desrtwhereas a 'theme' provider would be relatively pure (just implementing the icon theme spec... no back channel smuggling of GIcon instances)15:40
dednicklarsu: hehe, but you're just assuming it's gicon in there15:40
larsuSaviq: no, that was a side point. I'm really against you guys having to care about GIcon at all.15:40
Saviqlarsu, we're not :)15:41
larsuSaviq: and more importantly, caring about how GIcon serializes data15:41
dednicklarsu: ah, no, you're just getting it from theme15:41
Saviqlarsu, that I agree with15:41
Saviqlarsu, we actually put the 'image://gicon' there ourselves15:41
larsudednick: ya, it's only the xdg spec15:41
Saviqlarsu, when we don't get a full uri15:41
larsuSaviq: you do that and you didn't stop to think: "wait, this is a crazy hack I shouldn't be doing that"15:42
Saviqlarsu, of course I did :)15:42
larsuhaha :D15:42
larsuokay, let's fix it, then15:42
Saviqlarsu, then I got . GThemedIcon()15:43
Saviqlarsu, which at least told me straight away it was a themed icon ;)15:43
larsuSaviq: ya, you should never ever see that from qml15:43
larsuSaviq: which component is that coming from?15:43
Saviqlarsu, scopes15:43
Saviqlarsu, you'll like that then http://bazaar.launchpad.net/~unity-team/unity8/trunk/view/head:/Components/IconUtil.js15:44
mhr3_i think we all agree here, we just don't have a qt-way to get themed icons15:44
* larsu bangs head against the desk15:44
mhr3_plus we don't have qt object that wrap the unityicons15:44
Saviqmhr3_, but I agree with larsu, if I just got a uri15:45
Saviqmhr3_, even if it's a uri like image://unity/...15:45
larsumhr3_: I wrote one that's acceptable, I've been meaning to propose to include it in unity815:45
mhr3_no you should really get an object15:45
dednickhow do you annotate a uri?15:45
Saviqdednick, ?bla=bla15:45
Saviq&foo=baz15:45
Saviqdednick, if it's a HTTP uri to annotate15:46
Saviqdednick, you urlencode it15:46
dednicki c15:46
Saviqdednick, or anyway, the annotated icon would always be urlencoded15:46
dednickok, lets change all the scopes, and all the indicators.  ready tomorrow?15:46
mhr3_ok, if you want a special uri instead of object, that's even easier for us15:47
larsumhr3_: what's a unityicon?15:47
Saviqdednick, so image://unity/annotated?uri=http%xx...&annotate_uri=http%xx etc.15:47
mhr3_larsu, gicon wrapped with some extra unity-specific props15:47
Saviqlarsu, it's an image that you get and need to slap some things on it15:47
Saviqlarsu, like the price ribbon we have15:47
mhr3_larsu, props like text_overlay15:47
larsuya, that makes sense15:48
mhr3_larsu, so if we have this special uri scheme, fixing scopes is a few lines of code in the unity plugin15:48
dednickhm. didnt expect to start this by asking for an icon.15:48
mhr3_eh Saviq^15:49
mhr3_do we?15:49
Saviqmhr3_, unity7?15:50
mhr3_Saviq, we're not changing anything there, we're changing what we expose to unity815:51
mhr3_protocol remains the same15:51
larsumhr3_, Saviq: right. Let me know if you need my themed icon provider15:51
Saviqmhr3_, sure, that could work15:51
Saviqlarsu, btw, why is image://gicon/ needed at all?15:51
Saviqlarsu, why didn't image://theme/ suffice?15:51
Saviqand what do we do to fix that, then?15:52
SaviqMacSlow, what's the spec for notification icons, btw?15:52
larsuSaviq: that's what I have in unitymenumodel - do you have one as well?15:53
larsuSaviq: oh wait, I misread your question15:53
larsuSaviq: gicon is not needed at all, theme suffices. And that's what I have in unitymenumodel :)15:54
Saviqlarsu, wth was GIconProvider written at all then?15:55
larsuSaviq: demo15:55
mhr3_too few things to work on during demo, right? :)15:55
larsumhr3_: ya :)15:55
larsuSaviq: to fix this mess, we need to touch all the code that hands you a GIcon. Do you have a list?15:56
mhr3_there's one line for the scopes15:57
Saviqlarsu, fortunately there's http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/qml-ubuntu-components0-icon.html15:58
Saviqlarsu, noone should really be using image://gicon directly15:58
Saviqlarsu, but we have one or two places in unity815:58
larsuah, nice15:58
larsuSaviq: if you send me a mail with those places, I'll fix them next week15:59
Saviqlarsu, I'm into IoM next week, just grep launchpad for gicon, you'll be good ;)16:00
larsuSaviq: ah, ok16:01
MacSlowSaviq, that's only "spec" https://wiki.ubuntu.com/NotifyOSD#Icon16:01
MacSlowSaviq,16:01
Saviqlarsu, http://paste.ubuntu.com/5915273/16:01
larsuSaviq: thanks :(16:01
larsuSaviq: smiley fail. Too warm.16:02
SaviqMacSlow, I meant for the "what apps send us"16:02
SaviqMacSlow, as in do they assume it's a themed icon, otherwise push full urls?16:02
dednicki 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
SaviqMacSlow, is that part of the freedesktop spec?16:02
MacSlowSaviq, http://www.galago-project.org/specs/notification/0.9/x207.html16:02
mhr3_larsu, can you just document the uri scheme somewhere, i forgot that this will be on multiple places now that we have previews too16:03
SaviqMacSlow, orly? so only binary data?!16:04
larsuSaviq: org.freedesktop.Notify is a mess in that regard. It supports filenames and an ad-hoc dbus image format (iiibiiay)16:04
MacSlowSaviq, 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 backend16:04
MacSlowSaviq, no only "image_path" as we can't pass binary data from backend to frontend16:05
MacSlowSaviq, "image_data"/"icon_data" was hardly ever used... even in the notify-osd days16:05
SaviqMacSlow, how are icon names passed then?16:05
SaviqMacSlow, just as a name?16:05
MacSlowSaviq, yes16:05
larsumhr3_: which uri scheme do you mean? Qt should have a list in their docs...16:06
larsumhr3_: oh, plus image://theme/<icon-name>16:06
mhr3_larsu, you mean .../<icon-names> ? :)16:07
mhr3_but i'm interested in the scheme that will support the overlays16:07
Saviqlarsu, so notifications are one place where we'd still have to hack stuff16:07
larsuMacSlow: mh? I think fdo notifications don't support themed icons16:07
Saviqlarsu, yeah, they don't - ours do16:07
Saviqlarsu, or just say that with the new spec requires image://theme/name16:08
MacSlowlarsu, well :)16:08
larsuMacSlow: well?16:08
mhr3_larsu, it does support multiple names, right?16:08
MacSlowlarsu, in notify-osd we added a special search-path for notification-icons... those were themeable16:09
larsumhr3_: 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 above16:09
larsuMacSlow: ah, interesting16:10
MacSlowlarsu, but that's currently no longer supported with the new implementation16:10
MacSlowlarsu, there's a branch GIconProvider, but it's not worked on atm as other bits are more important16:11
mhr3_larsu, so image://unity/annotated?base_icon=[urlencoded_base]&ribbon=[urlencoded_ribbon_string]16:12
MacSlowlarsu, https://code.launchpad.net/~macslow/ubuntu-ui-toolkit/add-search-path-to-giconprovider/+merge/16419716:12
mhr3_larsu, where base can be image://theme/foo16:12
Saviqmhr3_, for multiples that can be image://multi/?uri=[urlencoded_foo]&uri=[urlencoed_bar] etc16:13
Saviqlarsu, ↑16:13
Saviqfor fallbacks, that is16:13
mhr3_Saviq, so image://theme/ doesn't do multiple?16:14
mhr3_shouldn't that be fixed instead?16:14
larsuMacSlow: I don't think we can depend on gtk for that...16:14
Saviqmhr3_, dunno, first I've heard of it is today :D16:15
larsuit doesn't right now16:15
MacSlowlarsu, yeah... it was the beginning of adding support for this16:15
larsuMacSlow: right. Thanks for pointing me to it16:15
mhr3_larsu, planned?16:16
larsumhr3_: it wasn't until you brought it up. If you need it, I think it certainly makes sense16:16
larsumhr3_: dednick just sent me a patch that takes an interesting approach:16:16
larsuwhen constructing the uri, he checks which icon is installed16:16
mhr3_larsu, it's pretty common for themed file icons16:16
larsuand only includes that16:16
larsuthat only works locally obviously16:17
mhr3_larsu, sounds expensive16:17
larsuwhy? You need to check at some point...16:17
Saviqlarsu, https://blueprints.launchpad.net/appmenu-qt/+spec/qt5-qpa-appmenu btw16:17
mhr3_larsu, yea, but you nicely cache it in the provider itself16:17
Saviqlarsu, yeah, I'd leave it to the provider16:18
larsufair enough16:18
larsuso why not image://theme/icon1,icon2,icon316:18
* larsu thinks ',' is not allowed in icon names16:18
mhr3_s@,@/@16:19
mhr3_?16:19
Saviqmhr3_, nah, I'd use ,16:20
Saviqlarsu, +116:20
larsumhr3_: yeah I considered that but dismissed it because it looks like a path to an icon16:20
mhr3_i'm not sure comma is allowed in uris even :)16:20
larsumhr3_: colons?16:21
Saviqmhr3_, sure they are16:21
larsumhr3_: I'm pretty sure commas are okay, thouh16:21
mhr3_fwiw it's a "reserved" character according to rfc398616:22
mhr3_The purpose of reserved characters is to provide a set of delimiting16:22
mhr3_   characters that are distinguishable from other data within a URI.16:22
larsuSaviq: re that link, appmenu means global menu?16:22
Saviqmhr3_, http://docs.python.org/2/library/urlparse.html#urlparse.urlparse btw16:22
Saviqlarsu, yes16:22
mhr3_so comma is fine16:22
larsuawesome, thanks for looking it up16:23
Saviqmhr3_, there's a thing called "parameters"16:23
Saviqbut yeah, not useful here probably16:24
KaleoSaviq: do you have a crash?16:25
SaviqKaleo, no, I don't16:26
KaleoSaviq: related to rotation things?16:26
SaviqKaleo, Albert did16:26
KaleoSaviq: ok, do you know why you were in CC of tmoenicke's email then?16:26
SaviqKaleo, 'cause I forwarded it from tsdgoes to tmoenicke16:26
SaviqKaleo, and also earlier ogra and gema reported crashes for apps run from console, but I think that's resolved now16:27
KaleoSaviq: so, is there a bug report?16:27
SaviqKaleo, no, tmoenicke has most info, though16:27
KaleoSaviq: jesus16:27
KaleoSaviq: we work like amateurs sometimes16:27
SaviqKaleo, yes, I know you hate us already16:28
KaleoSaviq: no, just the person who cannot create a bug report16:29
KaleoSaviq: whoever that is16:29
SaviqKaleo, https://code.launchpad.net/~saviq/ubuntu-ui-toolkit/depend-devscripts/+merge/177185 btw16:29
Kaleothanks16:30
=== didrocks_busy is now known as didrocks
=== salem_ is now known as _salem
=== _salem is now known as salem_
=== jhodapp is now known as jhodapp|afk
=== salem_ is now known as _salem

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