Could it be that some upgrade or reinstallation of DAVdroid reset that empty string to “0” ?
Maybe. It should not be the case, but I’d have to investigate before and I don’t think that’s worth it.
On related note, should “0” even be allowed as value, as in best case it will only make a sync a very little faster than “1”, but could have potentially disastrous results when changing timezones (manually, or automatically, or different TZ settings in server/client side [for example when country changes its timezone defs]) etc?
The worst thing that can happen is that some events of today are not shown on the Android device. Since the fix I have linked in my previous post, “0” actually means “now” and not “the current hour/minute, but in UTC” like before. So “0” should now (= in future DAVdroid versions) work as expected (= all events since the exact time of synchronization), but personally I’d never use 0. Syncing a few days, weeks, even months into the past doesn’t have an impact on the performance and allows you to look up recent events in the calendar.
I’ve now set it to “90” as you recommend, but if it is safe I would like to make it empty string again. I’ve never had problems back in the days when it always synced all events, and I’d like for it to keep working the way I’m used to.
The problem is that the empty value doesn’t scale at the moment, because it does a simple PROPFIND for all events. So if you have 100.000 events over 10 years, every sync lists 100.000 events. However, WebDAV collection sync (RFC 6578) is planned for DAVdroid 1.12. We will soon release DAVdroid 1.11 which contains preparations for this feature. With WebDAV collection sync, you can use the empty value without performance impact.