-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
contact photo not synced due to changed PHOTO value #1312
Comments
Interesting. :) |
Are we talking about vCard 3 or vCard 4? They have different
I would need more information, including logs, but the problem seems to come from wrongly mixed vCard 3 and 4 syntax. |
This is most likely the issue (this is added by our library automatically) contacts/src/components/ContactDetails/ContactDetailsAvatar.vue Lines 174 to 191 in 35dcef8
|
Thank you @rfc2822 this seems indeed the case. For me it looks like the Contacts app uses the vCard 4-syntax for the photo value although the general record is a vCard 3 one by default:
|
This is a VERY annoying bug. It leads to data corruption with contacts, a kind of precious data piece in my personal cloud :-( . I wondered why my setup with DAVx5, Evolution and Nextcloud in many cases no longer really syncs the contacts between the devices. Contact pictures are showing up very unreliable (e.g. suddenly reappearing when switching to Nextcloud's contact detail view etc.) Adress information is entered on one device and does not propagate to other devices (failing often silently). As there is no user-visible information when (and which) contact failed to sync, the data on the different devices begins to diverge and address information got lost. As a first fix I exported all contacts from Nextcloud, deleted them in Nextcloud, and wanted to reimport them. This fails for lots of contacts (probably those with the wrong PHOTO field, but I don't know, as the importer does not tell the users which contact failed to get imported, in itself a very unsatisfying behaviour). Right now I manually edited the exported contacts file and search/replaced the wrong photo lines. This imports flawlessly, I just fear that the next changes in one of the devices (Android, Linux, Nextcloud web) again messes ups the contacts. |
Thanks for opening this issue. I used a QR reader (e.g. BinaryEye) to view the generated QR-code for a contact whose picture refused to sync to DavX5/Android, and noted that it said version 3, whereas most other contacts in my list appear to be on version 4. This is on Nextcloud 19.x, and the contacts on this server have been around since at least v12 or so. |
@solarchemist This issue has already been closed beginning of last year, which means it was fixed already. If you want to report a new issue, please open a new ticket, if you're seeking for help, please post your question on the Nextcloud help forum. |
@j-ed As far as I know, this isn't quite fixed. I get a different result, but it still results in my contacts in Android not showing any picture. I'm running Nextcloud 20.0.7 and just uploaded a picture. Part of the exported vcf:
|
Expected behavior
An uploaded contact photo should be stored so that it can correctly been synced e.g. with DAVx5.
Current behavior
Newly uploaded contact photos are not synced anymore, due to a different syntax used for the PHOTO value. Unfortunately I don't know if DAVx5 is lacking support of this syntax or if it is a problem within Nextcloud.
(1) - Working syntax:
PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgA ...
(2) - Failing syntax:
PHOTO;ENCODING=b;TYPE=jpeg;VALUE=URI:/9j/4AAQSkZJRgAB ...
Steps to reproduce
-> the photo is not synced (2)
Cross-check
-> the photo is synced (1)
Environment
Server Configuration
OS: Linux 3.16.74
Web server: Apache2 2.4.41
Database: MariaDB 10.2.24
PHP version: 7.3.10
Nextcloud version: 17.0.0
Contacts app version: 3.1.6
Client Configuration
Browser: Mozilla Firefox 70.0
Operating system: Windows 10
The text was updated successfully, but these errors were encountered: