Bug 122 - Cannot sync contacts with Android when birthday is defined
Summary: Cannot sync contacts with Android when birthday is defined
Status: RESOLVED FIXED
Alias: None
Product: ZeXtras
Classification: Unclassified
Component: ZxMobile (show other bugs)
Version: 1.8.15
Hardware: -- Linux
: Normal critical
Assignee: ZeXtras Bugzilla Admin
QA Contact:
URL:
Depends on:
Blocks:
 
Reported: 2014-04-25 07:40 CEST by NiKo
Modified: 2014-06-18 07:33 CEST (History)
3 users (show)

See Also:
Browser: ---
Zimlet Chat version: ---
Zimbra Version: 8.0.6


Attachments
Log for contact sync issue (24.51 KB, text/plain)
2014-04-25 17:16 CEST, NiKo
Details
Log for mail issue (8.19 KB, text/plain)
2014-04-25 17:17 CEST, NiKo
Details
Log after switching to EAS14 (81.50 KB, text/plain)
2014-04-30 06:54 CEST, NiKo
Details
Test Sync without birthday (20.72 KB, text/plain)
2014-06-18 07:32 CEST, NiKo
Details
Test Sync with birthday (23.97 KB, text/plain)
2014-06-18 07:32 CEST, NiKo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description NiKo 2014-04-25 07:40:54 CEST
Hello,

Zimbra : Release 8.0.6.GA.5922.UBUNTU12.64 UBUNTU12_64 FOSS edition.
Kernel : 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Mobile terminal : Wiko Cink Five Version 8 (Android 4.1.2 / Kernel 3.4.5)

When syncing a zimbra account with this android 4.1.2, if at least 1 contact has a birthday defined, the sync will fail for all contacts (without error message).

As soon as I remove all birthday in every contacts, sync works well.

I use the default mail, calendar & address book applications.

The bug occurs with both 1.8.13 and 1.8.15 releases of ZeXtras.
I can't upgrade to kitkat as Wiko doesn't provide this version for their phones.

I don't know what kind of traces, logs, screenshots you need for investigating, please ask, I'll do !

Thanks
Regards
Comment 1 D0s0n 2014-04-25 09:02:29 CEST
Hi NiKo,

  your issue seems similar to that reported here:

http://forums.zextras.com/zxmobile/501-contacts-not-syncing-android-4-2-a.html

Please take a look at informations requested on that similar case for more investigations.

D0s0n
Comment 2 NiKo 2014-04-25 17:16:27 CEST
Created attachment 25 [details]
Log for contact sync issue
Comment 3 NiKo 2014-04-25 17:17:32 CEST
Created attachment 26 [details]
Log for mail issue
Comment 4 NiKo 2014-04-25 17:19:03 CEST
Hello,

Well, it's getting worse, I also notice it's impossible to download attachements in mails...

** bugAndroidMail.log shows the problem with the attachements :

info GetAttachment[10079]: Attachment reqested: 2
warn GetAttachment[10079]: Requested attachment id 2 is not valid.

=> Same mailbox works perfectly on an iPhone


** bugAndroidContact.log shows the problem with the contacts. About this point, I checked what we were using before switching to ZeXtras : Z-Push+Zimbra backend. In the code, I can find this comment :

"Limiting Birthday to Nokia/Apple as Android constantly tries to resync the contact if it sees a birthday field"

Searching on Internet shows android seems to have an issue with birthday field. I'd be happy if you could find a workaround, but if not, better to disable this field when syncing with android...

Thanks
Regards
Comment 5 NiKo 2014-04-25 17:34:47 CEST
Additionnally, I have to say if I configure the android device to use the old ZPush inplace of ZeXtras, I can display attachement correctly.

Thanks
Regards
Comment 6 NiKo 2014-04-26 21:57:04 CEST
Regarding the attachement issue, I found something in the URLs. I tried with 2 different devices. Both are Android 4.1.2.

On the Samsung device, the URL is :

/Microsoft-Server-ActiveSync?Cmd=GetAttachment&AttachmentName=5330b44f%2D9ede%2D4f32%2Dbc38%2Dad56e0a1fbee/177975/2&User=account%40domain.tld&DeviceId=andro           id1356994803675&DeviceType=Android

On the Wiko device, the URL is :

/Microsoft-Server-ActiveSync?Cmd=GetAttachment&AttachmentName=2:177971:2&User=account%40domain.tld&DeviceId=android1356994803675&DeviceType=Android


We can notice the AttachmentName= parameter is different.

What I can guess from that is, despite the OS seems to be the same version, it seems there are different implementations.

Z-Push seems to be able to handle both, tt would be nice if ZeXtras could do the same.

Thanks
Comment 7 Cine 2014-04-29 07:51:40 CEST
The issue is currently being analyzed, will report back ASAP
Comment 8 NiKo 2014-04-30 06:54:44 CEST
Created attachment 27 [details]
Log after switching to EAS14
Comment 9 NiKo 2014-04-30 06:56:24 CEST
Hello,

After switcing the account to EAS14 as suggested by Cine, no more issue with attachements. Thanks a lot !

I've attached the log of this successful sync as requested.

The only issue remaining is the sync of contacts having a birthday : If at least a contact has a birthday, sync fails for all contacts.

Thanks
Regards
Comment 10 Cine 2014-05-23 10:22:36 CEST
Issue resolved (added a server-side workaround to an Android out-of-spec behaviour). 

Fix pushed to the production branch, it will be included in ZeXtras Suite 1.8.16.
Comment 11 NiKo 2014-06-18 07:32:32 CEST
Created attachment 29 [details]
Test Sync without birthday
Comment 12 NiKo 2014-06-18 07:32:55 CEST
Created attachment 30 [details]
Test Sync with birthday
Comment 13 NiKo 2014-06-18 07:33:05 CEST
Hello,

For me, the issue is not solved, or something specific must be configured but I don't know what.

Version installed :

zextras_version     1.8.16
zextras_target      8.0.6
zextras_commit      220a21b3d79858608ac2cb7b6f35a86de3baedc6
zextras_lib_version 1.0.0
zextras_lib_commit  d7effdfafe69e89b367f6c199dbbeb009f7f88c7

Attached, 2 logs. One (test_no_birthday_anon.log) of a sync with no birthday in contacts, the other (test_birthday_anon.log) with a birthday. The result shows, in the second log, the birthday is still sent to the android device, resulting in a failure of address book sync on device :

Line 330: <n3:Birthday xmlns:n3="Contacts">1981-03-19</n3:Birthday>

Thanks,
Regards