08:00:55 #startmeeting Sailfish OS CalDAV/CardDAV contributors meeting 08:00:55 Meeting started Mon Feb 5 08:00:55 2018 UTC. The chair is chriadam__. Information about MeetBot at http://wiki.merproject.org/wiki/Meetings. 08:00:55 Useful Commands: #action #agreed #help #info #idea #link #topic. 08:01:03 #link https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#05.2F02.2F2017_Meeting 08:01:29 Firstly, welcome back everyone for 2018, I hope everyone had a great christmas and new year etc 08:01:58 Secondly, dcaliste isn't able to make the meeting today as he has a prior commitment, so this might be a quick meeting ;-) 08:02:28 In fact, I just arrived from the station in Switzerland and I can attent the meeting. 08:02:30 The agenda is available at the link above, I'll cover the current status and plan going forward for this month, so that it's logged and folks can read it offline :-) 08:02:35 oh welcome! 08:02:47 Thanks! 08:03:06 Ok, let's get started with agenda: 08:03:07 #topic Introductions 08:03:17 Please introduce yourself with #info name/nick 08:03:21 #info Chris Adams, developer at Jolla 08:03:25 #info Damien Caliste, community 08:03:37 abranson: ping are you available today? 08:04:00 chriadam__: yep, got back last night! 08:04:05 great! how was fosdem? 08:04:09 #info Andrew Branson, dev @ Jolla 08:04:18 really great, i'll be going again for sure 08:04:21 nice one 08:04:25 thanks for the ping 08:04:28 ;-) 08:04:49 ok, let's start the rest of the agenda :-) 08:04:54 #topic Follow-up Agenda Items From Last Meeting 08:05:00 I tested, created fix, and merged/tagged the fix for MER#1822. Should be in the next release. 08:05:07 dcaliste mentioned an issue affecting his date-range PR (radicale doesn't return the correct output), so more investigation required there 08:05:17 is there any outstanding action point for me there, at the moment? 08:05:36 I've finished the initial version of WebDAV. 08:05:51 fantastic! 08:05:57 so I need to add the UI bits etc I guess 08:06:18 Yeh, when yyou have time of course ;) 08:06:25 time is short at the moment :-( but will try 08:06:30 really great news! 08:06:46 abranson: is that one building in mer:contrib OBS too? what are steps I need to take on device to pull that one in? 08:06:47 I've added a small cli tool to add accounts. 08:07:53 Cli tool is based on cdavtool, one can add a new account, modify password or host server and delete account. 08:08:48 dcaliste: I still haven't looked at it in detail, does it synchronise some specific folder between local device and remote server? is the local folder parametrised e.g. account setting? is the remote folder a parameter too? 08:09:03 Yes too all! 08:09:23 cool :-) 08:09:24 chriadam__: checking if it's on OBS - I think I did that 08:09:36 though we had problems with the webhooks triggering 08:09:40 Yes, it's in OBS in mer-core-contrib 08:10:15 so you'd just need to add the repo to SSU, the URL of which I'll look up now 08:10:40 http://repo.merproject.org/obs/mer:/core:/contrib:/webdav/armv7hl/ 08:10:48 great, thanks 08:11:01 so, something like: ssu ar mer-contrib http://repo.merproject.org/obs/mer:/core:/contrib:/webdav/armv7hl/ 08:11:03 (or i486) 08:11:04 on device? 08:11:08 yep 08:11:11 sweet 08:11:12 thanks 08:11:17 really accessible I think 08:11:23 ok, did I miss anythign else from last year's last meeting? 08:11:48 i'm trying to separate each 'feature' so people can add them individually 08:11:56 Thank you for the inclusion of all CalDAV MRs. 08:12:13 Before your holidays. 08:12:22 dcaliste: thank you for your hard work as always 08:12:27 if I forgot any PR ping me 08:12:31 ok, let's continue with agenda: 08:12:32 #topic Open MER bugs 08:12:39 MER#1751 - path discovery issue - most of this was fixed, but one issue remains (related to MER#1863, really). 08:12:48 MER#1863 - contact resources ignored if they don't end in .vcf. dcaliste had some feedback, and I need to check my SDK to see if the private headers are really required 08:12:56 so that one, I might generalise a bit more as per dcaliste's feedback 08:13:07 MER#1836 - reminders/alarms for all-day events don't work. has this been fixed? need to check 08:13:35 are there any other open mer bugs which need attention? there are two TJC issues which need mer bugs created for them, but I'll discuss those next 08:14:47 someone asked me about a vcard date format. i think that has a JB already 08:14:56 is that one of the TJC ones? 08:14:59 yes 08:15:07 ok, let's discuss those two: 08:15:08 #topic Issues noted from TJC (birthday format, double slash in path, ...) 08:15:14 one issue with birthday format not being RFC compliant 08:15:20 fix should be simple: https://git.merproject.org/mer-core/qtpim/blob/mer-master-on-5.6/src/versit/qversitcontactexporter_p.cpp#L502 08:15:25 one issue with double-slash in path causing issues with some servers. 08:15:31 fix should be simple: carddav.cpp#L1092 appends a / unconditionally to the PUT URL, but if it already ends with a / then that results in a double-slash. 08:15:51 I haven't had time to create MER# bugs or fixes, but should be straightforward once I get a chance 08:16:09 if any new contributors read this log and want to help, please feel free to grab those and submit fixes! 08:16:19 also there is a pending fix to carddav which needs a unit test but aside from that is good to go 08:16:36 is there anything else from TJC which needs attention? 08:17:10 There is a TJC about birthday without year 08:17:20 Related to vCard format 4 08:17:25 ah 08:17:38 interesting 08:17:50 (looking for link)... 08:18:10 I can't remember how fully QVersit supports vcard 4, hopefully it's a simple matter to add support for that... hrm. I wonder if QDate supports that... hrm... 08:18:51 https://together.jolla.com/question/36685/allow-unknown-birth-year-for-contacts-in-calendar 08:18:55 thanks 08:19:06 ok, I will create a MER bug about that one too 08:19:23 not sure when I'll get around to investigating though, probably considered quite low priority I guess 08:19:30 ah, for the discreet gentleman :D 08:19:32 Oh, did it already, see https://together.jolla.com/question/36685/allow-unknown-birth-year-for-contacts-in-calendar 08:19:39 Sorry wrong link 08:19:47 https://together.jolla.com/question/36685/allow-unknown-birth-year-for-contacts-in-calendar 08:19:51 Arg 08:19:54 https://bugs.merproject.org/show_bug.cgi?id=1872 08:19:55 Mer bug 1872 in buteo-sync-plugin-carddav "Allow unknown year for birthday date" [Task,New] 08:20:00 https://bugs.merproject.org/show_bug.cgi?id=1872 08:20:00 ah 08:20:07 sorry! too late! 08:20:29 weird that one didn't show up in my bugs list 08:20:31 I will add myself to cc 08:20:57 hrm, I'm in the cc list 08:21:01 my filter must be brokne 08:21:19 interesting point about the upsync 08:21:22 There is this question on TJC https://together.jolla.com/question/178570/caldav-with-mailfence 08:21:34 But didn't have time to investigate yet. 08:22:51 I just took a quick look at the log: there are 5 events at least which were synced 08:23:07 this isn't the initial sync log, since some .ics were already previously synced 08:23:20 hrm, I guess we need the "initial" sync log to know what might be synced and what not 08:23:36 oh whoa 08:23:39 and more ... 08:23:40 urgh 08:23:49 yeah, I will analyse the rest of that log file some other time 08:24:15 chriadam__: did you see that data loss one that came in via Jolla yesterday? 08:24:18 Thank you. I'll have time this week to also look at it I guess. 08:24:44 abranson: yes, I saw it... I don't know what to say other than "we need to upgrade QtPIM, and update our sync plugins to use properly-separated-addressbooks" 08:24:51 :/ 08:25:31 we know that contact sync semantics are broken because of ancient decisions, and can't fix it until we require that contact additions/edits are placed into a specific addressbook by the user as part of the UI flow 08:25:48 (and support specific addressbooks in the backend). technically we could hack it with synctarget, but I'd prefer to do it properly. 08:26:35 definitely. is that something community can do? it doesn't affect the UI much, does it? 08:26:57 people were asking for possible tasks in a recent mer meeting 08:27:24 There is UI involved (e.g. when user edits or adds a contact in People app, have an intermezzo dialog asking which addressbook to place the contact in) 08:27:31 but the majority of it is non-UI, open-source 08:27:55 I will send you a link in a bit (on internal irc) with the details. we can pry out the OSS side from that. 08:28:04 definitely would appreciate help with it from community. 08:28:19 yeah that should be a minor part, and easily doable around the contrib. so it wouldn't require a huge rewrite of all the queries for the new version then? 08:28:35 As a related thought, I'm wondering for a while if we should do this also for calendars? 08:29:13 that's related to the duplicate calendar on crash iirc? 08:29:47 I'm thinking about this to have calendars that are not priviledged. 08:30:05 So Store app can interact with them. 08:30:51 The example would be the todos for instance. 08:31:28 Adding Todos through calendar UI, and having specilized app managing todo lists that can interact with the same data. 08:32:27 per-app calendars is a good idea 08:33:00 e.g. web ics calendars 08:33:11 such as airbnb provides 08:33:13 we should indeed have daemons which provide API via IPC, which can be properly access-controlled, etc. and would also allow per-app storages etc. 08:33:36 but that's something which needs to be discussed in context of security (SELinux / flatpak etc) and is a bigger / different piece of work IMO 08:33:40 abranson: I just sent you an email 08:33:44 thx 08:34:07 anyway, let's come back to this at next meeting, I think, once abranson has had a chance to digest that email and we can plan going forward 08:34:23 Yeh, sure. 08:34:27 #topic Is the workaround still required to build with the Application SDK (martyone said it should be fixed / no longer necessary) 08:34:52 dcaliste: martyone asked me to ask you this: apparently the instructions on the wiki page include a workaround for some permissions or something 08:35:07 he asked me to ask you if that was still required, as he believes that it should not be required any more (the issue was apparently fixed) 08:35:25 are you able to comment on whether that has been fixed or is still required? 08:35:39 I don't remember about this. let me read again the wiki. 08:36:48 (I'm not 100% sure what he was referring to, maybe the execute permission bit not being set on the build artifacts? or?) 08:37:33 although that limitation would seem to me to be a VirtualBox limitation rather than something we could fix in the Application SDK, so not sure 08:37:47 Is it the fact that I adviced to copy the source to /home/deploy because /home/mersdk/share does not handle the execute bit properly? 08:38:10 ah because it's an encrypted home? 08:38:19 No, not necessary. 08:38:50 which line(s) should I delete or change in the wiki? 08:39:04 When I first used SDK some years ago, the shared home has some issue the excutable bit was not set by make. 08:39:31 I found out at that time that the mount made by VirtualBox did not handle the execute properly 08:39:47 A bit like when mounting a FAT tree under Linux. 08:39:53 right 08:40:09 Maybe now, it's fine. I didn't try it again and I'm always building in /home/deploy 08:40:29 Or maybe at that time I was wrong also ;) 08:40:43 I'm sure you were right, as martyone said that something there had been fixed 08:41:01 but I don't use the application sdk so I wasn't sure what precisely had been broken in the past, and then fixed 08:41:27 ok, so I think I'll update the wiki to remove that line about the execute permissions not being set, and then add a note to say "if you have issues with the execute permission bit, you can try copying ..." etc 08:41:29 I'll try this evening to build in /home/mersdk/share directly and report tomorrow. 08:41:39 that'd be great, thanks. no rush of course. 08:42:11 ok, next agenda topic: 08:42:12 #topic Any Other Business? 08:42:35 Nothing else from me, except that I will again have limited availability for carddav/caldav development this month. secrets/crypto taking most of my time. 08:42:54 I'm testing the issue when pushing changes to recurring event. 08:43:00 (on that note, I haven't yet had a chance to add the API you asked me about, regarding generating and storing a key from a user-supplied-passphrase) 08:43:09 I'll push a MR soon where we can discuss the design choices. 08:43:12 great 08:43:14 thanks 08:43:32 (Thanks anyway for the secret work, I'm waiting) 08:43:44 And monitoring the PR in Github. 08:44:11 :-) 08:44:22 abranson: anything else to discuss that you can think of? 08:44:44 no I think that's everything. still reading your email ;) 08:45:00 oh, though the ICS thing has me thinking 08:45:49 could that be a nice and easy community calendar add-on? 08:46:48 Yes, I agree. One should discuss though where to put it, in which component. 08:47:10 this is "not sync, but display" ? 08:47:13 or? 08:47:23 yep. read-only calendar synced from a URL 08:47:44 Oh, I forgot, besides, I'm rewriting part of CalDAV to put everything related to ICS handling into one class separated from notebooksyncagent. 08:47:45 i would have thought it would be done through accounts 08:48:06 dcaliste: that sounds like a step towards that then! 08:48:17 abranson: or a bit like with email calendar invitation. 08:48:41 ah you mean when you find them with the browser? could be 08:48:44 This rework is in my tidy branch if you want to give a look. 08:49:13 I'm going to make a MR in the coming weeks, I was waiting for bug stabilisation first. 08:49:24 abranson: yes indeed. 08:49:26 definitely sounds like a good idea. unfortunately I don't have time to review it thoroughly just now :-( 08:49:51 I still need to test it intensively though, so you have time. 08:50:00 i suppose it'd be two separate parts - one that fetched an ics file and saved it to an existing calendar, and another that uses a remote ICS file to sync a local read-only calendar. for some reason i only had the second one in mind. 08:50:26 but the first would be really similar to email invite yeah 08:50:54 I think we'd need to consider carefully how we intend to do that for email invites in the qmf/caldav case 08:51:05 and unify the approach for web-browser case also 08:51:06 Oh, now I understans your second point and why you pointed it to account, indeed. 08:51:52 chriadam__: I'm afraid currently ICS importation is done by dedicated code in nemo-qml-plugin-emqail 08:51:58 ah 08:52:27 I guess we do somethign similar as for bluetooth import or some such 08:52:30 shrug 08:52:34 need to fix it some day 08:52:42 Which bring me back to my earlier point of having a small lib for ICS handling. 08:52:56 Doing all the dirty work for all day events... 08:53:23 would be handy, to unify our handling 08:53:41 well, let's discuss that another time I guess, we have more than enough on our plates for the moment :-) 08:53:48 quick wrap up of action points: 08:54:09 1) I need to create the mer bugs about those two TJC issues 08:54:21 2) preferably I should also fix those two ;-) 08:54:40 3) dcaliste will investigate the mailfence caldav log 08:55:09 4) chriadam to take a look at the webdav sync stuff and being implementing the UI bits 08:55:29 5) dcaliste will test the application SDK build artifact permission bits 08:55:43 6) abranson will consider the email and come up with a plan for community contribution to QtContacts etc 08:56:10 7) dcaliste is working on a variety of things including a refactor of the caldav ICS handling etc 08:56:14 did I miss anything? 08:57:09 8) dcaliste push a fix for the issue when sending mods to a recurring event. 08:57:33 yep, thanks 08:57:43 I think that about covers it! 08:57:48 Otherwise, nice list. 08:57:58 huge thanks once again for your effort and help with this domain, dcaliste! 08:58:01 and you too abranson :-) 08:58:08 if nothing else, ending meeting in 5... 08:58:15 4... 08:58:18 Well, it's fun. thank you two also. 08:58:19 3... 08:58:23 2... 08:58:26 thanks chris and damien! 08:58:26 1... 08:58:29 #endmeeting