Importing many events causes sync failure
If another process creates many events on the Android device (such as by importing a large
.icsfile created by exporting a calendar), only a few of them get uploaded to the server. However the ones which aren’t uploaded seem to get their dirty flags cleared so they don’t ever get uploaded unless and until they are modified.
Create a large
.icsfile by exporting or downloading a calendar (mine had about 2700 events). Import it on the Android device using a calendar import app (I used Calendar Import-Export). All the events get imported in to the Android copy of the calendar, but only a few of them get uploaded to the server. Repeatedly syncing
doesn’t upload any more events.
Davx5 version is 2.1ose (257) built 1 Jan 2019.
I downloaded the source code and built a debug version and stepped through the sync logic for a newly created event, but I couldn’t see any path through the code which clears the dirty flag without uploading the event to the server.
I did find some other problems which I’ll report separately.
Do you have an example iCalendar file?
I can’t give you my
calendar.icsfile: it contains lots of personal confidential information, some of it belonging to other people such as event addresses.
If you have a reasonably big calendar (at least several hundred events), try exporting it and importing it into a new calendar synced to a different account. You probably want to test on a different account to the one you normally use anyway. If you don’t have a big calendar yourself, I think that there are some publicly available large
.icsfiles for things like Jewish or Muslim prayer times.
A non-reproducible bug is still a bug.
@rparkins Ok, I will try with my calendar app.