Skip to content
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

CardBook (and other clients) are only able to choose vCard 3.0 not 4.0 (which is the correct one) #66

Open
tasn opened this issue Apr 29, 2019 · 8 comments

Comments

@tasn
Copy link
Member

tasn commented Apr 29, 2019

As mentioned in #41

I used to be able to choose 4.0, so I'm not sure what happened. Though it's probably something we (or radicale) are doing wrong. Needs further investigation.

@paapereira
Copy link

@tasn I'm also having the same issue, and having troubles syncing between Thunderbird Cardbook addon on Arch Linux and Etesync Android client.
If I can help debugging, testing.. let me know.

@tasn
Copy link
Member Author

tasn commented May 1, 2019

Apparently the reason why I used to be able to choose 4.0 was a bug in CardBook that has since been fixed. It looks like Radicale doesn't correctly advertise vCard 4.0 support (Kozea/Radicale#832) although for all I know, it should support it just fine.

There's some information and more links in the radicale issue I linked to above (Kozea/Radicale#832). Just posting it here for reference.

This also seems relevant for #65

@paapereira
Copy link

Don't know if it helps but I noted the following:

  • Adding etesync account in Cardbook only has version 3.0 available
  • If I add a new contact and sync it to Android I can see in the journal, in the RAW view, that the VCARD version is 3.0
  • If I add an email address (for example) in Android in that contact (via Google Contacts) and sync it I can see in the journal that the version is now 4.0
  • Syncing again in Thunderbird and the contact has different fields (example the Gender filed is now a dropdown)

The problems start when I add a picture in Thunderbird and then change something in Android. The birthday format is also giving me problems.

Bottom line, assuming Cardbook as support for 4.0 (never had these issues connecting to GMail contacts) then we need to make the 4.0 option available in Cardbook when adding the etesync account.

Bought my yearly subscription last Tuesday :P

@tasn
Copy link
Member Author

tasn commented May 3, 2019

The problem/reason for this back and forth from v3 and v4 is that the EteSync Android app is forcing the usage of v4, no matter what, and CardBook is forcing v3. They are mostly compatible (and the Android app supports both anyway) so both are able to read and write eachother's but then write in their own preferred format.

One fix that I'd really rather not do is change the Android (and web) app to use v3. What I'd much rather prefer though to add v4 support to Radicale.

@tasn
Copy link
Member Author

tasn commented May 3, 2019

I've done a bit more research and changing Android to v3 is unfortunately not an option. As I remembered, we also use the KIND:group vCard v4 feature which means groups are saved in separate vCards rather than as labels/orgs, so changing to v3 is not a simple flick of a setting. Only way forward then is to implement it in Radicale.

@tasn
Copy link
Member Author

tasn commented Jul 12, 2019

Just a random thought: maybe we don't need to actually implement v4 support in the underlying library (vobject), but rather just patch Radicale to fake report v4 support. Radicale only lightly uses vobject and where it does (uid) v3 and v4 are compatible. Just a thought worth exploring.

@stevesbrain
Copy link
Contributor

In this issue there is an XPI that uses v4; but etesync-dav still doesn't include the images so limited contacts are able to be synced with Cardbook from there.

@tasn
Copy link
Member Author

tasn commented Jul 16, 2019

I replied in #65. It's definitely an issue with EteSync-dav (radicale).

tasn added a commit that referenced this issue Aug 27, 2019
This is a workaround for both #70 and #66. Essentially the problem is
that both Radicale and macOS only support vcard 3.0 and EteSync uses
version 4.0 internally.
Luckily, version 3.0 and 4.0 are quite similar, so we can hackily
transform from 4.0 to 3.0 when serving contacts so they at least show
and work on macOS.

We can in the future actually implement correct transformations, though
at least for now, this works and solves the issues people were facing on
Macs.
tasn added a commit that referenced this issue Nov 26, 2019
This is most likely good enough for syncing photos.
It's quite the hack, but until we have a sane way of doing the conversion this
will have to do.

This further improves #66
Xiretza pushed a commit to Xiretza/etesync-dav that referenced this issue Aug 9, 2022
We weren't setting a default sync interval which meant that in some
cases it was just syncing every 10 seconds.

This fix also fixes etesync#66.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants