Nextcloud account sync errors, local to remote. remote calendars sync both ways

I just realized that I had created those endpoints with caldav/cardav so that has nothing to do with the nextcloud account. well, except that they are the same.

I mean the Personal calendar that is created by default along with the Birthdays Calendar. I have a feeling that something goes awry when you have a unique id local ‘Personal’ and there is also one (also on nextcloud by ‘default’) called ‘Personal’ but obviously with it’s own UUID? I had tried deleting the one on nextcloud, but that did not seem to make a difference.

All of the calendars on nextcloud, if I create an event on device with that calendar, sync works. Just local ‘Personal’ is never synced up.

I just removed the car/caldav account to make sure that was not playing a role and looked in the db:

Default|151
Birthdays|215
Personal|151
Contact birthdays|215
Tasks|151
Deck: Personal|215
Deck: DWD client|215
Personal|663

Are the values I see. The first three are jolla and the rest are on next cloud. All of those can be written to using vdirsync from the device.

Ah things are getting clearer. If I understand well, Nextcloud calendars are properly synced both directions.

The remaining point I still feel unclear with, is this “Personal” calendar status. As far as I know, Jolla is creating only two calendars on device, the “Default” one and the “Birthdays” one. These ones are local to the device and obviously not synced with anything.

In the last list you provided, there are two calendars labelled “Personal”, one with the default flag (663 means “accept events, tasks and journals, is master, visible and default”) and one without (151 means “accept events, tasks and journals, is master and visible”), see sailfishos/mkcal/src/sqliteformat.h#CalendarFlag for the flag values. From your previous messages, I guess the first “Personal” is the default Nextcloud calendar, while the second one is the one you added on server and synced. You can check that they belongs to the same account from the SQLite database, with the column account.

If I’m still understanding properly, you can sync both direction with the second “Personal” calendar, while you can only downsync with the first.

So, add an event on device in the “first” Personal calendar (don’t confuse with the second one : /), and get a debug trace from msyncd. Can you then look at the upsync part in the log, particularly if there is a PUT request for this new event on device and what is the server answer to this request ?

Ok, so those are never synced anyway? If that’s the case then my dump (I have a full year of stuff on the local calendar) and vdirsync to remote was inevitable anyway.

The current state in the db:

Default|23|
Birthdays|87|
Personal|151|5
Contact birthdays|215|5
Tasks|151|5
Deck: Personal|215|5
Deck: DWD client|215|5
Personal|23|5
local|663|5

‘local’ I created with:

  • devel-su -p icalconverter export calendar.ics
  • …/Documents/ical_split.py …/Documents/calendar.ics local/ (where local is a vdirsync local calendar)
  • vdirsyncer sync

The ‘local’ calendar (which is actually remote) is subscribed on the phone, but syncing it seems foobar. probably just too many items.

Oh, and the 215’s are probably because those calendars are managed by other apps in nextcloud. Namely, contacts and Deck (the scrum tool).
EDIT: the local calendar on nextcloud is NOT syncing correctly. Well, unless I use vdirsync.
EDIT2: the following log generated on doing the sync with QT debug logging:

SNIP
[D] unknown:0 - have new remote addition: "/remote.php/dav/calendars/poetaster.de/local/97a133c5-3770-464e-a21d-671cbdd2ce47.ics"
[D] unknown:0 - Calculated local  A/M/R: 0 / 0 / 0
[D] unknown:0 - Calculated remote A/M/R: 153 / 0 / 0

SNIP lot of data

[D] unknown:0 - "---------------------------------------------------------------------"
[D] unknown:0 - "void Report::sendRequest(const QString&, const QByteArray&)" :Exit, execution time: 3 ms
[D] unknown:0 - "void Report::multiGetEvents(const QString&, const QStringList&)" :Exit, execution time: 4 ms
[D] unknown:0 - void NotebookSyncAgent::sendLocalChanges() "5"
[D] unknown:0 - no local changes to upsync - finished with notebook "local" "/remote.php/dav/calendars/poetaster.de/local/"
[D] unknown:0 - void NotebookSyncAgent::requestFinished(Request*) "5"
[D] unknown:0 - "virtual void Report::handleReply(QNetworkReply*)" :Exit, execution time: 44 ms
[D] unknown:0 - "void Request::requestFinished()" :Exit, execution time: 45 ms
[D] unknown:0 - "void Request::requestFinished()" :Entry
[D] unknown:0 - "REPORT" request finished: QNetworkReply::NetworkError(NoError)
[D] unknown:0 - "virtual void Report::handleReply(QNetworkReply*)" :Entry

SNIP

