[SailfishDevel] [CardDAV] duplicate entries

Chris Adams chris.adams at jolla.com
Fri Mar 3 06:10:03 UTC 2017


Hi Eli,

Probably the best way would be to look at the RemoveContactDetails trigger:
https://git.merproject.org/mer-core/qtcontacts-sqlite/blob/master/src/engine/contactsdatabase.cpp#L353

If you can determine which contactId entries are from carddav sync target contacts, then you can use the remove trigger logic to remove all of the associated carddav data.

(The out-of-band (OOB) table is slightly different but inspection should make it obvious which OOB entry relates to the carddav account.)

Best regards,
Chris.

________________________________
From: Devel [devel-bounces at lists.sailfishos.org] on behalf of E.S. Rosenberg [es.rosenberg+sailfishos.org at gmail.com]
Sent: Friday, March 03, 2017 6:23 AM
To: Sailfish OS Developers
Subject: Re: [SailfishDevel] [CardDAV] duplicate entries

2017-02-20 20:32 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos.org at gmail.com<redir.aspx?REF=XPhgpaUhCVaazPDQGUtehHBlZzwBIOOJPiVMDqGtQNjbfSSE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>:


2017-02-20 12:54 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos.org at gmail.com<redir.aspx?REF=XPhgpaUhCVaazPDQGUtehHBlZzwBIOOJPiVMDqGtQNjbfSSE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>:
2017-02-20 12:32 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos.org at gmail.com<redir.aspx?REF=jWSfF8O4FhwExLwGbDMYv5SzUlADplYkA7XvkuIIexw_3yaE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>:
2017-02-20 3:41 GMT+02:00 Chris Adams <chris.adams at jolla.com<redir.aspx?REF=iQpAk9G-1pOPPFH3h0hNAyFMRju0eKBXuH8zOfzydXA_3yaE-2HUCAFtYWlsdG86Y2hyaXMuYWRhbXNAam9sbGEuY29t>>:
Hi Eli,
Hi Chris,

Sorry for top posting, but OWA doesn't quote properly.
No problem....

Firstly, was_local contacts occur when a local (phone device) contact is aggregated into another contact which already had a local constituent.  We only allow one single local constituent per aggregate contact, so one of them gets demoted to was_local.  This can occur if you import from a .vcf or via Bluetooth, for example.
Is there somewhere I can read more on this subject?

If you can reproduce the duplication event and provide sync logs of that event (as per https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs<redir.aspx?REF=8QESkmYLDQIdVmp7XEcsPk_yUL_ew6HkmCoK-DHYPoQ_3yaE-2HUCAFodHRwczovL3NhaWxmaXNob3Mub3JnL3dpa2kvQ2FsREFWX2FuZF9DYXJkREFWX0NvbW11bml0eV9Db250cmlidXRpb25zI1N5bmNfTG9ncw..>) that would be helpful!
I'll try.

You should be able to delete the contacts from the database so long as you also delete any entries from the OOB table which relate to that CardDAV account.
So I actually deleted very aggressively yesterday (all carddav and all google) but did not modify oob, which resulted in 0 contacts being read, however even restoring the backed up contacts.db file does not fix this issue.
Any pointers what may be going wrong or where to look would be very welcome.
Thanks,
Eli

Tiny additional update:
>From digging through contacts.db it seems that it needs a lot more cleanup then just the contacts table, tables with crazy counts:
addresses, birthdays, avatars, deletedcontacts (~4k entries), details (>100k), emailaddresses, guids (~25k), organizations (~16k), phonenumbers (~56k), relationships (~25k), urls.

Thanks,
Eli
It seems I made a mistake when restoring the backup I now again have all my contacts :)

Now my first step I think is going to be to cleanly remove all carddav sync data, any pointers on that will be much appreciated (I assume I need to somehow cascade the delete into all the linked tables), when that is done I'll turn carddav back on and see if I can again trigger such a sync situation with logs.

Thanks,
Eli

Hi Chris,
Is there any chance you can provide a schematic overview of the contacts.db file of the different relations etc.?
I really want to clean up but reverse engineering from column names is sub-ideal.
Thanks,
Eli


Best regards,
Chris.


________________________________
From: Devel [devel-bounces at lists.sailfishos.org<redir.aspx?REF=Ox-nx0ff5GgT_5qNkKWidas423U1IL-s8sJUKbwuYp8_3yaE-2HUCAFtYWlsdG86ZGV2ZWwtYm91bmNlc0BsaXN0cy5zYWlsZmlzaG9zLm9yZw..>] on behalf of E.S. Rosenberg [es.rosenberg+sailfishos.org at gmail.com<redir.aspx?REF=bdmY5T2XOIki5RYjd7Qnnl_KiUFoeUTysvJ-7WRhmBU_3yaE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnJTJCc2FpbGZpc2hvcy5vcmdAZ21haWwuY29t>]
Sent: Monday, February 20, 2017 9:13 AM
To: Sailfish OS Developers
Subject: [SailfishDevel] [CardDAV] duplicate entries

Hi everyone,
Last week I noticed that my phone seems to have gone into similar behavior as I described a long time ago with google sync here:
https://together.jolla.com/question/58416/fixing-the-contacts-db/<redir.aspx?REF=LwLZZ5noVQTKqMsF22dOPQq00HLUARDzfA1-J5n1jnA_3yaE-2HUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9QmtpblU2cHg5RnJNNTRkNmllbENlRFhDRDVESWlaZlZiY2J6ck0xdXpCSnM0VmlPTUZuVUNBRm9kSFJ3Y3pvdkwzUnZaMlYwYUdWeUxtcHZiR3hoTG1OdmJTOXhkV1Z6ZEdsdmJpODFPRFF4Tmk5bWFYaHBibWN0ZEdobExXTnZiblJoWTNSekxXUmlMdy4u>

I currenlty have 26k entries in contacts.db for 9xx contacts.

I suspect that this may be linked to a stage where I was connected via a filtered provider that tried to MITM the connection and caused it to close with an authentication error, I'm going to clean it up the same way I described there and turn carddav back on but I am wondering if anyone else has experienced similar issues.

Is anyone aware of any reason not to just delete everything with syncTarget == carddav (or != local)?

Thanks,
Eli

Stats:
987    aggregate
23128    carddav
1419    google
930    local
2    sim
65    telepathy
2    voicemail
3    was_local

What does 'was_local' mean?

_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org<redir.aspx?REF=B6rHUtjGDFWxj3PjttvFsgbqUMXnpHIP6b1jNnXiNBw_3yaE-2HUCAFtYWlsdG86ZGV2ZWwtdW5zdWJzY3JpYmVAbGlzdHMuc2FpbGZpc2hvcy5vcmc.>




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20170303/ee330f7e/attachment-0001.html>


More information about the Devel mailing list