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