What We Fixed
Some synced contacts — especially business contacts with an organization/title
and a phone number too short or unusual to save (vanity numbers, extensions) —
were being re-created as a brand-new contact on every sync run instead of being
recognized as the same contact. Over time this produced many duplicate
contacts for the same person.
The sync record that keeps a contact from being re-created was only written
after some optional enrichment steps (like stamping the organization as a
bio). If any of those steps failed, the sync record never got saved, so the
next run had no way to recognize the contact and created a new one instead.
- The sync record is now written immediately once a contact is matched or
created, before any optional enrichment — so a failure enriching a contact
can no longer cause it to be duplicated on the next run. - Apple (iCloud) contacts whose phone numbers, emails, or addresses use
Apple’s grouped vCard format (common when a contact has a custom label,
like “iPhone” or “Assistant”) are now parsed correctly instead of being
silently dropped. - Sync failures affecting multiple contacts in a single run are now reported
together so they’re easier to notice and investigate. - Deleting a synced contact now keeps it deleted instead of having it
recreated on the next sync run. (A per-configuration option to re-import
deleted contacts instead is planned as a follow-up for teams that want the
old behavior back deliberately.) - Business contacts whose whole name — like a company name — was entered as
a single field (first name only, or last name only) no longer render with
a doubled last name (e.g. “Ballard Designs Designs”).