I’m running into the same issue with contacts. In my case, it is my own davical server; in manual tests (with telnet) replaying the same request that davical timeouts on, the contacts PROPFIND with Depth 1 takes about 90 seconds of returning no data, and then suddenly the whole data is sent in less than one second.
I changed the timeout in the source and rebuilt, now it seems to work. However, because “signed by other key”, I cannot go back to the F-Droid build without destroying the data and running into the same “initial sync timeout” problem again… Making the timeout configurable, or very big, seems adequate to me as a solution.
Here’s the request that takes 90s to return data:
PROPFIND /caldav.php/user/addressbook/ HTTP/1.1
Content-Type: text/xml; charset=UTF-8
Authorization: Basic XXXXXXXXXXXXXXXXXXx