[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 2  incidences
[W] unknown:0 - iCal data contains invalid incidences with conflicting uids

So, looks like one day is causing the entire import to fail?

EDIT: the local calendar on nextcloud is NOT syncing correctly. Well, unless I use vdirsync.

Well, I did the same procedure as you the first time I created a CalDAV account (the sync plugin is the same for both CalDAV and Nextcloud): export on device, import on server and then hide the local calendar on device.

What is the sync log of your “local” Nextcloud calendar ? Normally, it should first get all resource etag and URL on server, then calculate a delta, send local changes, then get all “new” remote incidence in a large multi get request and finally apply the remote changes from the result of this multi get. Do you see any error from the log in the procedure ? Typically check that the multi get is sent, it should contains the URLs of all “new” remote incidences, that the multi-get response is received (there is a debug line starting with “iCal data contains”) and that there is no reported error in calendar addition for every incidence.

You can also inspect ~/.local/share/system/privileged/msyncd/sync/logs/caldav-sync-5.xml that may contains list of failing incidences during a sync (or use my GUI interface for it: github.com/dcaliste/harbour-logbook).

Sorry, I had edited the previous post with answers to your questions.

The synclog:

    <syncresults time="2023-06-02T16:06:35" scheduled="false" majorcode="0" minorcode="0">
        <target name="Personal">
            <local deleted="0" modified="0" added="0"/>
            <remote deleted="0" modified="0" added="0"/>
        </target>
        <target name="Contact birthdays">
            <local deleted="0" modified="0" added="0"/>
            <remote deleted="0" modified="0" added="0"/>
        </target>
        <target name="Tasks">
            <local deleted="0" modified="0" added="0"/>
            <remote deleted="0" modified="0" added="0"/>
        </target>
        <target name="local">
            <local deleted="0" modified="151" added="0">
                <modifiedItem uid="233F4DF4E0657B3326361F4C9671BFD2@wastebox.gemos-management.de"/>
                <modifiedItem uid="92BAEA8A19568E431CB33457AD8DBCCC@wastebox.gemos-management.de"/>
                <modifiedItem uid="5394FFCD17880EE8C5FA8424B8AD1DAD@wastebox.gemos-management.de"/>
                <modifiedItem uid="B74514166BC9671977CEBFFA69309045@wastebox.gemos-management.de"/>
                <modifiedItem uid="6D4DEE15C47799A097B5270C04A43A24@wastebox.gemos-management.de"/>
                <modifiedItem uid="0B35C05D2396FABD874F4E41A2ACE101@wastebox.gemos-management.de"/>
                <modifiedItem uid="15D24236DB4FBF5B20EB3F290357CD46@wastebox.gemos-management.de"/>
                <modifiedItem uid="88576DE23FC78F88B8AD7AEFF845585C@wastebox.gemos-management.de"/>
                <modifiedItem uid="F85AE998D995F781DACCDD054D4715B4@wastebox.gemos-management.de"/>
                <modifiedItem uid="FC41421E60D68E38594588B6B5CDB4E1@wastebox.gemos-management.de"/>
                <modifiedItem uid="5BBC797145EB1E3BA45F34B9CE7E9433@wastebox.gemos-management.de"/>
                <modifiedItem uid="C24883D0C6D525AD5395DF10CAFD6ABB@wastebox.gemos-management.de"/>
                <modifiedItem uid="206E670ECAA643CDEBF3A500A19B9714@wastebox.gemos-management.de"/>
                <modifiedItem uid="C87FE9F6B31F34AE366A74BF0D9604E8@wastebox.gemos-management.de"/>
                <modifiedItem uid="29C0E646-9DC6-473B-ABB8-031173C0214C"/>
                <modifiedItem uid="C263CBA6DD418292C7E17092B3284A57@wastebox.gemos-management.de"/>
                <modifiedItem uid="46A09C93B4FD1D88892BB409E138E5B9@wastebox.gemos-management.de"/>
                <modifiedItem uid="05E728734AE278876464DC02AE028312@wastebox.gemos-management.de"/>
                <modifiedItem uid="79A3A306400CBE795D3F523113BE5FB4@wastebox.gemos-management.de"/>
                <modifiedItem uid="41F175AE4FD61D73D0F31E14EE0E46DC@wastebox.gemos-management.de"/>
                <modifiedItem uid="8A1E4FA59D259F05B77E7F256A540AF0@wastebox.gemos-management.de"/>
                <modifiedItem uid="A8E6B51ACC221743568B5D82652D33F6@wastebox.gemos-management.de"/>
                <modifiedItem uid="1B4AD1EE94BBCF76CFBFD96450E3AB43@wastebox.gemos-management.de"/>
                <modifiedItem uid="5D8AFE9DDE2EC9DA01AFA485D35EF76B@wastebox.gemos-management.de"/>
                <modifiedItem uid="A37714325BF55046B22404E97606347C@wastebox.gemos-management.de"/>
                <modifiedItem uid="A2A9C6D1609EF56B66C9A8F9E18B4787@wastebox.gemos-management.de"/>
                <modifiedItem uid="68393EB1A04EC1C2AAD3E7641169C28A@wastebox.gemos-management.de"/>
                <modifiedItem uid="8510106EA6B7EB01361B3492C8F075A7@wastebox.gemos-management.de"/>
                <modifiedItem uid="6001DEC3C2F25A7925C61B2364759EE8@wastebox.gemos-management.de"/>
                <modifiedItem uid="8EB298EC57059F049FFB4BE04EA668C6@wastebox.gemos-management.de"/>
                <modifiedItem uid="9A676C3508D5853FA18177AA51AEFEF9@wastebox.gemos-management.de"/>
                <modifiedItem uid="9B35525E6EC602E015AE83D61B7DAC02@wastebox.gemos-management.de"/>
                <modifiedItem uid="AD3DBD8AB77607D86DBBA08754B3EAE6@wastebox.gemos-management.de"/>
                <modifiedItem uid="E746158F1013C3A92FDF06AB588D9FB4@wastebox.gemos-management.de"/>
                <modifiedItem uid="519F0ECD-878C-4165-9020-B01FC3F13DDE"/>
                <modifiedItem uid="0EBEAB9CEEA91AB46D99C2D0ECBDBFC8@wastebox.gemos-management.de"/>
                <modifiedItem uid="1C9C58C8FFFDD8FF27732015B60122F5@wastebox.gemos-management.de"/>
                <modifiedItem uid="F24FDB88F0519075FAC2F5A0B35FB23A@wastebox.gemos-management.de"/>
                <modifiedItem uid="1F9F5F06AE21798E1FE4F5D73E3DD8ED@wastebox.gemos-management.de"/>
                <modifiedItem uid="A474253CBA56B77516DC4B239A4214D3@wastebox.gemos-management.de"/>
                <modifiedItem uid="BC82E190C7F7CF99FA69DEB3CBFBDDCF@wastebox.gemos-management.de"/>
                <modifiedItem uid="73C2A38690EF5F0AC35F7FC84C66C9F0@wastebox.gemos-management.de"/>
                <modifiedItem uid="115EFCBE555B9EF780F013E862C73C1A@wastebox.gemos-management.de"/>
                <modifiedItem uid="BCE29E9EB6C604F734B06FFC2737F074@wastebox.gemos-management.de"/>
                <modifiedItem uid="D04C4349F2FB203CC7D31DFF3D5D2270@wastebox.gemos-management.de"/>
                <modifiedItem uid="1CA991B8002E29F3339945DE7BCB12DE@wastebox.gemos-management.de"/>
                <modifiedItem uid="55924E37003BC682DAB83D69115FEFF4@wastebox.gemos-management.de"/>
                <modifiedItem uid="C3D60D4E34B05C867EDCB0E1529918B2@wastebox.gemos-management.de"/>
                <modifiedItem uid="FEF65C09ED3E3A41EDC7F11D434A2465@wastebox.gemos-management.de"/>
                <modifiedItem uid="7AA576A0-56F4-464B-BFC3-16BF0E34EABC"/>
                <modifiedItem uid="8D89BFE35E3E62B2AF095A104C42169B@wastebox.gemos-management.de"/>
                <modifiedItem uid="CCA1D727186C9BB694C09EFAD4175A19@wastebox.gemos-management.de"/>
                <modifiedItem uid="80986276-33A8-4FE2-939B-19CE86625E86"/>
                <modifiedItem uid="14C09F0032150AC585B97EF36A2B6BF9@wastebox.gemos-management.de"/>
                <modifiedItem uid="428F07052142D0AD5AE2D015BD521BB2@wastebox.gemos-management.de"/>
                <modifiedItem uid="579F020BF321BECF53959CEF938ADE00@wastebox.gemos-management.de"/>
                <modifiedItem uid="5CEBB5216FC5F894FB8E84ECB14D9385@wastebox.gemos-management.de"/>
                <modifiedItem uid="57373622694FCC6ADFA7735D805A7761@wastebox.gemos-management.de"/>
                <modifiedItem uid="DC73978D-22B1-4440-8132-E95748EEBCAD"/>
                <modifiedItem uid="EEB37548-FDC9-443C-B26A-F6455F393D97"/>
                <modifiedItem uid="06472DE544A6E201CCD9F495ED1F78DD@wastebox.gemos-management.de"/>
                <modifiedItem uid="76AC52C8855BCF29C5D608F781F89708@wastebox.gemos-management.de"/>
                <modifiedItem uid="E2AD9A558997A788177468E784027AC6@wastebox.gemos-management.de"/>
                <modifiedItem uid="170D2533234C6EB18CEA9ABD539D0204@wastebox.gemos-management.de"/>
                <modifiedItem uid="33EEC45B055502BC95EDFF9437EFA74D@wastebox.gemos-management.de"/>
                <modifiedItem uid="EF75BA6933AC3F661ECF6DEC769F6171@wastebox.gemos-management.de"/>
                <modifiedItem uid="61B1151F4041702B4587AB94E1FBCDDA@wastebox.gemos-management.de"/>
                <modifiedItem uid="6620089559BAFC8807B6A8053C31FF98@wastebox.gemos-management.de"/>
                <modifiedItem uid="29801D4D955ADCE991BDD5875AE2844C@wastebox.gemos-management.de"/>
                <modifiedItem uid="C0A52179609C0563ED9B20C20DDD0757@wastebox.gemos-management.de"/>
                <modifiedItem uid="6826EDE7941BEC852CE17058906CAC48@wastebox.gemos-management.de"/>
                <modifiedItem uid="34DFCDA97C77D67CA1DD50E9A1F08CA7@wastebox.gemos-management.de"/>
                <modifiedItem uid="203346CDB2F0A4DED8CABB61F7A1121D@wastebox.gemos-management.de"/>
                <modifiedItem uid="A577276B5BCC42E0D41D728572C013F7@wastebox.gemos-management.de"/>
                <modifiedItem uid="19EBB057D85EBDFC241D85DCBB58743F@wastebox.gemos-management.de"/>
                <modifiedItem uid="F463AF1E063A5841EE475E88206CE7A0@wastebox.gemos-management.de"/>
                <modifiedItem uid="B7FAA3F12A0C1C007F48FE8126615927@wastebox.gemos-management.de"/>
                <modifiedItem uid="2B2DD8AB5F37C7AE0647D8333B72ABCB@wastebox.gemos-management.de"/>
                <modifiedItem uid="5291355D389C9C1D22451714A9E2715D@wastebox.gemos-management.de"/>
                <modifiedItem uid="CB301281CAFAE35828F49166B1AC5BCC@wastebox.gemos-management.de"/>
                <modifiedItem uid="D785E6C8273A3AABCD3A442C242A2C95@wastebox.gemos-management.de"/>
                <modifiedItem uid="2C28D593A5AB4AFD2D44598EBD070286@wastebox.gemos-management.de"/>
                <modifiedItem uid="B135F22D5DFC3B1C4325438AF94B4133@wastebox.gemos-management.de"/>
                <modifiedItem uid="A2730AD087D0E25683D3A7D787C2719E@wastebox.gemos-management.de"/>
                <modifiedItem uid="A5ACE640E6C45DFB48C34F2EFDA58635@wastebox.gemos-management.de"/>
                <modifiedItem uid="F68FA7120C15513E88DF338ED99E2A35@wastebox.gemos-management.de"/>
                <modifiedItem uid="E2A790D47F8B037ECC7E52F0037752E7@wastebox.gemos-management.de"/>
                <modifiedItem uid="BF66F8658C764E8997F0CEC110222952@wastebox.gemos-management.de"/>
                <modifiedItem uid="102E7AA2C2566BEB2A8A7AED464CB2D1@wastebox.gemos-management.de"/>
                <modifiedItem uid="93EA12DC94EF7C97A0F7EDAEFB93C8B6@wastebox.gemos-management.de"/>
                <modifiedItem uid="F72DCFBE3B8423991FE0F06E994FB3BF@wastebox.gemos-management.de"/>
                <modifiedItem uid="71EEFED623F409DBF56EAB3880E55706@wastebox.gemos-management.de"/>
                <modifiedItem uid="C53516E027028BAA311F93E8B1D81A9D@wastebox.gemos-management.de"/>
                <modifiedItem uid="E02B1786A811C1A94521FED00E2147FE@wastebox.gemos-management.de"/>
                <modifiedItem uid="0BDE9CB42CB94C24116404BA01B67AD8@wastebox.gemos-management.de"/>
                <modifiedItem uid="64250EC1F879B34F6D83C4F0A96532F1@wastebox.gemos-management.de"/>
                <modifiedItem uid="8204E772BB9E9E5A531425A0D4B29CE5@wastebox.gemos-management.de"/>
                <modifiedItem uid="51E602B7F3EADAEB4D335DF39B352A65@wastebox.gemos-management.de"/>
                <modifiedItem uid="7BAD30AC5A003D1563B74905F2E88B23@wastebox.gemos-management.de"/>
                <modifiedItem uid="66F79D092833336F8ECAC4D6A98DC63B@wastebox.gemos-management.de"/>
                <modifiedItem uid="0DF57ABE-4450-4996-A80C-4F814505D750"/>
                <modifiedItem uid="9025530907628C73E871EC6C5DA5C1BF@wastebox.gemos-management.de"/>
                <modifiedItem uid="414C5A8C27081730A04CA866A894253D@wastebox.gemos-management.de"/>
                <modifiedItem uid="A34829457D34E5C6E63CA4D1C4A45E36@wastebox.gemos-management.de"/>
                <modifiedItem uid="97BCFC5B41B30F438E3DEDE978460B72@wastebox.gemos-management.de"/>
                <modifiedItem uid="6D5EB39D2A7BBC7F7C7B651E9624E970@wastebox.gemos-management.de"/>
                <modifiedItem uid="B4FF9D59EAE5877BA02114CE7A26715F@wastebox.gemos-management.de"/>
                <modifiedItem uid="C5508C50C3C5D95B4D3F98471083BB0C@wastebox.gemos-management.de"/>
                <modifiedItem uid="37A7995C-2F3C-4689-A126-660321BA4A84"/>
                <modifiedItem uid="F93636A2CA8FBF0CF4E3C2373C38B044@wastebox.gemos-management.de"/>
                <modifiedItem uid="B9EF095478B13CFD151DD7FC0665695E@wastebox.gemos-management.de"/>
                <modifiedItem uid="5B15BE069A5A64D239F053A8C5A78A18@wastebox.gemos-management.de"/>
                <modifiedItem uid="61E847ECFDE6FFCBBE2116EDBC161D93@wastebox.gemos-management.de"/>
                <modifiedItem uid="E7B272816DE9E04A2C18B9E140242BF3@wastebox.gemos-management.de"/>
                <modifiedItem uid="D48429125EE8138B55C4290FA7FFF66E@wastebox.gemos-management.de"/>
                <modifiedItem uid="6AFF5F98F616FA981D6B7977599AF9A3@wastebox.gemos-management.de"/>
                <modifiedItem uid="095D040EBB75D1E6487AB034970BE962@wastebox.gemos-management.de"/>
                <modifiedItem uid="375DABA8F36497055BE24530B92D291B@wastebox.gemos-management.de"/>
                <modifiedItem uid="78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D"/>
                <modifiedItem uid="F8EA2AE11A885E325F71C73EBC47D29F@wastebox.gemos-management.de"/>
                <modifiedItem uid="FC450EC5C771196BA63F22FF31C33017@wastebox.gemos-management.de"/>
                <modifiedItem uid="10AD3B916513E2919C446334291F2B0D@wastebox.gemos-management.de"/>
                <modifiedItem uid="171D18CF9828346A862334E72B1CCEA3@wastebox.gemos-management.de"/>
                <modifiedItem uid="2C7167D8B9B5DED2C80FA55200B4C677@wastebox.gemos-management.de"/>
                <modifiedItem uid="862531080FA8F91C4E662968C52CCFDF@wastebox.gemos-management.de"/>
                <modifiedItem uid="E1C7CBE5D9B3B881A407CFD56D01CEC8@wastebox.gemos-management.de"/>
                <modifiedItem uid="942DB028BA4A45E05B8D662C352164BD@wastebox.gemos-management.de"/>
                <modifiedItem uid="2FEAB4204B6FAA3135F719D766025C19@wastebox.gemos-management.de"/>
                <modifiedItem uid="8D45E9B7C9778D427F394715AFD52591@wastebox.gemos-management.de"/>
                <modifiedItem uid="CB661A39BF6BAE8FB4E1EAA55DE739D8@wastebox.gemos-management.de"/>
                <modifiedItem uid="6468EB3D13F684A0480131A688573B6E@wastebox.gemos-management.de"/>
                <modifiedItem uid="C4FE7B93-F04E-4E9C-B43F-16B49BCB9835"/>
                <modifiedItem uid="846D10A2C3180D8442E08F7B2934C74C@wastebox.gemos-management.de"/>
                <modifiedItem uid="2A54FCD90B39CA4BB0A8E9CCF2B3BF0B@wastebox.gemos-management.de"/>
                <modifiedItem uid="547A691AE846DC908B6973116B20FA9F@wastebox.gemos-management.de"/>
                <modifiedItem uid="D42BE0BB992D81411E17BE88BF91EFD3@wastebox.gemos-management.de"/>
                <modifiedItem uid="B72EB0D2A6C07E104B93FE64FD11EBE1@wastebox.gemos-management.de"/>
                <modifiedItem uid="E193602F79B52CEE667828F10905E3EC@wastebox.gemos-management.de"/>
                <modifiedItem uid="3E9B5B7917E3F3AB9DE00EA46683AB82@wastebox.gemos-management.de"/>
                <modifiedItem uid="1257911830C27EAB92728FAE2E63592C@wastebox.gemos-management.de"/>
                <modifiedItem uid="709EC4622476F698226ADD11FB6426AA@wastebox.gemos-management.de"/>
                <modifiedItem uid="0C43E22B63529BB37A6C073CC141C741@wastebox.gemos-management.de"/>
                <modifiedItem uid="2CEDCB611C020193BA0AC668B29F8976@wastebox.gemos-management.de"/>
                <modifiedItem uid="23BE4F0C63BF797878A8E56552ABDD00@wastebox.gemos-management.de"/>
                <modifiedItem uid="910AD6159C4606D8D44276CD32016D49@wastebox.gemos-management.de"/>
                <modifiedItem uid="55390D027865ADDF2F60B28AB31FB03F@wastebox.gemos-management.de"/>
                <modifiedItem uid="C5E2E3BDC1ED87AC486A2E9383852A67@wastebox.gemos-management.de"/>
                <modifiedItem uid="537CB663742B44A4BFA1513581CBB776@wastebox.gemos-management.de"/>
                <modifiedItem uid="2C7B4A7E78B542DCCF80E050AB60FF81@wastebox.gemos-management.de"/>
                <modifiedItem uid="1950A62CFE5ABBF6CF48A7D898715CEC@wastebox.gemos-management.de"/>
                <modifiedItem uid="5C993980ADDCF23D1265AA4795D195D7@wastebox.gemos-management.de"/>
            </local>
            <remote deleted="0" modified="0" added="0"/>
        </target>
        <target name="Deck: Personal">
            <local deleted="0" modified="0" added="0"/>
            <remote deleted="0" modified="0" added="0"/>
        </target>
        <target name="Deck: DWD client">
            <local deleted="0" modified="0" added="0"/>
            <remote deleted="0" modified="0" added="0"/>
        </target>
    </syncresults>

Sooo.

  • I sorted the events by categories (on disk)
  • made separate calendars in nextcloud
  • sync/deleted to the new calendars
  • made sure the phone was aware of them
  • turned everything but ONE calendar off
  • ran sync with QT debugging.

For 9 events.

 [D] unknown:0 - "BEGIN:VCALENDAR"
[D] unknown:0 - "PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN"
[D] unknown:0 - "VERSION:2.0"
[D] unknown:0 - "X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0"
[D] unknown:0 - "BEGIN:VTIMEZONE"
[D] unknown:0 - "TZID:Europe/Berlin"
[D] unknown:0 - "BEGIN:STANDARD"
[D] unknown:0 - "TZNAME:CET"
[D] unknown:0 - "TZOFFSETFROM:+0000"
[D] unknown:0 - "TZOFFSETTO:+0100"
[D] unknown:0 - "DTSTART:19791231T230000"
[D] unknown:0 - "RDATE:19791231T230000"
[D] unknown:0 - "END:STANDARD"
[D] unknown:0 - "BEGIN:DAYLIGHT"
[D] unknown:0 - "TZNAME:CEST"
[D] unknown:0 - "TZOFFSETFROM:+0100"
[D] unknown:0 - "TZOFFSETTO:+0200"
[D] unknown:0 - "DTSTART:19810329T020000"
[D] unknown:0 - "RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3"
[D] unknown:0 - "END:DAYLIGHT"
[D] unknown:0 - "BEGIN:DAYLIGHT"
[D] unknown:0 - "TZNAME:CEST"
[D] unknown:0 - "TZOFFSETFROM:+0100"
[D] unknown:0 - "TZOFFSETTO:+0200"
[D] unknown:0 - "DTSTART:19800406T020000"
[D] unknown:0 - "RDATE:19800406T020000"
[D] unknown:0 - "END:DAYLIGHT"
[D] unknown:0 - "BEGIN:STANDARD"
[D] unknown:0 - "TZNAME:CET"
[D] unknown:0 - "TZOFFSETFROM:+0200"
[D] unknown:0 - "TZOFFSETTO:+0100"
[D] unknown:0 - "DTSTART:19971026T030000"
[D] unknown:0 - "RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10"
[D] unknown:0 - "END:STANDARD"
[D] unknown:0 - "BEGIN:STANDARD"
[D] unknown:0 - "TZNAME:CET"
[D] unknown:0 - "TZOFFSETFROM:+0200"
[D] unknown:0 - "TZOFFSETTO:+0100"
[D] unknown:0 - "DTSTART:19800928T030000"
[D] unknown:0 - "RRULE:FREQ=YEARLY;UNTIL=19961027T030000;BYDAY=-1SU;BYMONTH=9"
[D] unknown:0 - "RDATE:19950924T030000"
[D] unknown:0 - "END:STANDARD"
[D] unknown:0 - "END:VTIMEZONE"
[D] unknown:0 - "BEGIN:VEVENT"
[D] unknown:0 - "DTSTAMP:20230526T091442Z"
[D] unknown:0 - "CREATED:20230526T091442Z"
[D] unknown:0 - "UID:EEB37548-FDC9-443C-B26A-F6455F393D97"
[D] unknown:0 - "LAST-MODIFIED:20230526T091442Z"
[D] unknown:0 - "SUMMARY:Dent mol"
[D] unknown:0 - "DTSTART;TZID=Europe/Berlin:20230724T130000"
[D] unknown:0 - "DTEND;TZID=Europe/Berlin:20230724T140000"
[D] unknown:0 - "TRANSP:OPAQUE"
[D] unknown:0 - "END:VEVENT"
[D] unknown:0 - "END:VCALENDAR</cal:calendar-data></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>"
[D] unknown:0 - "---------------------------------------------------------------------"
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - iCal data contains 1  incidences
[D] unknown:0 - parsed 1 events or todos from the iCal data
[D] unknown:0 - void NotebookSyncAgent::reportRequestFinished(const QString&) "5"
[D] unknown:0 - report request finished with result: Buteo::SyncResults::MinorCode(NO_ERROR) ""
[D] unknown:0 - Report request finished: received: 9 iCal blobs
[D] unknown:0 - void NotebookSyncAgent::requestFinished(Request*) "5"
[D] unknown:0 - "void CalDavClient::notebookSyncFinished()" :Entry
[D] unknown:0 - bool NotebookSyncAgent::applyRemoteChanges() "5"
[D] unknown:0 - bool NotebookSyncAgent::updateIncidences(const QList<Reader::CalendarResource>&) "5"
[D] unknown:0 - bool NotebookSyncAgent::deleteIncidences(KCalendarCore::Incidence::List) "5"
[D] unknown:0 - updated timezones in database
[D] unknown:0 - updating notebook "b0756d6d-32e1-4ff2-aad0-054fe13ecebf" "Contact birthdays" in database
[D] unknown:0 - void NotebookSyncAgent::finalize() "5"
[D] unknown:0 - bool NotebookSyncAgent::applyRemoteChanges() "5"
[D] unknown:0 - bool NotebookSyncAgent::updateIncidences(const QList<Reader::CalendarResource>&) "5"
[D] unknown:0 - bool NotebookSyncAgent::deleteIncidences(KCalendarCore::Incidence::List) "5"
[D] unknown:0 - updated timezones in database
[D] unknown:0 - updating notebook "4190ad1f-8bf3-4aed-b61e-696290952d61" "Tasks" in database
[D] unknown:0 - void NotebookSyncAgent::finalize() "5"
[D] unknown:0 - bool NotebookSyncAgent::applyRemoteChanges() "5"
[D] unknown:0 - bool NotebookSyncAgent::updateIncidences(const QList<Reader::CalendarResource>&) "5"
[D] unknown:0 - Adding URI and ETAG to incidence: "0DF57ABE-4450-4996-A80C-4F814505D750" "" : "/remote.php/dav/calendars/poetaster.de/local/0DF57ABE-4450-4996-A80C-4F814505D750.ics" "\"631ffe0d94993bcee46b0d85b35e4d13\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "0DF57ABE-4450-4996-A80C-4F814505D750"
[D] unknown:0 - calendarModified called: true
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "0DF57ABE-4450-4996-A80C-4F814505D750"
[D] unknown:0 - Updating existing event: "0DF57ABE-4450-4996-A80C-4F814505D750" ""
[D] unknown:0 - appending incidence "0DF57ABE-4450-4996-A80C-4F814505D750" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "29C0E646-9DC6-473B-ABB8-031173C0214C" "" : "/remote.php/dav/calendars/poetaster.de/local/29C0E646-9DC6-473B-ABB8-031173C0214C.ics" "\"d1b6a59d5161bf4f78c0fa76e87392b5\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "29C0E646-9DC6-473B-ABB8-031173C0214C"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "29C0E646-9DC6-473B-ABB8-031173C0214C"
[D] unknown:0 - Updating existing event: "29C0E646-9DC6-473B-ABB8-031173C0214C" ""
[D] unknown:0 - appending incidence "29C0E646-9DC6-473B-ABB8-031173C0214C" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "37A7995C-2F3C-4689-A126-660321BA4A84" "" : "/remote.php/dav/calendars/poetaster.de/local/37A7995C-2F3C-4689-A126-660321BA4A84.ics" "\"032c8c21ce61b08804c6b9ac9f210f04\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "37A7995C-2F3C-4689-A126-660321BA4A84"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "37A7995C-2F3C-4689-A126-660321BA4A84"
[D] unknown:0 - Updating existing event: "37A7995C-2F3C-4689-A126-660321BA4A84" ""
[D] unknown:0 - appending incidence "37A7995C-2F3C-4689-A126-660321BA4A84" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D" "" : "/remote.php/dav/calendars/poetaster.de/local/78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D.ics" "\"1950eb431fc84a844020b464712148b6\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D"
[D] unknown:0 - Updating existing event: "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D" ""
[D] unknown:0 - appending incidence "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "7AA576A0-56F4-464B-BFC3-16BF0E34EABC" "" : "/remote.php/dav/calendars/poetaster.de/local/7AA576A0-56F4-464B-BFC3-16BF0E34EABC.ics" "\"ca2a33734ebc96b00cc91d99a12bdeb3\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "7AA576A0-56F4-464B-BFC3-16BF0E34EABC"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "7AA576A0-56F4-464B-BFC3-16BF0E34EABC"
[D] unknown:0 - Updating existing event: "7AA576A0-56F4-464B-BFC3-16BF0E34EABC" ""
[D] unknown:0 - appending incidence "7AA576A0-56F4-464B-BFC3-16BF0E34EABC" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "80986276-33A8-4FE2-939B-19CE86625E86" "" : "/remote.php/dav/calendars/poetaster.de/local/80986276-33A8-4FE2-939B-19CE86625E86.ics" "\"8602614e16fe84bc8a1b3519db0ca0dd\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "80986276-33A8-4FE2-939B-19CE86625E86"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "80986276-33A8-4FE2-939B-19CE86625E86"
[D] unknown:0 - Updating existing event: "80986276-33A8-4FE2-939B-19CE86625E86" ""
[D] unknown:0 - appending incidence "80986276-33A8-4FE2-939B-19CE86625E86" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835" "" : "/remote.php/dav/calendars/poetaster.de/local/C4FE7B93-F04E-4E9C-B43F-16B49BCB9835.ics" "\"34a1b1e3b7eec7e5ea7e94ac8e2d3903\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835"
[D] unknown:0 - Updating existing event: "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835" ""
[D] unknown:0 - appending incidence "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "DC73978D-22B1-4440-8132-E95748EEBCAD" "" : "/remote.php/dav/calendars/poetaster.de/local/DC73978D-22B1-4440-8132-E95748EEBCAD.ics" "\"37238803588288b5cf62b401ba626f8b\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "DC73978D-22B1-4440-8132-E95748EEBCAD"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "DC73978D-22B1-4440-8132-E95748EEBCAD"
[D] unknown:0 - Updating existing event: "DC73978D-22B1-4440-8132-E95748EEBCAD" ""
[D] unknown:0 - appending incidence "DC73978D-22B1-4440-8132-E95748EEBCAD" for database update
[D] unknown:0 - Adding URI and ETAG to incidence: "EEB37548-FDC9-443C-B26A-F6455F393D97" "" : "/remote.php/dav/calendars/poetaster.de/local/EEB37548-FDC9-443C-B26A-F6455F393D97.ics" "\"c9b16772eae4d72438dd51ddd40d5184\""
[D] unknown:0 - Saving the added/updated base incidence before saving persistent exceptions: "EEB37548-FDC9-443C-B26A-F6455F393D97"
[D] unknown:0 - setting notebook "20e65251-bc72-4c52-8157-2eebd449ceb9" for "EEB37548-FDC9-443C-B26A-F6455F393D97"
[D] unknown:0 - Updating existing event: "EEB37548-FDC9-443C-B26A-F6455F393D97" ""
[D] unknown:0 - appending incidence "EEB37548-FDC9-443C-B26A-F6455F393D97" for database update
[D] unknown:0 - bool NotebookSyncAgent::deleteIncidences(KCalendarCore::Incidence::List) "5"
[D] unknown:0 - updated timezones in database
[D] unknown:0 - updating incidence "37A7995C-2F3C-4689-A126-660321BA4A84" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "C4FE7B93-F04E-4E9C-B43F-16B49BCB9835" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "80986276-33A8-4FE2-939B-19CE86625E86" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "78EACE5E-53D5-4D1C-961F-1A2CD94FEE5D" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "7AA576A0-56F4-464B-BFC3-16BF0E34EABC" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "0DF57ABE-4450-4996-A80C-4F814505D750" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "EEB37548-FDC9-443C-B26A-F6455F393D97" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "DC73978D-22B1-4440-8132-E95748EEBCAD" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - updating incidence "29C0E646-9DC6-473B-ABB8-031173C0214C" notebook "20e65251-bc72-4c52-8157-2eebd449ceb9"
[D] unknown:0 - No alarms to send
[D] unknown:0 - updating notebook "6c8d32a3-b4b1-4bd4-bbd2-09ef5eb5798f" "local" in database
[D] unknown:0 - void NotebookSyncAgent::finalize() "5"
[D] unknown:0 - bool NotebookSyncAgent::applyRemoteChanges() "5"
[D] unknown:0 - bool NotebookSyncAgent::updateIncidences(const QList<Reader::CalendarResource>&) "5"
[D] unknown:0 - bool NotebookSyncAgent::deleteIncidences(KCalendarCore::Incidence::List) "5"
[D] unknown:0 - updated timezones in database
[D] unknown:0 - updating notebook "9ca0a154-ca61-4b16-9983-421cc9031dc5" "Deck: Personal" in database
[D] unknown:0 - void NotebookSyncAgent::finalize() "5"
[D] unknown:0 - bool NotebookSyncAgent::applyRemoteChanges() "5"
[D] unknown:0 - bool NotebookSyncAgent::updateIncidences(const QList<Reader::CalendarResource>&) "5"
[D] unknown:0 - bool NotebookSyncAgent::deleteIncidences(KCalendarCore::Incidence::List) "5"
[D] unknown:0 - updated timezones in database
[D] unknown:0 - updating notebook "037f898a-5271-4f5a-a7c9-99c001db984d" "Deck: DWD client" in database
[D] unknown:0 - void NotebookSyncAgent::finalize() "5"
[D] unknown:0 - Calendar storage saved successfully after writing notebook changes!
[D] unknown:0 - "void CalDavClient::syncFinished(Buteo::SyncResults::MinorCode, const QString&)" :Entry
[D] unknown:0 - "void CalDavClient::clearAgents()" :Entry
[D] unknown:0 - "void CalDavClient::clearAgents()" :Exit, execution time: 0 ms
[D] unknown:0 - calendarModified called: false
[D] unknown:0 - CalDAV sync succeeded! ""

I don’t see any of those events in the calendar.

Strange, strange, from the log, the 9 events have been added successfully into the DB, calendar “local” uid “6c8d32a3-b4b1-4bd4-bbd2-09ef5eb5798f”.

You can inspect the DB and check that they are there.

If they don’t appear in the UI, it’s a visiblility issue with the notebook. What are the flags for the notebook uid “6c8d32a3-b4b1-4bd4-bbd2-09ef5eb5798f” ?

It looks like everything is there in the Components table.

6c8d32a3-b4b1-4bd4-bbd2-09ef5eb5798f|local||#00aeef|663|1685716720|caldav|5|-1|1685716724||caldav-sync-5|1685710569||

EDIT: There is ONE event from local visible. That one was made on the device.

What is the meaning of the ‘Status’ field in the Components? All of them had 0 except for the one (from remote ‘local’) that had a status of 2.

So, out of frustration, I cleaned out everything but the default calendar by hand (after having turned off the nextcloud account). Made sure all msyncd profiles were gone. Re-installed the calendar app :slight_smile:

Rebooted and activated the nextcloud account. I’ve now got somewhat proper syncing. But only on one calendar. ‘Personal’ where the internal/local is OFF and the remote is on. Other calendars I can’t write from the phone. From a pc, sure.

Only one over the nine… Stranger and stranger.

Status is a standard field in RFC5545, it’s also defined in sailfishos/kf5-calendarcore/upstream/src/incidence.h. 0 value means status inspecified. 2 is for a confirmed invitation.

You’re going faster than I can try to analyse ; -)

Anyway, don’t hesitate to send me sync logs of failing attempts. And if sync is successful but there is something that is not displayed on the phone, that is even more interesting to try to debug, or reproduce from my side.

I’ll try to be more methodical. I’m trying with a clean phone, 4.4.0.72, and a different account but will structure the debugging and store it to files. This has been a bit messy because I was working on trying to get my daily, finally set up with calendar sync.

Thanks for your help!

The tasks calendar can’t be synced because:

Sabre\CalDAV\Exception\InvalidComponentType: iCalendar objects must at least have a component of type VTODO

I’m submitting two pull requests to take care of the Task calendar issue:

1 Like

That will at least keep my already confusing reports from being more confused :slight_smile:

In my second account instance and phone tests, I’ve been able to sync to more than one calendar. I’m going to try to clean slate on the original account (the nextcloud part, I mean). With any luck, the calendar which is not syncing is just an anomaly. Thanks for your efforts!

After removing the failing calendar, named local, I created several new ones and those sync in both directions. I’m not sure if something might have been odd having synced to local with vdirsync. But syncing to a new calendar, ‘Holiday’ from both device and back to nextcloud and vdirsync from the desktop all work without issue.