Opened 14 months ago
Closed 13 months ago
#1488432 closed Bugs (fixed)
contact photo stored incorrectly in vcard
| Reported by: | ralph | Owned by: | |
|---|---|---|---|
| Priority: | 5 | Milestone: | 0.8-rc |
| Component: | Addressbook | Version: | git-master |
| Severity: | major | Keywords: | |
| Cc: |
Description
I am using roundcube-carddav to use my address book stored in a davical server. This works great. Only there is a problem with the photo stored by roundcube in the vcard. The photo is stored in such a way other clients (tested with evolution and android) can not display the photo anymore.
Steps to reproduce:
- create a contact with photo in evolution in an addressbook stored in a davical server
- using roudcube with the roundcube-carddav plugin installed, open the contact in the carddav addressbook and press save (without editing anything)
- open the same contact in evolution (after resyncing) and the photo is missing
I used cadaver to find out what was stored in the davical server and it seems the photo field of the vcard created by roundcube is incorrect :
Roundcube stores the photo as:
PHOTO;type=X-EVOLUTION-UNKNOWN:iVBORw0KGgoAAAA....
while it should be stored as:
PHOTO;ENCODING=b;TYPE=X-EVOLUTION-UNKNOWN:iVBORw0KGgoAAAA....
When adding a hack to the roundcube-carddav plugin to replace type=X with ENCODING=b;TYPE=X the photos will work as expected.
I initially filed this bug with roundcube-carddav ( https://github.com/graviox/Roundcube-CardDAV/issues/13 ) but since the plugin uses the internal roundcube address book classes, it should be fixed inside roundcube and not the plugin. Please see the linked issue for more information.
Change History (5)
comment:1 Changed 14 months ago by alec
- Milestone set to 0.8-rc
comment:2 Changed 13 months ago by ralph
I did some testing with importing evolution contacts using .vcf files and exporting them again in a normal (non carddav) roundcube addressbook and then it works fine. So yes, perhaps it depend on how the classes are used by the plugin. I'll check.
comment:3 Changed 13 months ago by alec
- Resolution set to invalid
- Status changed from new to closed
Provide the content of 1st argument of rcube_vcard class constructor. So, we could try to find if the problem is on our side or not.
comment:4 Changed 13 months ago by alec
- Resolution invalid deleted
- Status changed from closed to reopened
It looks that it's indeed rcube_vcard issue. Working on a fix.
comment:5 Changed 13 months ago by alec
- Resolution set to fixed
- Status changed from reopened to closed
Fixed in [db70b3fc].

When I export a contact with photo. I get
So, I suppose it depends on Roundcube classes usage. Need more info.