Simple-Contacts
Simple-Contacts copied to clipboard
[FR] Merge duplicates.
As much of a chaotic person as I am, it just happened that I have way more contact enteries than different phone numbers.
Mostly because I either copied the whole base back and forth between SIM and Phone storage, or simply because I forgot that I already saved someone and rather made a new contact for them than checking it out or risking to not have them.
Now I'm left with a giant database, where most of the enteries can be found four times, often having different attributes or slightly variating values.
Any option that would me help through this kind of mess automatically is very appreciated.
(Also something that would prevent me from making further duplicates)
Sincerely, MITX
Of little help may be these apps "duplicate contacts" and "duplicate contacts remover". But, they only find exact matches and even not all in my case, so I also would appreciate a merge feature (ideally not restricted to exact duplicates).
some simple duplicate filtering will be added in version 4.0. Just a visual one, it wont modify the actual contacts.
Hm, not that I'd mind, but why? And will there be a hint that there are multiple contacts sfor one entery? Will you be able to switch it off, if necessary?
Btw, by now I lost the patience and deleted the 280+ contacts worth of quadriplicates myself. (No, I'm not saying it's your fault.)
Sent from my Android device with K-9 Mail. Please excuse my brevity.
I need to figure out something else for contacts stored under multiple contact sources. For now you wont be able to switch off this merging.
So I will actually make the duplicate filtering more agressive by ignoring some fields, it will be optional and enabled by default in settings. We will see what feedback I get. Im pretty sure that the vast majority of casual users dont care where is the contact stored, they just dont want to see duplicates.
(as per #174) .vcf file of some duplicates: example.txt
All my duplicates are either Telegram (the one without number) or WhatsApp. Signal, Allo and Duo contacts appear to be filtered out correctly.
Telegram (identified by some number under filters) is hard I guess, since that is not coupled by phone number.
WhatsApp contacts are mostly marked as duplicates just fine, only some appear as a separate contact. I think that contacts that ARE displayed twice have more information on their Google contact side (ie second number, email address)
Edit: Okay, scratch the above where I said that others are filtered out correctly. Disabling WhatsApp under filters results in both duplicate contacts form Allo and Duo. Those are the same contacts as before (since everyone in my contacts has WhatsApp, and that was shown) but now from either Duo or Allo.
So it has to do with the additional information on the Google-contact side: the WhatsApp, Duo and Allo contacts are merged together.
I will be ignoring emails, events and addresses in the filtering in the next version 4.0.5, we will see if it will cause any issues.
Issues that are closely related: #390, #446
This issue is still relevant. I have found to have 5 contacts for the same person.
Example:
Simple Contacts (F-Droid version 6.19.0 Pro)
1. Name; phone number X (mobile), stored on phone
2. Name, phone number X (mobile), phone number Y (mobile), stored on phone, Part of group GGG, Connected to Signal, Connected to Telegram
3. Name, phone number Y (other), stored on phone
4. Name, phone number Y (other), stored on phone, connected to Whatsapp
5. Name, stored on phone
The names are all slightly different. E.g. Heinz Müller, Müller H. Müller Hei, Hei Müller. The different names are caused by nicknames in messaging apps. (People can have different names in Whatsapp, Signal and Telegram).
This fragmentation of contacts was caused by exporting and importing contacts half a year ago from my old phone to my new phone. Excuse me for not remembering the exact steps I did back then, but that is not the main Issue right now (a new issue could be opened for import and exporting contacts. Does not have to be dealt with in this issue here).
Proposal:
-
[ ] 1. Support Semi-automatic merging of contacts :
- [ ] 1.1 Make duplicate detection more aggressive by taking phone-number into account
- Disadvantage of this proposal: It is not possible to have multiple people with the same number in the contacts list. Think of old landline wired phones.
- Hence: Make this check and merging optional to the user. Instead of automatically merging, let users run a "manual duplicate check". Do not merge automatically. --> Upon running the duplicate integrity check, Display duplicate entries to the user, but let the user decide if it should be merged.
- [ ] 1.2 Use one contact as main contact (only show this contact in UI) and under the hood link the other contacts to this contact.
- [ ] 1.1 Make duplicate detection more aggressive by taking phone-number into account
-
[ ] 2. Allow to manually select multiple contacts for merging.
-
[ ] 2.1 Use one contact as main contact (only show this contact in UI) and under the hood link the other contacts to this contact.
-
[ ] 2.2 Delete redundant contact names and stored data upon manual merging IF all fields are part of other merged contacts and are the same except the name. e.g.
3. contact contains part of Name, phone number Y (other), stored on phone 4. contact contains part of Name, phone number Y (other), stored on phone, connected to Whatsapp
User chooses to merge
3
and4
--> Chooses to keep4
-->3
should be deleted.Advantage of this proposal: User does not have to check if all fields are the same and can just select multiple contacts for merging.
-
Gosh this takes me back lol
I would love for this process to be manually possible. I don't want some contacts to be erroneously merged, but I want to be able to combine Telegram contacts with their duplicates vCard contacts. Additionally, manual acceptance of automatically located duplicates would be useful.
Apple's contacts allows this well.