Review Request 115609: Load KTp Contacts from a cache

David Edmundson david at davidedmundson.co.uk
Thu Feb 13 22:36:45 UTC 2014



> On Feb. 10, 2014, 6:19 a.m., Alexandr Akulich wrote:
> > As I see, there is still same problem: you don't remove contacts that have being in cache when you read it, but known to be not existed any more once account become online.
> > 
> > Steps to reproduce:
> > 1) Become online in KTp (to sync cache)
> > 2) Become offline.
> > 3) Delete contact in any other way (KTp on different PC or just another IM).
> > 4) Start KPeople-powered application. Application have to load deleted contact from cache, because cache is not updated.
> > 5) Become online.
> > Once you become online, you will receive signal like onAllKnownContactsChanged(KTp::contactManager()->allKnownContacts(), Tp::Contacts()). Note, that there is empty "contactsRemoved" list.
> > As result, you will have deleted contact listed in KPeople.
> 
> David Edmundson wrote:
>     You're absolutely right.
>     
>     I'm not sure how much this is a real world problem as opposed to just a hypothetical one. The contact will always be marked as offline, in terms of KTp it won't make it through the filter model and onto the display. Next time you go offline->online again, it will be gone.
>     
>     Given we are now over a month behind schedule, and I'm pretty sure the Nepomuk nonsense we are currently shipping will have the same issue, can I ship this and open a bug report to fix this later?
>     
>     --
>     
>     We also need to move some of this logic into GlobalContactManager - maybe just a few extra parameters on the signals will be enough. I do not want yet another set of contact roster code.
> 
> Alexandr Akulich wrote:
>     I think that there is a lot of usages of offline contact. Basicly, our "important cache" is for offline mode, so it's mainly will not be filtered. It will not be gone on any further offline->online, only by restart app.
>     Well, I'm not against shipping it, but to get it works properly, patch should be greatly rewritten and will look generally like ktp-kded-module patch.

See https://bugs.kde.org/show_bug.cgi?id=331123


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115609/#review49404
-----------------------------------------------------------


On Feb. 9, 2014, 9:33 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/115609/
> -----------------------------------------------------------
> 
> (Updated Feb. 9, 2014, 9:33 p.m.)
> 
> 
> Review request for Telepathy.
> 
> 
> Repository: ktp-common-internals
> 
> 
> Description
> -------
> 
> Load KTp Contacts from a cache
> 
> This is so we can display contacts with avatars in kpeople usages
> even if we are offline.
> 
> This data is then updated with data directly from the connection manager
> once it loads/exists.
> 
> 
> Avoid crash if account does not exist
> 
> 
> Diffs
> -----
> 
>   KTp/CMakeLists.txt a3a0120 
>   KTp/global-contact-manager.cpp eec0d4f 
>   KTp/im-persons-data-source.cpp ee67e83 
> 
> Diff: https://git.reviewboard.kde.org/r/115609/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-telepathy/attachments/20140213/c880dcf8/attachment.html>


More information about the KDE-Telepathy mailing list