Closed tx3eh8IUD1 closed 4 years ago
I replicated the 'broken' contacts into outlook (via server -> outlook (replicate).
Outlook also cannot handle the names: It pastes both the first name and the last name into the lastname field, separated by a comma.
Edited to add:
When I set my Carddav plugin to "sync two ways", Etesync on iOS fails with this error message:
Bad HMAC. 68ef3f9ac56ebda85429c8af4618a25f4b1921b476513524c2882bb7bdaa372a != 853aab0e84292cde22fe11e09a338160dbb753578a7d1a91fee13acf220edcff n@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1028:1349 n@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1028:1766 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1028:2803 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1028:5725 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1028:5432 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1188:1004 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1119:34585 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1188:920 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1119:29492 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1119:25799 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1188:598 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1189:351 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1189:351 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:1162:3790 p@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:115:423 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:115:1740 p@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:115:423 n@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:115:898 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:115:1047 f@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:42:155 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:42:882 y@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:117:661 C@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:117:1025 callImmediates@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:117:3100 callImmediates@[native code] value@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:28:3247 https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:28:1283 value@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:28:2939 value@https://expo.etesync.com/release/3/bundles/ios-b4a63ee86da13962bc96eef06ead2643.js:28:1253 value@[native code] value@[native code]
one way synching (into outlook from iPhone) works, but it with the above described bug (name fields are messed up). Two way synching on Android never seems to be an issue, but again, the name fields are screwed for all contacts coming from iOS. Forcing contacts via one-way synch from outlook into etesync and then onto the iphone works without any issues (also works for android).
edit: spelling
CardDAV plugin where (the one you sync two ways)?
This error is not good! Does the web client work for you? Try from "private mode" in the browser. Bad HMAC. 68ef3f9ac56ebda85429c8af4618a25f4b1921b476513524c2882bb7bdaa372a != 853aab0e84292cde22fe11e09a338160dbb753578a7d1a91fee13acf220edcff
As for the issue at hand: could you open the web or Android client and attach here the vcard of the example broken user? Where was that user created? Also, you say it used to work and now it stopped, does it shows as recently changed in the change history?
I run a CardDAV plugin in Outlook on Windows. I run Etesync apps on iOS and Android.
The web client does work for me, and shows most names correctly. The names affected (deleted first names on android, funny concatenated names in lastname field in Outlook) are not affected on web client.
The issue also works the other way around: Here is a copy of the test VCARD I created in Outlook - it's looks also funny (last name first? All other contacts are FIRST MIDDLE LAST)
BEGIN:VCARD VERSION:3.0 UID:2cbf7642-1087-4413-a220-34f107c530e5 CLASS:PUBLIC EMAIL;TYPE=INTERNET,HOME:test@test.com FN:Last\, First Middle N:Last;First;Middle;Dr.;Testkontaktsuffix NOTE:Test REV:2020-02-12T22:10:11Z TEL;TYPE=CELL,PREF:4 TEL;TYPE=HOME:2 TEL;TYPE=WORK:1 TEL;TYPE=FAX,WORK:3 END:VCARD
From webclient:
In Android it shows correctly:
Also shows correctly in iphone:
Here is the VCARD of a contact whose first name is missing on Android:
BEGIN:VCARD PRODID;VALUE=TEXT:-//iCal.js EteSync iOS VERSION:4.0 UID:8F43BC5B-A047-4FA8-A7BA-10F6751DBF73 REV;VALUE=DATE-TIME:20200212T132431 FN:First Last N:Last,First,,, TEL;TYPE=home:+123456 TEL;TYPE=home:123456 TEL;TYPE=mobile:+123456 EMAIL:First_Last@XXX.com TITLE:Worker Bee NOTE:Office:\n+123456\nMobile:\n+123456\nVoIP:\n123456 END:VCARD
I am curious about two things: The difference in using , vs ; and that Etesync seems to use FN instead of the N field to show names
Here is a copy of the test VCARD I created in Outlook - it's looks also funny (last name first? All other contacts are FIRST MIDDLE LAST)
FN is generated by whichever software that created it, in this case Outlook. So I guess that's just the default there.
Here is the VCARD of a contact whose first name is missing on Android:
BEGIN:VCARD PRODID;VALUE=TEXT:-//iCal.js EteSync iOS VERSION:4.0 UID:8F43BC5B-A047-4FA8-A7BA-10F6751DBF73 REV;VALUE=DATE-TIME:20200212T132431 FN:First Last N:Last,First,,, TEL;TYPE=home:+123456 TEL;TYPE=home:123456 TEL;TYPE=mobile:+123456 EMAIL:First_Last@XXX.com TITLE:Worker Bee NOTE:Office:\n+123456\nMobile:\n+123456\nVoIP:\n123456 END:VCARD
So this one was created on iOS, and after syncing to Android it doesn't show a first name? It looks good to me. Could you show the screenshot from Android?
I am curious about two things: The difference in using , vs ; and that Etesync seems to use FN instead of the N field to show names
I wish I could explain it in simple terms, but I can't unfortunately. It's just straight-out wackiness. :) Here's the standard: https://tools.ietf.org/html/rfc6350
EteSync's preview uses the FN, but the sync to Android itself uses the N and ignores the FN for all I remember. Same with the sync on other platforms.
Here is a copy of the test VCARD I created in Outlook - it's looks also funny (last name first? All other contacts are FIRST MIDDLE LAST)
FN is generated by whichever software that created it, in this case Outlook. So I guess that's just the default there.
Here is the VCARD of a contact whose first name is missing on Android: BEGIN:VCARD PRODID;VALUE=TEXT:-//iCal.js EteSync iOS VERSION:4.0 UID:8F43BC5B-A047-4FA8-A7BA-10F6751DBF73 REV;VALUE=DATE-TIME:20200212T132431 FN:First Last N:Last,First,,, TEL;TYPE=home:+123456 TEL;TYPE=home:123456 TEL;TYPE=mobile:+123456 EMAIL:First_Last@XXX.com TITLE:Worker Bee NOTE:Office:\n+123456\nMobile:\n+123456\nVoIP:\n123456 END:VCARD
So this one was created on iOS, and after syncing to Android it doesn't show a first name? It looks good to me. Could you show the screenshot from Android?
Yes. Created on iOS. Exactly - after synching via Etesync to Android, Android does not show the first name. The contact is A-OK on the Etesync webclient or iOS, however.
Here is a screenshot from the editing view in Android, the first field view is simply empty:
Edited to add: The VCARD really seems to be intact. When I use "share contact" on Android, the first name is actually contained in the shared contact!
What is this contact app? Maybe it's buggy? Could you try another contacts app, potentially the default on your device?
As I said, the vcard looks good! Don't worry, we'll figure it out, I'm just surprised things don't work in this case given than the Android client has been around for such a long time and has been tested by so many users.
@tasn ,
maybe we were not clear enough about where to get the VCARD from? The vcards above were pasted from the journal of the Etesync app.
If I check my contacts apps (multiple!), then the first name is always missing: BEGIN:VCARD VERSION:2.1 N:Last;;;; FN:First Last TEL;WORK:+123456 TEL;:+123456 EMAIL:First.Last@email.com ADR;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE: ORG:Orga URL:http://www.google.com NOTE:notes END:VCARD
I I read the standard that you sent me. To me, it looks as if the delimiter in the N: field should be ";" and not ",". As I wrote earlier, the mix in the VCARDs of using "," and ";" to deliminate first name and last name looks funny, especially when using ";" for all other purposes of delimiting text blocks within the same field.
It seems to me that iOS or the etesync iOS->etesync bridge uses "," when they should be using a ";" instead. iOS exports contacts all right using a ";", but the etesync app picks them up as "," instead.
broken contact = a contact that shows OK on iPhone, but not OK on android
VCARD from Etesync on android (broken contact): N:Last,First,,,
VCARD from Android Contacts apps (broken contact): N:Last;;;; Note the missing first name, but use of ";"
VCARD from Etesync on iPhone (broken contact on Android, but it shows all right on Iphone!): N:Last,First,,,
VCARD export from iPhone Contacts apps (broken contact): N:Last;First;;;
I just created another test contact on iPhone. When I sync: iPhone -> Etesync -> Android, the first name gets dropped and the vcard on etesync in android will show separating the first and last name with a comma
VCARD standard: N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.
Note that the ";" are between first and last name, and that "," separate multiple degrees in the same text part (degrees)
OK contact as comparison VCARD from Etesync on iPhone (OK contact): N:Last;First;;;
VCARD from Android Contacts apps (OK contact): N:Last;First;;;
VCARD export from iPhone Contacts apps (OK contact): N:Last;First;;;
Long story short: how come the broken Etesync contacts have "," instead of ";" in the N: field to split first and last name?
Nice catch! You are correct, that's probably the issue! I'm taking a look into fixing it now.
Could you please try the newest version of the iOS app? All you need to do is close it from the app switcher and open it again and it will get the fix.
Could you please try the newest version of the iOS app? All you need to do is close it from the app switcher and open it again and it will get the fix.
It works now with new contacts. Let's close this issue?
Thanks!!!
It was already closed automatically by Github the moment I committed it.
Great! Nice catch, and thanks again for reporting.
On my Samsung Galaxy S8 (running One UI 1.0; Android 9) the first names of all contacts have disappeared.
On my iPhone the first names still show. The etesync app (iOS, Android, Web) also still show the first names.
Any idea what could have happened? I tried two contacts apps, but the first name field is empty.
The first names show OK when synching from Outlook via CardDAV to Android. First names disappear (on Android only) when synching from iCloud to iPhone to Etesync to Android.
Edit for clarity