8 days ago · Tech · 0 comments

After the acceptance of my grant request to work further on pimsync, I’ve been focusing on it greatly this past month. When pimsync downloads a WebCal calendar, it needs to split all the events into individual files before they can be written to a CalDAV or filesystem (vdir) storage. Each separate file needs to have the timezone metadata for the event it contains. My initial implementation was a naive one: copy all the timezones into all the files. This works, but makes files much bigger than they need to be. If a WebCal calendar has a hundred entries with a dozen different timezones, each of the hundred resulting files ends up having those dozens of timezones repeated. Every tool which later interacts with them needs to pointlessly parse lots of unused data. This is no longer the case, and pimsync now only copies over relevant timezones. Along with this change, I’ve done several other performance improvements to the whole WebCal splitting logic as well as the underlying vparser…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.