Broken and fixed up contacts on Nextcloud
summary
When adding or changing a contact and uploading it to Nextcloud I am seeing this error on Nextcloud a lot:
This contact was broken and received a fix. Please review the content and click here to save it.
Sometimes content of the contact is not there anymore, like the contact photo or a bit more uncommon fields.
As I want to add all my Google Contacts by copy-paste from Google into Nextcloud using CardBook as the interface this error message is annoying. But more important is that data might be missing. Doublechecking hundrets of contacts takes a lot of time though.
I'm using vCard 4.0 format in CardBook to connect to Nextcloud. And I am also having these kinds of issues when adding or changing a contact on my Android phone using the DAVx⁵ app. So I am wondering where the problem is. It looks like everybody is interpreting the vCard standard different and this bug report is a first approach for me to sort things out a bit.
Here's two examples:
- Contact created with CardBook:
BEGIN:VCARD
VERSION:4.0
PRODID:-//Thunderbird.net/NONSGML Thunderbird CardBook V44.9//EN-US
UID:d33749ec-0bb4-403d-b08a-ac489454502c
FN:Max Mustermann
N:Mustermann;Max;;;
EMAIL;TYPE=HOME:test@test.de
REV:20200731T163525Z
END:VCARD
- After contact was "corrected" by Nextcloud:
BEGIN:VCARD
VERSION:4.0
PRODID:-//Thunderbird.net/NONSGML Thunderbird CardBook V44.9//EN-US
UID:d33749ec-0bb4-403d-b08a-ac489454502c
FN:Max Mustermann
N:Mustermann;Max;;;
EMAIL;TYPE=HOME:test@test.de
REV;VALUE=DATE-AND-OR-TIME:20200731T143650Z
END:VCARD
- Contact created with DAVx⁵:
BEGIN:VCARD
VERSION:4.0
PRODID:+//IDN bitfire.at//DAVx5/3.2.1.3-gplay ez-vcard/0.11.0
UID:ac17ffbf-ecd0-48c4-9301-fe284a088d2a
FN:Maria Musterfrau
N:Musterfrau;Maria;;;
EMAIL;TYPE=home:test2@test.de
REV:20200731T144629Z
END:VCARD
- After contact was "corrected" by Nextcloud:
BEGIN:VCARD
VERSION:4.0
PRODID:+//IDN bitfire.at//DAVx5/3.2.1.3-gplay ez-vcard/0.11.0
UID:ac17ffbf-ecd0-48c4-9301-fe284a088d2a
FN:Maria Musterfrau
N:Musterfrau;Maria;;;
EMAIL;TYPE=home:test2@test.de
REV;VALUE=DATE-AND-OR-TIME:20200731T145228Z
END:VCARD
As you can see for these two examples the second last line is the difference. But there are a lot of different cases where this and that is modified or now.
steps to reproduce the bug
- create new contact on CardBook
- sync with Nextcloud
- lookup contact in database and get "carddata" field
- open/view contact in Nextcloud web interface
- notice error message
- lookup contact again in database and get "carddata" field again
- compare "carddata" fields
my version numbers
- CardBook: 44.9
- Thunderbird: 68.11.0
- OS: Windows 10