Improvements to Undo handling

Versions 1.1.2 of Contact Clearout and Contact Duplicates are out today.

Biggest improvements are around undoing deletions.

Due to the limitations of the Address Book API, a recreated contact or a group will always appear on the default account. This can be any account (iCloud or Google for example, it is set in the preferences of Contact.app), But there can only be one nominated account.

For groups this means an undo doesn’t make sense. The recreated group would probable be on a different account and would have no members – they would still be in the original account.  This Is useless, so undo of group deletion has been removed.

Contacts will restore, but they are recreated on the default account – which might not be the one they were on before. A warning has been added to explain this.

Another problem is that only Contacts.app can create linked contacts, so a restored linked contact will be recreated as the separate original contacts.  Worse than that, they all reappear on the same default account, so there will be multiple versions of the contact, all on the same account.  There is no way round this using the Address Book API. (We will be looking into going to the separate accounts directly.) For now a message has been added explaining what is happening.

In other areas, an extra rule has been added to the phone number format check and the address format now displays description not the country code and, some legacy code that might have been causing a lock up, has been removed.