CalDAV/CardDAV + local storage: avoid empty properties
The main motivation for this change is that a recent Apple Calendar server rejects vCards with empty BDAY property. Another reason is that keeping the data as small as possible is desirable by itself. Sending an empty property serves as a hint for the peer that the property is supported. This is not necessary when storing an item in a backend. Therefore this commit disables empty properties for all backends which do not themselves set the m_backendRule Synthesis info value. The Evolution backend is not affected by this because it has its own backend rule. That will be updated separately.
This commit is contained in:
parent
da26f29e83
commit
c293f51bba
|
@ -541,6 +541,9 @@ void SyncSourceSerialize::getSynthesisInfo(SynthesisInfo &info,
|
|||
{
|
||||
string type = getMimeType();
|
||||
|
||||
// default remote rule (local-storage.xml): suppresses empty properties
|
||||
info.m_backendRule = "LOCALSTORAGE";
|
||||
|
||||
if (type == "text/x-vcard") {
|
||||
info.m_native = "vCard21";
|
||||
info.m_fieldlist = "contacts";
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<remoterule name="LOCALSTORAGE">
|
||||
<deviceid>none - this rule is activated by default via its name in MAKE/PARSETEXTWITHPROFILE() macro calls</deviceid>
|
||||
<!-- storing empty properties only wastes space and causes overhead, suppress them -->
|
||||
<noemptyproperties>yes</noemptyproperties>
|
||||
</remoterule>
|
Loading…
Reference in New Issue