We have about 4500 entries in one addressbook. When trying to synchronize this to e.g. Thunderbird, Thunderbird make a multiget request with all entries. The respone coming back from EGroupware is this:
and that’s it. No entries are being returned. Shorter addressbooks, like the user accounts, do work correctly.
Egroupware is a docker isntallation with version 23.1.20230620
Maybe there is some size or response time limit that kills the response generation. There are no errors in the logs, only a message from nginx, that the client request is buffered on disk, because of its size.
Does anyone have an idea how to debug or fix this?
The new TB addressbook is good news, in terms of CardDAV addressbooks no longer require an extra plugin
Unfortunate they picked the most dump approach to implement that for big addressbooks:
they could have done a single PROPFIND request with calendar-data like it was done in the old days, and we would stream the megabytes of data in one request
type could also - like before - do a PROPFIND request to get all URIs and then request them in chunks with a multiget-REPORT, like most clients do, which do not require any advanced CalDAV/CardDAV
but they do a PROFPIND and then request all of them in a single multiget-REPORT, for which it seems we only enable streaming, when the logging is enabled
they could also use a more advanced sync-collection REPORT request with sync-tokens and limiting results to chunks of N contacts
I’ll need to either always enable streaming for multiget-REPORTS independent if logging is enabled or not, or enable it for a huge number of entries requested.