/srv/irclogs.ubuntu.com/2015/09/28/#ubuntu-unity.txt

=== biot` is now known as biot
davidcalleMorning o/07:35
=== _morphis is now known as morphis
tsdgeosmzanetti: if i loop test launcher i can get qmltestrunner::Launcher::test_quickListMenuOnRMB to fail09:14
tsdgeosFAIL!  : qmltestrunner::Launcher::test_quickListMenuOnRMB() property visible09:14
tsdgeos   Actual   (): false09:14
tsdgeos   Expected (): true09:14
tsdgeos   Loc: [/home/tsdgeos_work/phablet/unity8/unity8/tests/qmltests/Launcher/tst_Launcher.qml(730)]09:14
tsdgeoswant me to open a bug? try to fix it?09:14
mzanettitsdgeos, I can look at it, no prob09:16
tsdgeosk, i'll open a bug and assign it to you09:17
=== larsu_ is now known as larsu
cimipstolowski, did something change recently with scopes dev files? I cannot compile my scope anymore :D missing PreviewQueryBase.h, but the header is still under /usr/include/unity-scopes-3/unity/scopes/10:04
pstolowskicimi, wily?10:05
cimipstolowski, vivid + overlay10:05
pstolowskicimi, hmm, try a clean build? we did change some packaging stuff10:07
cimipstolowski, yeah works after bzr clean-tree, should have done it first10:09
cimiI just removed some cmake cache files it wasn't enough apparently10:09
pstolowskicimi, cool10:10
cimithanks10:10
pstolowskiyw10:11
cimipstolowski, for this dictionary shareUris, what shall I use? QvariantBuilder?10:14
pstolowskicimi, are you talking about scope impl?10:23
cimipstolowski, yeah10:24
cimipstolowski, so far I only added strings to a result10:24
cimipstolowski, so I was doing like res["myProperty"] = "czesc";10:24
biothi all10:25
cimipstolowski, but i guess we want to assign a dictionary like a QVariantMap now to myProperty10:25
biotI'm having some trouble running a custom built unity: "Settings schema 'org.compiz.unityshell' does not contain a key named 'low-graphics-mode'"10:25
biotis there something I'm forgetting to install?10:25
pstolowskicimi, i thought you were going to add this shareable dict to a preview widget, no?10:28
pstolowskicimi, or were cards meant to be shared?10:33
pstolowskicimi, for cards, just user VariantMap mymap; mymap["prop"]=Variant("ciao"); result["sharable"] = Variant(mymap);10:34
cimipstolowski, maybe i was doing something wrong: in the query.cpp file of my test scope, I was adding a shareUris property to the categorisedresult10:37
cimipstolowski, then in preview.cpp I had that property mapped10:37
cimiis there a better way of doing it?10:37
pstolowskicimi, ah, sure, you can totally do this. nothing wrong with it. i was interested where you want this property at the end (where shell expects it, i.e. if it's a new attribute of an 'image' widget etc)10:44
cimipstolowski, maybe inside the image10:46
Saviqgreyback_, hey, you mentioned we have dbus mocking done somewhere, can you point me at the code?10:51
pstolowskicimi, okay. yeah, so either stuff it in the result and then remap in the preview onto respective attribute of 'image' widget, or populate the attribute when you construct the preview. i think VariantBuilder will only make sens if you want an array of dict tuples, such as with 'audio' widget -see http://bazaar.launchpad.net/~unity-team/unity-scopes-api/trunk/view/head:/src/scopes/PreviewWidget.cpp10:52
pstolowskicimi, (see the doxygen doc there)10:52
cimiok10:52
greyback_Saviq: hey, I do a tiny bit of it in qtmir, using libqtdbusmock10:52
* Saviq has a look10:53
greyback_Saviq: petewoods would be able to point you to better users10:53
Saviqtx10:54
=== alan_g is now known as alan_g|lunch
=== alan_g|lunch is now known as alan_g
=== Guest62641 is now known as balloons
=== ralsina_ is now known as ralsina
mterrySaviq, is there a bug for the xapps-out-of-lifecycle issue?14:54
=== dandrader is now known as dandrader|afk
Saviqmterry, don't think so, greyback, kgunn ↑?14:57
Saviqif not on the card, likely doesn't exist14:57
kgunnmterry: correct, no bug, just a card14:57
greybacknot that I know of14:57
kgunnmterry: we did write down some rationale...need to find that14:57
mterrykgunn, can I have a bit of background for this then?  why is qtcreator called out separately?  it's an xapp right?14:57
kgunnmterry: https://docs.google.com/document/d/11GWzlGtSzLQcWVnIhwHWjjv5E0KEMtHD4HWkHkhDMrA/edit14:59
mterryWhat is the upstream project name for Qt in launchpad?15:07
Saviqmterry, don't think there is one?15:08
mterrySaviq, how do we link upstream bugs to LP bugs?15:08
Saviqmterry, we just put them on package bugs and add a link to qt.io15:09
mterrySaviq, so we don't have a separation between upstream resolution and package resolution?  odd.  But ok, can do15:09
Saviqdon't think there's more, Mirv ↑?15:09
mterrySaviq, hrm, package bugs don't let you have external links15:10
Saviqmterry, by "add a link"... I mean in the description...15:11
mterrySaviq, ah...  I for sure thought I've seen QTBUG links before15:11
Saviqmterry, don't get me wrong, we could do much better15:11
mterrybut will do that for now15:11
mterrytsdgeos, ^ ?15:12
Saviqbut somehow we never cared enough to make it work proper with LP's facilities for external projects15:12
tsdgeosmterry: qtbase-opensource-src15:12
tsdgeoshttps://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/15:12
mterrytsdgeos, that's the package name.  What about the upstream "fake project" name we use to link LP bugs and the upstream bugs?15:13
mterrytsdgeos, Saviq, if we don't have one, I'll make one.  Super easy  :)15:13
tsdgeosi open all my upstream bugs there and just put a link :D15:13
tsdgeosmterry: ask Mirv he's the Qt man15:13
mterryguh15:13
mterrytsdgeos, will do15:14
mterryMirv, ^ when you get a chance, thanks15:14
Saviqtsdgeos, dednick, can you have another look at bug #1493530 please15:28
ubot5bug 1493530 in Canonical System Image "/usr/bin/unity8-dash:6:qt_message_print:qt_message:QMessageLogger::fatal:deallocate:~QString" [Critical,Confirmed] https://launchpad.net/bugs/149353015:28
Saviqtsdgeos, it seems as if the stacktrace changed after your comment (at least I can't see the line you commented about)15:29
tsdgeosSaviq: yeah different stacktrace15:32
tsdgeosor i commented on the wrong bug15:32
tsdgeosit could also be :D15:32
tsdgeosi mean there's still a 0x215:33
tsdgeosdata (this=0x2) at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qbytearray.h:45115:33
tsdgeosin #715:33
tsdgeosso maybe the stacktrace was bogus and recreated?15:33
Saviqcould be15:34
Saviqnow it just looks like something bassed a 0x0 to UbuntuClipboard15:34
Saviqbut yeah, 0x2...15:35
tsdgeoswell passing a 0x0 to QByteArray UbuntuClipboard::serializeMimeData(QMimeData *mimeData) const15:37
tsdgeosmeans instant crash15:37
tsdgeos    const QStringList formats = mimeData->formats();15:37
tsdgeosis the first thing15:37
tsdgeosso yeah15:37
dednickthe this is the bytearray15:37
tsdgeosit'd be cool to know who called serializeMimeData with a nullptr15:37
dednicki think the byte array from toLatin1() may have gone out of scope?15:37
tsdgeosand probably that needs a nice if to not crash15:37
tsdgeosnah can't be deleted until the memcpy ends15:38
tsdgeosit's just that this formats comes from calling formats() on a 0x0 mimedata15:39
tsdgeosso yeah15:39
dednicktsdgeos: you wanna add the check?15:41
dednickor want me to?15:41
tsdgeosi mean the empty data is "valid"15:41
tsdgeosall the other platforms check for it15:41
tsdgeos    if (data == 0) {15:41
tsdgeos        emitChanged(QClipboard::Clipboard);15:41
tsdgeos        return;15:41
tsdgeos    }15:41
tsdgeosinthe qnx one15:42
tsdgeosxcb has the same15:42
tsdgeosdednick: whatever you prefer15:42
dednicktsdgeos: meh. i can add it quick.15:42
tsdgeosdednick: yours then :)15:42
=== dandrader|afk is now known as dandrader
mhall119kgunn: so I went and bought myself a bluetooth mouse. It connects easily to my Nexus 4, but it doesn't kick it into windowed mode nor does it show a mouse cursor. I can enabled windowed mode manually with a tweak tool, but is there any way to get the cursor?16:26
* mhall119 is on rc-proposed channel with mir 0.1616:26
greybackmhall119: mouse cursor not done yet. silo15 should make it visible for you at least16:40
mterrygreyback, so how does qtmir handle xapps today?16:44
greybackmterry: currently, qtmir doesn't distinguish xmir for any other mir client16:44
mterrygreyback, I see.  Does mir expose the difference and qtmir doesn't do anything with that info, or do they look the same even to Mir?16:45
greybackmterry: they look the same, even to mir16:45
mterryhmph16:45
greybackso I had a chat with ted about this, and here was his suggestion:16:45
greybackan application's id (appId) is always of the form: app_containerName_versionString16:46
greybackFor legacy app, check it finishes with "0.0" version string.16:46
greybackThen using liblibertine, check the containerName matches a container.16:46
greybackThen can assume it a legacy app.16:46
mterrygreyback, OK that's helpful.  Thank you16:47
* mterry goes and plays with some code16:47
greybackmterry: thing is, I really dislike that approach16:47
mterrygreyback, heh16:47
mhall119greyback: thanks16:47
mterrygreyback, relying on heuristics rather than a clear metadata tag?16:48
greybackmterry: I think ubuntu-app-launch library should have a way to tell qtmir (this app is legacy)16:48
greybackmterry: well UAL launched the xmir app, so presumably it knows the app is an xmir app. It could just tell us that, without us resrting to guesswork16:49
mterrygreyback, yeah.  that feels less magic16:49
greybacktedg: what say you?16:50
greybackplease read up16:50
* tedg reads backlog16:51
tedgmterry: greyback: Why do we care wheter it is an X app or not?16:52
mterrytedg, we want different app lifecycle policies16:52
mterrytedg, i.e. we want to let X apps run in the background16:52
tedgSo what about apps that use the GTK Mir background but are desktop apps?16:52
mhall119mterry: are we not going to allow confined apps to run in the background on desktops?16:52
mterrymhall119, I don't know about that specifically -- I imagine we could allow that just fine.  But the upper layer would know if we're on desktop or not and apply different policies16:53
mterrymhall119, I'm looking at pocket desktop right now16:53
greybacktedg: would be good to know things like: is an app click/confined, confined mir native, confined xmir, unconfined..16:54
tedgmterry: I guess my feeling is that we don't care whether it's "an X app" specifically. We should have a better metric.16:54
tedgExactly, we should figure out the types we care about.16:55
tedgAnd I'd have no problem putting that funciton into UAL.16:55
greybacktedg: yeah, I agree just xmir is not a good enough metric16:55
mterrytedg, I guess by xapps we mean containerized apps, right?16:55
tedgI guess, I'm curious if we mean that or not. We could, for instance, care about Click apps that are marked for desktop?16:56
greybacktedg: by xmir we're really meaning desktop apps - irrespective of if they are native mir (like GTK/Qt on Mir) or on XMir16:57
tedgNot sure if such a thing does/will exist.16:57
mterrygreyback, tedg: so anything that's not a click?16:57
tedgWell, that would then be browser and system settings as well :-)16:57
greybackmterry: let's not tie packaging format in to the application type16:58
mterrytedg, greyback: anything without X-Ubuntu-Touch=true in its desktop file?16:58
mhall119so non-convergence, non-mobile16:59
mterrymhall119, right -- both those categories should expect lifecycle management in pocket desktop16:59
mhall119greyback: well....I may have bricked my phone :(17:00
tedgmterry: I think this might be worth a mail to a mailing list. I'm guessing more people are gonna weigh in on it.17:00
greybackmterry: main thing I'm concerned with: if OOM killer kills the app, could it be resumed? We have to assume anything built with our UITK can support that.17:01
tedgmterry: But, generally, I'm fine putting a function or parameter on a signal for helping Unity make a destinction, we just need to decide what that is.17:01
greybacktedg: what sort of info can you give us?17:02
tedgWe'd probably also make kenvandine happy if that list of "types" included a scope. For recognizing their appids as well.17:02
tedggreyback: Depends on requirements. We throw away a lot of metadata right now, but we could keep more if we wanted to.17:03
mterrytedg, greyback: I assumed that X-Ubuntu-Touch=true was the flag that opts-into our platform -- accepting lifecycle constraints and state saving and all that.  Do you know the origins of that flag and/or if my understanding is wrong?17:03
=== dandrader is now known as dandrader|lunch
=== alan_g is now known as alan_g|EOD
tedggreyback: For instance when running we only know click/legacy, but that's just because we never need more data. We could track click/legacy/libertine for instance if that was useful.17:03
greybackmhall119: because of silo15?17:03
tedgmterry: It was more that we'd list it in the phone scope at first. Not sure why a ShowIn wasn't used.17:04
tedgmterry: I think it was "has Mir" :-P17:04
mhall119greyback: likely, I ran the citrain tool to install silo 15, and when it rebooted it wouldn't get past the google splash17:04
greybackmhall119: ok, silo probably needs rebuild. Sorry about that17:05
mterrytedg, well if we could trigger off that flag, this test would be easy -- and qtmir would already have the info it needs...  though interpreting that flag that way definitely deserves a mailing list thread to confirm that makes sense17:06
greybackmterry: on pondering a bit, we may need more granularity than just native mir vs xmir. The term "curated" is in the doc. That sounds more like whitelisting to me17:08
mterrygreyback, well for a pocket desktop focus, there is a curated list of apps that we allow on the image, yes.  But I think the feature is more general -- knowing which apps expect a Touch lifecycle and which don't isn't restricted to a curated list17:10
mterryWe could whitelist and call it a day17:10
mterryBut I imagine scope will grow in future17:10
greybackmterry: sure, I did say "more granularity" :) The more info the shell gets, the better a decision it can make.17:11
greybackodds are we'll need to go through all the X apps, and say which is good to be lifecycled, and which is not17:12
mterrygreyback, what's your opinion on interpreting X-Ubuntu-Touch=true as "expects Touch lifecycle"?17:12
greybackmterry: that's not what it was originally for. It was for filtering the desktop files for ones pointing to touch-supported apps17:12
mterrygreyback, isn't that exactly the test we want?  Touch-supported apps?17:13
mterrygreyback, or are you saying that you expect the desktop files for libreoffice on pocket desktop will have that flag so that they show up?17:14
mterryi.e. it's a hack to emulate OnlyShowIn17:15
greybackmterry: well there is that yeah17:15
greybackbut frankly, nothing right now is terribly clear to me17:15
greybacklet's start from the top. We want to exclude certain desktop apps (which may, and may not run via xmir) from lifecycle17:16
greybackso we need shell to distinguish those17:16
greybackUAL can probably tell us if app is xmir or not17:17
greybackand if confined or not17:17
greybackbut that leaves us unable to detect native mir desktop apps (using gtk-mir or qtubuntu_17:18
mterryYeah17:18
greybackand I see no way of doing so, as things currently stand17:18
mterryPlus, there's the issue of protocol vs platform17:19
mterryI *could* imagine an app that is Mir-native, but not written for the Ubuntu phone platform17:19
greybackright17:19
mterrySo I'm back to the need for a piece of metadata that opts into the Ubuntu phone platform17:20
greybackright17:20
greybackflag in desktop file, plus UAL reporting xmir or not, is probably all we can do17:20
mterrygreyback, if we have a flag, do we even need xmir detection?17:21
greybackmterry: I thought of it only to avoid having to edit all desktop files in the world17:21
greybackbut maybe it can be simple opt-in17:22
mterrygreyback, well depends on which flag we pick17:22
mterrygreyback, if we *can* re-use X-Ubuntu-Touch, we get all the desktop edits for free17:22
greybackmterry: yeah. Who reads that? apps scope?17:22
greybackwould be good to be clear on what it's purpose is17:23
mterrygreyback, I don't know who consumes it or expects it.  I bet the apps scope does.  I can dig a little bit.  And maybe send an email out to ubuntu-phone to ask as well17:23
greybackthat's a plan, yeah17:23
greybackif we just use desktop file, this task won't take too long17:23
mterrygreyback, yeah that would be nice -- qtmir already reads desktop file right?17:24
greybackyep17:24
=== dandrader|lunch is now known as dandrader
mterrysweet17:24
greybackI guess I'd just prefer all x apps being opted in to lifecycle, and we selectively exclude17:24
mterrygreyback, oh weird.  I wouldn't expect that preference  :)  Why?17:25
mterryBattery savings I guess?  And you expect breakages to be less common?17:26
greybackmterry: it's not a well defined opinion yet. But for CPU/responsiveness17:26
greybackperhaps I'm being too strict tho17:26
greybackmost likely we'll build it and see17:26
mterrygreyback, I guess I just worry that state-saving is not at all standard in X apps like we want17:26
greybackmterry: sure, but they'll be killed either way :)17:27
mterrygreyback, well I guess a bool flag in the desktop file gives us the choice of being more explicit down the road17:27
mterryand swapping the default for X apps17:27
greybackmterry: yeah. We'll expose that info up into unity8, and let it make the call17:27
mterrygreyback, I think we plan to warn in such cases?17:27
mterryanyway.  First have to see about current flag options17:28
greybackmterry: one side thing: in UAL, suspend/resume and setting of the OOM score are one operation17:28
mterryRight.  We were talking in hangout this morning about maybe wanting to separate them17:29
greybackI would like it17:29
mterryI don't see any mention in this x-apps-for-pocket-desktop doc about OOM.  Just lifecycle17:29
greybackso shell could let an app run, but be the first one to die if memory runs low17:29
mterryI feel like it assumes they are the same and it wants to opt out of OOM too17:30
greybackmterry: in my book, they're related. You can clarify/make new card if you prefer17:30
greybackbut yeah, one at a time17:30
mterryI'm all for killing them via OOM too, but I think design would want an opinion on how that's presented to user17:30
greybackmterry: giant skull & cross-bones on top of the sucker17:32
mhall119yay, restored my phone, going to use a demo phone for silo experimenting from now on :)17:32
mterrymhall119, :)17:32
mterryMaybe just kill Touch apps preferentially, and display a dialog about killing x-apps if it must17:33
greybackmterry: we can't stop the kernel killing apps17:34
greybackwell, we can influence it's decision with OOM score17:34
mterrygreyback, oh, we can't set a fine-grained policy?17:34
mterrythat's something17:34
greybackbut if it strikes, we can only fix up things afterwards17:34
mterryI see17:35
mterryThen yeah, opting out of OOM makes sense for legacy apps17:35
greybackOOM score is a weighting that the kernel takes into consideration when deciding which process to kill.17:35
greybackif your app has a high score (i.e. avoid killing it) but is sucking up all memory, the kernel may kill it anyway17:36
greybackwe won't totally opt out processes from OOM (if kernel can't free memory when there's none free, then it'll hang), it's just something we need to try deal with.17:37
greybackso OOM score is most influence we have on it17:37
mterrygreyback, sure.  "opt out as much as possible"  :)17:38
greybackyep17:38
mhall119greyback: yeah, silo15 is pretty busted17:47
mhall119The following packages will be REMOVED: ubuntu-touch ubuntu-touch-session unity8 unity8-common17:47
greybackmhall119: ok, thanks. Will try rebuild17:48
mterrykgunn, bug 1500444 is a data loss bug with patch.  I'd like to squeeze it into OTA7 if possible.  Just saw that freeze got a little delayed.  Wanted to put this on your radar18:14
ubot5bug 1500444 in qtbase-opensource-src (Ubuntu RTM) "QLockFile won't notice if the lock pid is re-used by an unrelated process" [Undecided,New] https://launchpad.net/bugs/150044418:14
mterrykgunn, (data loss in the sense that you can lose your webbrowser-app session)18:14
mterryI don't know if that's really data or not...  But I believe it saves form content, so I think it would count18:15
mhall119greyback: strange, my personal phone won't switch to window mode when connected to a mouse, but another Nexus4 with teh same channel and build # does...18:23
greybackmhall119: oh joy :) Well, let us land the proper mouse support first, then we can investigate18:25
mhall119greyback: thanks18:27
mhall119greyback: my first guess would be that it has something to do with the tweak app I used on my personal phone to force it into windowed/staged mode18:27
mhall119greyback_: I was right, got it working on my personal device with:18:31
mhall119phablet@ubuntu-phablet:~$ gsettings set com.canonical.Unity8 usage-mode 'Automatic'18:31
greyback_mhall119: ah, you had it at non-automatic?18:32
mhall119greyback_: it seems TweakGeek/Ubuntu Touch Tweak Tool will set it to 'Staged' or 'Windowed', and not back to 'Automatic'18:34
mhall119so anybody who's forced it manually into windowed mode, either using one of those apps or gsettings directly, will need to change it back18:34
* greyback_ shakes fist at mzanetti18:34
greyback_mhall119: sounds wrong, can you log bug please?18:35
mhall119anyway, now all I need is that cursor, and I will be a happy camper :)18:35
mhall119greyback_: log where?18:35
greyback_mhall119: against qtmir, we'll blame mzanetti and he'll fix his stuff18:36
mhall119greyback_: it seems like qtmir is just doing what it's told18:36
greyback_mhall119: sure, but where else can we log it?18:37
greyback_does tweakgeek have a bugzilla of some kind?18:37
mhall119greyback_: I'm not sure it's actually a bug, just the fact that I used unsupported methods ot set it to "always be staged"18:37
greyback_mhall119: you're not wrong, but I'd rather get it fixed than say "unsupported"18:38
mhall119greyback_: ok, I'm happy to file it as a bug somewhere, just tell me where18:38
greyback_mhall119: qtmir, and I can follow up18:38
mhall119greyback_: https://bugs.launchpad.net/ubuntu/+source/qtmir/+bug/150056118:43
ubot5Ubuntu bug 1500561 in qtmir (Ubuntu) "Mode switching not automatic if previously set" [Undecided,New]18:43
=== pixel_ is now known as Guest53123
greyback_mhall119: thanks18:45
=== Guest53123 is now known as pixel_
greyback_mhall119: I think I misunderstood you, it sounded like tweakgeek was setting that gsetting behind your back. Since you set it yourself, then you're right, there's not much we can do18:47
mhall119greyback_: that's not true, we can still blame mzanetti18:53
greyback_oh I fully intend to18:53
=== dandrader is now known as dandrader|afk
kgunnmterry: is there a patch against vivid+stablephone ppa for that same bug ?19:28
kgunnthe Qlockfile19:28
mterrykgunn, the wily one should apply19:30
mterrykgunn, but both wily and overlay have qtbase updates in flight already.  I emailed Mirv to find out the situation19:31
kgunnmterry: k, i actually assigned to mirv19:31
mterrykgunn, I filled out a silo request for it (with QA steps), but didn't actually apply for the silo yet19:31
mterrykgunn, sounds good19:31
mterrykgunn, I don't know how common it is in practice.  But I hit it today on desktop which made me investigate19:32
mterrykgunn, and I've felt like I've lost sessions on phone in past19:32
mterrykgunn, which maybe were this bug19:32
kgunnyep, annoying enough19:32
* pixel_ ping facebook o_O19:34
* pixel_ he dead?19:34
mterrypixel_, dead for me too19:37
pixel_yeah :/19:37
tedgpopey: Facebook is down!20:01
=== dandrader|afk is now known as dandrader

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