Simple-Contacts icon indicating copy to clipboard operation
Simple-Contacts copied to clipboard

[FR] Merge duplicates.

Open CrimsonFork opened this issue 6 years ago • 10 comments

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

CrimsonFork avatar Jan 29 '18 05:01 CrimsonFork

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).

holzdroid avatar Feb 09 '18 04:02 holzdroid

some simple duplicate filtering will be added in version 4.0. Just a visual one, it wont modify the actual contacts.

tibbi avatar Apr 29 '18 20:04 tibbi

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.

CrimsonFork avatar Apr 30 '18 05:04 CrimsonFork

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.

tibbi avatar Apr 30 '18 06:04 tibbi

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.

tibbi avatar Apr 30 '18 14:04 tibbi

(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.

SanderHendrix avatar Jul 04 '18 22:07 SanderHendrix

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.

tibbi avatar Jul 05 '18 06:07 tibbi

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.
  • [ ] 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 and 4 --> Chooses to keep 4 --> 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.

ThiloteE avatar Jun 15 '22 12:06 ThiloteE

Gosh this takes me back lol

CrimsonFork avatar Jun 15 '22 18:06 CrimsonFork

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.

RokeJulianLockhart avatar Jul 13 '22 14:07 RokeJulianLockhart