=== dandrader_ is now known as dandrader === dandrader is now known as dandrader|afk [09:36] greyback: I'm needing a discussion about API design. Would you be willing? Doesn't need to be now. (Context is https://code.launchpad.net/~alan-griffiths/miral/fix-1668651/+merge/318616) [09:55] * alan_g wonders if greyback saw the the above === dandrader|afk is now known as dandrader [09:58] greyback: I'm needing a discussion about API design. Would you be willing? Doesn't need to be now. (Context is https://code.launchpad.net/~alan-griffiths/miral/fix-1668651/+merge/318616) [09:59] alan_g: ack, thanks for the repeat (got you the first time) [09:59] ;) [10:05] dednick: if you can add the missing test (for a scenario U8 won't use) I can land https://code.launchpad.net/~mir-team/miral/move_workspace_content/+merge/318589 [10:05] alan_g: ack. will try get to it today. [10:06] dednick: any other feedback or niggles with the workspaces APIs? [10:08] alan_g: ok I understand the problem. What api question have you? [10:10] /1/ should I rely on user code to do the thread co-ordination? Or engineer some safe defaults? [10:11] /2/ Should I provide a declarative for internal clients to be notified of intending shutdown, instead of the ugly "hook" in the MP? [10:11] alan_g: so far it all seems fine and easy to work with. my only issues so far are boundaries between qtmir/unity8, but that's our issue... [10:18] alan_g: for 2: a nicer solution could tie in with solving bug 1624407 nicely [10:18] bug 1624407 in mir (Ubuntu) "Add a 'quit' message that is app-wide, as opposed to mir_event_type_close_surface" [Medium,Triaged] https://launchpad.net/bugs/1624407 [10:19] greyback: Ah, that's a more natural way to notify clients than I'd thought of. (But won't work for Mir < 0.27) [10:20] alan_g: ok. But would be nice long-term goal [10:21] I'm not rejecting it, just thinking it isn't something I could do for 1.3 [10:21] alan_g: for 1, since InternalClient takes the responsibility to create the thread at the right time, I do think it has responsibility in destroying it at the right time. [10:22] so a safe default would be nice. Again, I'm not opposed to telling API users: hey, on shutdown, be prepared to do... [10:23] Right, now for the next question... [10:24] /3/ Do we need to support the "general case"? (I.e. shall I put all the magic "under the API" and not expose the join thread logic for clients at all?) [10:24] I don't see that we need it (yet) [10:25] I don't think so either [10:26] alan_g: added test. [10:26] dednick: cool! [10:30] * alan_g wonders if dandrader could use the InternalClient::join_client_thread() for his internal test clients [10:31] that's been a use-case I've had in mind. I don't think we've hit any shutdown crashes though [10:32] but that mainly because the internal clients are managed by the tests themselves [10:34] is he about this week? [10:43] he is, back today [10:46] alan_g: I am stuck in multiple-prerequisite-limbo again. Would you mind looking at my little cleanup branches? [10:46] I need to EOD [10:47] duflu: sure. (later) any recommendations? [10:47] alan_g: Just the little ones from the past two days [10:48] And then I see another mistake [10:58] Errors stopping errors from stopping errors getting fixed [10:58] from getting fixed [11:07] alan_g: any tips on how to reproduce the miral-shell crash on shutdown? ctrl+alt+backspace (if so, I need to stop X listening for that) [11:07] That's what I used, but Ctrl-C would also work [11:08] But because of the other bugs all you really see is an EXIT_FAILURE [11:09] Fun fact: the only apparent Mir crash that's bringing down unity8 a lot right now is the setting of invalid keymaps === dandrader is now known as dandrader|afk [13:37] greyback: I know you were looking at it before I'd made it WIP, but you TA'd it after I'd made it WIP. Was that really intended? [13:37] alan_g: I didn't know you made it WIP, sorry [13:38] I was adding the changes we discussed. Not removed the new APIs yet. [13:51] greyback: done with it now, take another look? [14:09] will do [14:52] nope [14:52] ./quit === dandrader|afk is now known as dandrader === dandrader is now known as dandrader|afk === dandrader|afk is now known as dandrader === JanC_ is now known as JanC