09:00:03 #startmeeting Sailfish OS CalDAV/CardDAV Contributors meeting 09:00:03 Meeting started Mon Sep 4 09:00:03 2017 UTC. The chair is chriadam_. Information about MeetBot at http://wiki.merproject.org/wiki/Meetings. 09:00:03 Useful Commands: #action #agreed #help #info #idea #link #topic. 09:00:11 The agenda can be found: 09:00:16 #link https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#04.2F09.2F2017_Meeting 09:00:42 Not sure how many people will be attending, since I didn't send the reminder email until very late, again, unfortunately. 09:00:47 #topic Introductions 09:00:54 Please introduce yourself with #info name/nick. 09:01:01 #info Chris Adams, developer at Jolla 09:01:20 #info Damien Caliste, community 09:01:41 hi dcaliste :-) 09:01:58 we'll wait another 7 mins or so for other folks to arrive in case they're running late 09:02:20 hello, nice to see you. 09:04:33 you also! the PR looks mostly good, I have a couple of concerns, will discuss in the upcoming topic 09:06:21 Sure. 09:09:07 ok, let's continue :-) 09:09:14 #topic Follow-up Agenda Items From Last Meeting 09:09:20 was I supposed to merge anything since last meeting? 09:10:06 Yes, one MR, the one modifying icalconverter. I was supposed to add a "list" action, which I have done after the meeting. 09:10:17 ah 09:10:19 It's not very important, so no rush. 09:10:46 this one? https://git.merproject.org/mer-core/buteo-sync-plugin-caldav/merge_requests/21/diffs 09:11:16 or was it to the libical / kcalcore code? 09:11:45 No, sorry, I miss you indeed merged it already … 09:12:14 Or it disappeared… 09:12:22 let me check 09:12:32 Looking for it, it was adding the export per notebook in icalconverter 09:13:33 https://git.merproject.org/mer-core/nemo-qml-plugin-calendar/merge_requests/16 09:13:41 I was looking in the wrong project… 09:13:57 heh, me too 09:13:59 thanks 09:14:18 oh, yep 09:14:27 that LGTM so I'll merge and tag that after this meeting 09:14:36 Ok, thanks. 09:14:46 just double checking: that didn't modify the command line options at all, did it? just changed the way they were parsed? 09:14:50 otherwise backup/restore will break ;-) 09:15:04 Yes, the syntax is kept the same. 09:15:24 Just internally, I've switched to use QCommandLineParser 09:16:17 For instance 'icalconverter import foo.ics' is still importing and 'icalconverter export foo.ics' is still exporting. 09:16:47 It is adding the 'icalconverter list' action and the '-n nbuid' option to the export action. 09:16:56 great 09:16:56 #action Chris to merge+tag https://git.merproject.org/mer-core/nemo-qml-plugin-calendar/merge_requests/16 09:17:58 great 09:17:58 anything else to follow up on from the last meeting? if not, let's continue to the rest of the agenda 09:18:17 Not that I immediately remember about. 09:19:00 ok 09:19:00 #topic MER#1609/MER#1805 - clean sync issues 09:19:00 I briefly looked at the PR which makes clean-sync a per-notebooksyncagent decision 09:19:00 I had a couple of questions: 09:19:23 1) does it replace/obsolete https://git.merproject.org/mer-core/buteo-sync-plugin-caldav/merge_requests/22/diffs or does it go on top of that one? 09:19:49 2) mkcal cannot store millisecond-resolution timestamps in the syncDate field AFAIR - can this cause any issues? 09:20:37 3) the notebooksyncagent now creates the notebook, I believe. IIRC creating a notebook in mkcal causes a transaction commit - is this the case or is my memory wrong? if it does cause a commit, could this result in half-completed sync artifacts being written to database? 09:21:07 4) compatibility: if we merge and tag the change, will existing accounts continue to work, etc? (I guess so, since the syncDate should exist for those also) 09:21:40 2) is easy : I've never seen any milliseconds in the sync log neither ! 09:23:04 1) Yes, !22 was essemtialy just removing one line, the one with the deleteNotebook action. So new !23 should superceed it. 09:24:03 3) Yes, the notebook is created in notebooksyncagent. But, normally, it is still created only after the sync is successful. I'll detail… 09:24:54 4) Yes, that's a good question, but yes the setSyncDate() was already in use. So it is compatible with existing code and dtabase on device. 09:25:09 Now, let's go back to the question 3)… 09:25:37 The setNotebookFromInfo() new function: 09:25:53 - either is associating mNotebook to an existing calendar ; 09:26:54 - or is creating a in memory notebook for the duration of the sync and discussion with server, see line #215 in notebooksyncagent.cpp. 09:27:38 The commit to the storage is done only in applyRemoteChanges() at line #766. 09:28:51 let me check 09:29:02 Sure. 09:30:35 While discussing it here, I may have let a memory leak pass. In the case of in memory Notebook creation, because there is no deletion going with the new from line 215. 09:30:50 ah, nice catch 09:31:53 I'll see to that memory leak. Otherwise I let you think about the new workflow (which is not far at all from the old one, just that code have been moved from caldavclient to notebooksync agent). 09:31:54 ok, I see what you mean about the "create new" only being "in memory" until the call to mStorage->addNotebook. 09:32:04 yep, it makes sense 09:32:32 ok, that's basically the only queries I had. I've yet to test it personally, but yep, mostly seems good to me. I like the fact that it can do per-notebook clean syncs if necessary now too 09:32:53 I'll set aside a few hours in the next week to test it against the mer infra 09:33:12 Yes, it is essentially the same workflow than before but I've moved code from caldav to notebook to be more local. 09:33:27 and get it merged. are you able to decline the !22 one since it's not needed any more 09:33:28 Thank you for reviewing this. 09:33:41 Ok, for declining !22. 09:33:52 It was done before I worked on !23. 09:34:01 :-) 09:34:16 ok, let's continue with agenda: 09:34:19 #topic MER#1796 - local modification being reported erroneously to calendar events 09:34:46 the comparison with trimmed strings, makes sense. I'll review that one thoroughly and merge. 09:34:48 You'll see also that buteo-syncfw!16 is not really needed anymore. But in case, it is correcting the lastSuccessfulSyncDate() call anyway. 09:35:01 #action Chris to review and merge https://git.merproject.org/mer-core/buteo-sync-plugin-caldav/merge_requests/21/diffs 09:35:53 typo in the commit message in https://git.merproject.org/mer-core/buteo-syncfw/merge_requests/16/diffs 09:36:29 on the one hand, I'm disinclined to touch Buteo code unless I can absolutely avoid it. on the other hand, it's clearly a bug... 09:36:48 I will most likely merge that one too. 09:36:58 #action Chris to merge https://git.merproject.org/mer-core/buteo-syncfw/merge_requests/16/diffs also 09:37:07 I'll correct the typo ! 09:38:02 with regards to MER#1796 do you think it's just the "trimmed" comparison issue? that seems very likely culprit to me. 09:39:18 Aout MER#1796, the trailing whitespace was definetely an issue. But I cannot say that is solve all #1796 cases… 09:39:44 ok, well I'll merge that one and ask community to test (well after I've merged all of these changes I'll generate test packages and ask for help testing) 09:39:52 thank you very much for looking into those issues! 09:39:56 let's continue with agenda: 09:40:06 #topic MER#1714 - isdn field added to phone numbers on upsync (investigation required) 09:40:25 as in previous meetings, this is low-priority but good task for a new contributor; if anyone would like to help, please get in contact :-) 09:40:34 continuing 09:40:35 #topic MER#1751 - main issue resolved, but some minor tasks here remain. 09:40:47 Well, now that I'm actively using it on my device, I'm eiger to solve issues I encounter (and it's much easier to collect logs…). 09:41:03 For CardDAV, not using it (yet)… 09:41:14 as in previous meetings, this is an issue which should be easily solvable (.eml files containing .vcf data, reported by kerio), if any new contributors want to help, please get in touch :-) 09:41:49 dcaliste: IMO the carddav code is much nicer to work with (maybe just hubris, since I wrote it). BUT it does have complications due to the moderately insane qtcontacts-sqlite aggregation semantics. 09:42:09 continuing 09:42:10 #topic Any Other Business? 09:42:22 Nothing else from me. Can you ping me via the PR once the memory leak thing is resolved? 09:42:31 then I'll merge and tag everything outstanding, generate test packages, etc 09:42:48 Yep, I'll ping you after memory leak corrected. 09:43:03 thanks! do you have anything else to raise? 09:43:34 Nothing for now, settling with all these changes first, but I'm still thinking about todos… 09:44:12 pvuorela: we should sync up with dcaliste on this point 09:44:31 fyi an internal customer might need TODO support in the nearish future, so there has been some discussion about what we should support and how. 09:45:01 My point is mainly first to review caldav and calendar code to see where assumptions are made on events only. There are not so many it seems. 09:45:21 right 09:45:39 Good that it will be worked inside also, there will be UI integration like that ;) 09:45:41 maybe some "not implemented" bits in the incidencehandler 09:46:06 since those conversion codepaths wouldn't have been tested in reality for TODOs I guess, so might be some data missed etc 09:46:47 anyway, let's see what happens. :-) 09:47:20 once again, thanks very much for your hard work, it is greatly appreciated. I've asked Jaymzz if we can send you a shiny new device or some tshirts ;-) 09:47:37 We can discuss this in the next meeting if current MRs are working well ;) 09:47:39 next meeting will tentatively be on Monday October 2nd at 0900 - would that suit you? 09:48:15 Ok with the 2nd of October. 09:48:19 on todos, having support gets easily into question whether to support todo lists or calendar todos. 09:49:41 Without thinking much to the question list vs. calendar, I like having the synchro between devices for free (Mmh) when using calendar todos. 09:49:56 And also integration with cloud things. 09:50:13 lots of discussion points and tradeoffs I think. maybe we can add that to agenda for next meeting properly, and discuss more in-depth there. 09:50:37 chriadam_, I agree. 09:50:40 :-) 09:50:43 ok thanks again! 09:50:45 #endmeeting