[Kde-pim] Copying contacts and related bugs

Daniel Vrátil dvratil at redhat.com
Fri Feb 15 11:11:02 GMT 2013


On Tuesday 12 of February 2013 09:50:25 Jacopo De Simoi wrote:
> Dear Pimsters

Hi Jacopo,

> 
>   I was trying to debug some bizarre behavior occuring  when copying some of
> my gmail contacts over to my personal contacts.
> Contacts would disappear upon relogin.
> Similar issues happens when copying them over to a DAV resource (namely
> owncloud): they would not sync.
> 
> I believe that the cause could be related to the following debug output from
> akonadiconsole
> 
> AgentBase(akonadi_contacts_resource_3): Unable to write to file
> '/home/jacopods/.local/share/contacts//http://www.google.com/m8/feeds/contac
> ts/<emailaddress>/base/47b48a8baa2f5d.vcf': No such file or directory

I've checked source code of the akonadi_contacts_resource and it constructs 
the path not from remoteId but from contact UID (that is UID field as stored 
in the vCard). And yes  - the akonadi_googlecontacts_resource uses the full 
URL as UID (as described in Google Contacts API docs).

Although I could modify the akonadi_googlecontacts_resource to store only the 
last 3 parts of the URL (these together are guaranteed to be unique), it would 
cause additional troubles when parsing and serializing the data when 
processing a request. I think the right place to fix this problem is in the 
akonadi_contacts_resource, which should escape the filename before trying to 
use it. It can prevent issues in future, if another contacts resource with 
obscure UIDs appear.

I'll submit a patch later today.

Cheers,
Dan

> 
> I contacted Tobias, who suggested to contact this list; I quote him:
> >The path name for storing the contacts is assembled from the 'path' you
> >have>
> > specified in the contacts resource settings and the filename is the
> > remoteId of the item. If the contact is created by the local contact
> > resource, the>
> >remoteId is the UID of the contact, but it looks like it doesn't rewrite
> >the remoteId during a move -> it tries to use the remoteId that comes from
> >the google resource...
> 
> There are a number of bugs which could be related to this, e.g. 304481,
> 299740
> 
> Btw, I am running 4.10 opensuse packages (I also have a git master build,
> which I can in principle check, but I did not properly set up akonadi on it)
> 
> Please let me know if you need further information.
> Best wishes,
> 
>   Jacopo
> 
> --
> Plasma Device Notifier mantainer
> _______________________________________________
> KDE PIM mailing list kde-pim at kde.org
> https://mail.kde.org/mailman/listinfo/kde-pim
> KDE PIM home page at http://pim.kde.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20130215/ebfabc65/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list