Summary
Under certain conditions, eM Client creates a new contact instead of updating an existing iCloud contact after that contact is modified on iCloud.com.
The behavior appears to occur during CardDAV synchronization and results in duplicate contacts representing the same person. The original contact remains unchanged while a second contact containing the updated information is created.
Because this affects the integrity of the contact database, it has a significant impact on the usability of eM Client as a reliable contact manager.
Environment
Application: eM Client (current production release)
Contact Provider: Apple iCloud Contacts (CardDAV)
Primary Editing Interface: iCloud.com
Synchronization Client: eM Client
Reproducible Test
Initial State
- Existing iCloud contact successfully synchronized into eM Client.
- Only one copy of the contact exists.
- Synchronization completes normally.
Test Procedure
- Log into iCloud.com.
- Open the existing contact.
- Add a Fax number (no other changes).
- Save the contact.
- Verify the Fax number is correctly stored in iCloud.com.
- Force synchronization in eM Client.
Expected Result
The existing contact in eM Client should be updated to include the Fax number.
Exactly one contact should exist after synchronization.
Actual Result
eM Client creates a second contact containing the updated information.
The original contact remains unchanged.
The result is two contacts representing the same individual.
Additional Observation
Creating a brand-new contact containing a Fax number synchronizes correctly.
The problem appears to occur when modifying an existing contact rather than creating one.
This suggests the issue may be related to update processing rather than contact creation.
Why This Appears Significant
The behavior suggests that eM Client may not always associate an updated CardDAV object with its existing local counterpart.
Instead of recognizing the modified contact as an update, the synchronization process appears to treat it as a newly discovered contact.
Whether the underlying cause involves CardDAV UID handling, ETag processing, REV timestamps, vCard parsing, or another synchronization mechanism is unknown, but the observable behavior is consistent with an identity-matching failure.
Requested Investigation
If possible, please review:
- CardDAV UID handling
- ETag comparison logic
- REV field handling
- vCard import/update logic
- Contact identity matching during synchronization
- Handling of contacts modified through iCloud.com
User Impact
The issue is more than cosmetic.
Duplicate contacts reduce confidence in the integrity of the address book and require users to continually inspect and merge contacts manually.
For users who rely on synchronized contacts across multiple Apple devices and desktop systems, this significantly affects the reliability of eM Client as a production contact-management solution.
Previous Reports
I located historical reports in the eM Client forum describing similar behavior dating back to approximately 2012, with additional reports in later years, including recent versions of the software. While the exact circumstances may differ, the recurring symptom is that updates to iCloud/CardDAV contacts can result in duplicate contacts rather than modifications to the existing contact.