datatypes: fix contact caching
Adding grouping to the contact datatype broke PBAP caching: when sending an empty URL, for example, during the sync, the parsed contact had different field arrays than the locally stored contact, because the latter was saved without the empty URL. This caused the field-based comparison to detect a difference even when the final, reencoded contact wasn't different at all. To solve this, syncing now uses the same "don't send empty properties" configuration as local storages. Testing shows that this resolves the difference for EDS. A more resilient solution would be to add a check based on the encoded data, but that's more costly performance wise.
This commit is contained in:
parent
7d66823e5f
commit
5d3df97cac
|
@ -5,6 +5,10 @@
|
|||
<!-- enable reordering when talking to ourselves, enables asynchronous and batched execution -->
|
||||
<strictexecordering>no</strictexecordering>
|
||||
|
||||
<!-- No need to send empty properties, we don't need them to indicate when
|
||||
something isn't present because we use CtCap for that. -->
|
||||
<noemptyproperties>yes</noemptyproperties>
|
||||
|
||||
<include rule="HAVE-SYNCEVOLUTION-EXDATE-DETACHED"/>
|
||||
<include rule="HAVE-EVOLUTION-UI-SLOT"/>
|
||||
<include rule="HAVE-ABLABEL-PARAMETER"/>
|
||||
|
|
Loading…
Reference in New Issue