09:01:54 <chriadam> #startmeeting CalDAV/CardDAV Contributor Meeting
09:01:54 <merbot> Meeting started Mon Oct 10 09:01:54 2016 UTC.  The chair is chriadam. Information about MeetBot at http://wiki.merproject.org/wiki/Meetings.
09:01:54 <merbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
09:02:25 <chriadam> Hi everyone!  Agenda can be found at https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#10.2F10.2F2016_Meeting
09:02:34 <chriadam> #topic Introductions
09:02:51 <chriadam> Please introduce yourself with: #info Name / Role
09:02:58 <chriadam> #info Chris Adams, Sailor at Jolla
09:03:15 <lbt> #info David Greaves, sailor and infra
09:03:16 <dr_gogeta86> #info Fabio Isgrò, CardDav CalDav and other Ancient Mail protocol lover
09:03:22 <dr_gogeta86> + ldap
09:04:19 <ljo_> #info Leif-Jöran Olsson, community porter
09:04:54 <dcaliste> #info Damien Caliste, interested in learning how synchronization is working, trying to help when I can
09:05:28 <chriadam> we'll wait a few minutes for more folks to arrive, then we'll continue with the agenda topics :-)
09:08:21 <chriadam> ok, let's continue :-)
09:08:24 <chriadam> #topic Follow-up from last meeting
09:08:47 <chriadam> so there were a few concrete action points from the last meeting which I want to cover.  we'll cover the test server status separately, next.
09:09:22 <chriadam> 1) I had an action point to create a simple unit test framework for carddav plugin, so that we can improve the quality of the server response handling there.
09:09:54 <chriadam> this has been done: https://git.merproject.org/mer-core/buteo-sync-plugin-carddav/merge_requests/6
09:09:56 <chriadam> review welcome
09:10:40 <chriadam> 2) we had a variety of tasks which community members took.  dcaliste took MER#1623 and MER#1646, and William___ took MER#1647
09:11:02 <chriadam> I think William___ is not here today, but dcaliste can you give brief summary of progress on those?
09:11:48 <dcaliste> MER#1623, the parsing failure was due to a missing VERSION:2.0 statement in the vcal data.
09:12:31 <dcaliste> It was already mentioned briefly in MER#1568.
09:12:47 <dr_gogeta86> chriadam, you can use this as inspiration
09:12:48 <dr_gogeta86> https://github.com/caldav4j/caldav4j/tree/master/src/test
09:13:00 <dr_gogeta86> i know also the maintainer,
09:13:33 <dr_gogeta86> if you need some expertise on demand
09:13:52 <chriadam> dr_gogeta86: what's the license of that project, out of interest?
09:14:14 <chriadam> dcaliste: MER#1646 is tricky, and we're still investigating that one, I guess
09:14:18 <dr_gogeta86> it' apache
09:14:25 <chriadam> dr_gogeta86: thanks, I'll look into it!
09:14:32 <dr_gogeta86> just for caldav tests
09:14:40 <dr_gogeta86> are pretty extensive
09:14:50 <dcaliste> The solution is to change kcalcore to accept missing VERSION statement. I've done it in https://git.merproject.org/dcaliste/kcalcore/commits/version
09:15:14 <dcaliste> I didn't make a MR of this, because I'm afraid it may have unexpected impact.
09:15:34 <dcaliste> I would like to have unit tests with a good coverage in caldav before.
09:15:50 <dr_gogeta86> dcaliste, just ask
09:16:15 <chriadam> dcaliste: we could instead "inject" VERSION prior to attempting to convert into event, perhaps. if so, that'd be similar to William___'s task, MER#1647.  but yes, unit tests required first.
09:16:57 <dcaliste> chriadam: yes MER#1646 is much more tricky. I cannot completely reproduce it locally. I'm only guessing from the user logs.
09:17:37 <chriadam> dcaliste: might be worth putting MER#1646 into the "not simple enough to reproduce, so let's put it back into backlog and ignore it until we get a more concrete repro" state?
09:17:50 <chriadam> as I don't really have any ideas on that one either
09:18:14 <dcaliste> The issue is that an incidence cannot be added to the data base with modified UID while testing if simple UID exists return false.
09:18:37 <dcaliste> I think it would be possible to settle on this bug with the full response from the server.
09:18:54 <dcaliste> The full response is missing in the log, it is truncated.
09:19:01 <chriadam> ok, I'll ask that from the user in the TJC, maybe he or she can email me those full logs.
09:19:04 <chriadam> thanks!
09:19:06 <chriadam> moving on:
09:19:11 <chriadam> 3) there was a task for me to look into the way sharing of calendar events is done via bluetooth - I didn't get a chance to look into that one yet.
09:19:24 <chriadam> that brings us to:
09:19:29 <chriadam> #topic Test servers in Mer infra - current status
09:19:41 <chriadam> lbt: larstiq: can you provide update on current status and rough ETA for next steps?
09:19:58 <lbt> sure
09:20:14 <lbt> I still need to work on the isolation/firewall
09:20:24 <lbt> the machine is up and has software running
09:20:45 <chriadam> great!
09:21:37 <chriadam> what about accounts side?  is that ready, just waiting on firewall/isolation before it's able ot be used?
09:21:45 <lbt> correct
09:22:11 <chriadam> and how will accounts work - is there a specific account which can be used to access the machine, or do we just request credentials from you, or?
09:22:34 <lbt> I'll add user accounts on demand
09:23:01 <chriadam> cool.  I guess we can discuss more in an upcoming test server meeting, anyway, since most people don't require access.
09:23:22 <chriadam> any idea of ETA for the isolation/firewall work?  is one week too optimistic?  two weeks more likely?
09:24:11 <lbt> correct - shell access will be for people who need to manage docker
09:24:15 <lbt> one week is optimistic
09:24:17 <lbt> ask in a week though
09:24:23 <chriadam> ok :-)
09:24:27 <chriadam> sounds good!  thanks
09:24:37 <chriadam> ok, moving on:
09:24:38 <chriadam> #topic Manual testing - volunteers?
09:24:47 <chriadam> actually, this is a bit premature, without a test server
09:24:48 <chriadam> so, moving on:
09:24:55 <chriadam> #topic Triaging TJC + creating Mer Bug Reports - volunteers?
09:25:24 <chriadam> this is something which would be good to have!  or, even if someone could ping me on IRC with caldav/carddav related TJC threads
09:25:32 <dcaliste> I'll try to participate in TJC triaging.
09:25:44 <chriadam> dcaliste: that'd be great, thanks!
09:25:49 <chriadam> anyone else able ot help there too?
09:25:59 <dcaliste> I mean searching for question dealing with calDAV and closing, pointing to MER bug…
09:26:00 <ljo_> I could probably contribute to this task too
09:26:14 <chriadam> great, thanks ljo_!
09:26:33 <chriadam> #action ljo_ and dcaliste to help with triaging TJC reports related to CalDAV and CardDAV
09:26:42 <chriadam> ok, moving on:
09:26:49 <chriadam> #topic MER#1606 - any volunteers?
09:27:12 <chriadam> #link https://bugs.merproject.org/show_bug.cgi?id=1606
09:27:12 <merbot> Mer bug 1606 in buteo-sync-plugin-carddav "CardDAV sync fails if Contact Birthday data is in DateTime format rather than DateOnly" [Task,New]
09:27:19 <chriadam> CardDAV sync fails if Contact Birthday data is in DateTime format rather than DateOnly
09:27:46 <chriadam> this one requires a bit of investigation into both the parsing side (do we parse it correctly) and the QtVersit side.  the bug could be in either.
09:28:03 <chriadam> any volunteers?  if not, I'll take this one.
09:28:50 <chriadam> ok, I'll take this one :-)
09:28:58 <chriadam> #action chriadam to take MER#1606
09:29:05 <chriadam> moving on:
09:29:07 <chriadam> #topic MER#1625 - any volunteers?
09:29:24 <chriadam> #link https://bugs.merproject.org/show_bug.cgi?id=1625
09:29:24 <merbot> Mer bug 1625 in buteo-sync-plugin-caldav "CalDAV sync can fail due to attempted PUT to read-only shared calendar" [Task,New]
09:29:55 <dcaliste> I can give a look, if no one is interested.
09:30:35 <chriadam> this one requires investigating the way the CalDAV plugin handles responses from the server when attempting a PUT request.  if the error is due to the read-only nature of the remote calendar, then it could (as an intermediate step to a better solution, perhaps) simply ignore the upsync error in order to allow the rest of the sync cycle to complete.
09:30:45 <chriadam> dcaliste: thanks!
09:30:54 <chriadam> #action dcaliste to investigate MER#1625
09:31:07 <chriadam> ok, that's all for the explicit agenda, so:
09:31:14 <chriadam> #topic Any other business?
09:31:20 <chriadam> Anyone have any discussion points they wish to raise?
09:31:37 * lbt wants to say that docker images should be self contained. We may need help getting them to properly include things like ldap servers if they're used.
09:31:56 <lbt> I've been thinking about this and it makes more sense to me
09:32:13 <lbt> if there are serious problems with that then I'll reconsider
09:32:26 <lbt> but for now I'd say they must be self-contained
09:32:39 <chriadam> dr_gogeta86: is busy for the next week or so, but he might be able to look into them after that, time permitting?
09:32:47 <chriadam> or occirol may be able to do so?
09:33:09 <chriadam> lbt: can we come up with some concrete investigative actions to take, and raise these at the next test server meeting?
09:33:23 <dcaliste> chriadam: just going back to bug #1646, do you think it's possible with a curl command-line to obtain the full server response (I'm afraid of credentials) ? We have the detail of the request in the log that has already been provided.
09:33:23 <merbot> Mer bug 1646 in buteo-sync-plugin-caldav "CalDAV sync fails due to annually-recurring event" [Task,New] https://bugs.merproject.org/show_bug.cgi?id=1646
09:33:33 <dr_gogeta86> chriadam, update in 24hr
09:33:42 <occirol> chriadam: mmmmh, I'll need more details on what to do exactly
09:34:42 <chriadam> dcaliste: best to ask the user to provide the log if possible, I don't want to perform requests to someone else's server unless given explicit consent.
09:35:09 <dcaliste> chriadam: oh, sure, I was thinking asking him to do so.
09:35:26 <chriadam> dcaliste: oh, of course, silly me.  yes, good idea.
09:35:31 <dcaliste> My concern was the actual possibility for him to do so by cli.
09:35:41 <chriadam> the user seems quite helpful in that regard.
09:36:01 <dcaliste> not being blocked by authentification.
09:36:15 <dcaliste> I'm not at all up to date on how this is working…
09:37:09 <chriadam> caldav is a bit tricky, since there's a pre-step which occurs in currently closed-source code, to perform calendar discovery (it's in jolla-settings-accounts).  carddav, everything (including discovery) is done in the plugin.
09:37:30 <chriadam> but the failure the user is seeing is definitely in the sync step - i.e., caldav plugin code.
09:38:03 <chriadam> so, yes, we can just give the user a curl command to run, to get the server response, and from that we can investigate further.
09:38:33 <dcaliste> chriadam: I agree, that would be helpful.
09:38:53 <dcaliste> And that would avoid to have to guess code paths from logs ;)
09:39:33 <chriadam> lbt: regarding the docker question, I'm still a bit fuzzy about a) how docker is used in that VM, b) what services the docker image needs to provide, c) what concrete investigative actions would be useful for occirol to perform
09:40:55 <lbt> shell users should be able to run a docker image which runs the server
09:41:32 <dr_gogeta86> lbt,  needed to be unprivileged containers
09:41:34 <lbt> the image provides the sync services used by the server inside - it should probably listen on some (high) ports
09:42:02 <lbt> and then I'll do some NAT/portmapping to get them on suitable ports on a public IP
09:44:20 <chriadam> ok, so an investigative task might be to get a docker image running which contains an Apache + OwnCloud + LDAP, and then you'll expose the LDAP ports internally to the rest of the Mer infra, and the HTTP ports externally for us to use in testing carddav/caldav?
09:44:49 <dr_gogeta86> lbt chriadam read my mind across tropics
09:44:54 <lbt> I would only expose the HTTP ports externally
09:45:08 <dr_gogeta86> done
09:45:30 <lbt> I don't really want inter-docker stuff to manage unless it becomes a real need
09:45:35 <chriadam> dr_gogeta86: you've already got such a docker image running?
09:45:55 <dr_gogeta86> needs polishing before leave the nest
09:46:13 <lbt> *g*
09:46:23 <chriadam> sweet.  I know you're busy in the near future, so no rush
09:46:33 <dr_gogeta86> i need to rush ..
09:46:42 <chriadam> but we will discuss more at the next test server meeting (i.e., in one week, or in two weeks time if you're not free then?)
09:47:59 <chriadam> ok - will wrap up then :-)  we can continue this test server discussion offline / email / etc if need be
09:48:16 <chriadam> thanks everyone for coming to the meeting, we got some solid actions and plan forward, so that's great.
09:48:31 <chriadam> next meeting will be held in a month, I will put details in wiki and send email to sailfish-developers list
09:48:37 <chriadam> ending meeting in 5...
09:48:44 <chriadam> 4...
09:48:53 <chriadam> 3...
09:48:59 <chriadam> 2...
09:49:02 <chriadam> 1...
09:49:07 <chriadam> #endmeeting