We have moved to a new Sailfish OS Forum. Please start new discussions there.

Revision history [back]

click to hide/show revision 1
initial version

posted 2013-12-29 20:49:31 +0300

[bug] Import vcard with family details fails

A vcard containing a X-CHILDREN field (and probably other Family details) fails. If this vcard is part of a larger import batch, the entire import fails. Worse, this seriously messes up synchronization of contacts using Buteo/SyncML. After sync encountered the troublesome vcard, the rest will fail, causing deletion of those failed contacts on the server by a following sync.

Contents of fail.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
X-CHILDREN:Foba
END:VCARD

Contents of success.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
END:VCARD

Output on Jolla of fail:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./fail.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
[W] enforceDetailConstraints:2068 - "Invalid detail type: Family" 
[W] ContactWriter::save:1937 - "Error creating contact: 3 syncTarget: local" 
[D] main:139 -   Unable to import contact "Foo Bar" error: 3 
Wrote 0 contacts

Success:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./success.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
Wrote 1 contacts

[bug] Import vcard with family details fails

A vcard containing a X-CHILDREN field (and probably other Family details) fails. If this vcard is part of a larger import batch, the entire import fails. Worse, this seriously messes up synchronization of contacts using Buteo/SyncML. After sync encountered the troublesome vcard, the rest will fail, causing deletion of those failed contacts on the server by a following sync.

Contents of fail.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
X-CHILDREN:Foba
END:VCARD

Contents of success.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
END:VCARD

Output on Jolla of fail:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./fail.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
[W] enforceDetailConstraints:2068 - "Invalid detail type: Family" 
[W] ContactWriter::save:1937 - "Error creating contact: 3 syncTarget: local" 
[D] main:139 -   Unable to import contact "Foo Bar" error: 3 
Wrote 0 contacts

Success:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./success.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
Wrote 1 contacts

[Fixed in 1.0.4.20] [bug] Import vcard with family details fails

A vcard containing a X-CHILDREN field (and probably other Family details) fails. If this vcard is part of a larger import batch, the entire import fails. Worse, this seriously messes up synchronization of contacts using Buteo/SyncML. After sync encountered the troublesome vcard, the rest will fail, causing deletion of those failed contacts on the server by a following sync.

Contents of fail.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
X-CHILDREN:Foba
END:VCARD

Contents of success.vcf:

BEGIN:VCARD
VERSION:3.0
REV:20131218T172405Z
N:Bar;Foo;;;
END:VCARD

Output on Jolla of fail:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./fail.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
[W] enforceDetailConstraints:2068 - "Invalid detail type: Family" 
[W] ContactWriter::save:1937 - "Error creating contact: 3 syncTarget: local" 
[D] main:139 -   Unable to import contact "Foo Bar" error: 3 
Wrote 0 contacts

Success:

[nemo@localhost ~]$ invoker --type=generic vcardconverter ./success.vcf 
invoker: Invoking execution: '/usr/bin/vcardconverter'
The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Importing 1 new contacts
Wrote 1 contacts