[Bug 62378] Offline contact caching

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 2 12:18:17 PST 2013


https://bugs.freedesktop.org/show_bug.cgi?id=62378

--- Comment #8 from Xavier Claessens <xclaesse at gmail.com> ---
I changed my mind on the implementation (again).

CM-side cache is write-only. Added TpBaseContactListClass::cache_miss() virtual
method called when a roster contact is missing from the offline cache, and the
CM simply have to reply with tp_base_contact_list_cache_update() once the vcard
has been fetched. TpBaseContactList also transparently takes care of removing
cache of contacts not in the roster anymore.

Client-side cache is read-only. So I added an extra step after
GetContact(list)Attributes to read the offline cache if CM omitted some info
(avatar token and ContactInfo). That way TpContact will always have last-known
value. This is completely transparent change to clients. Or maybe it could be
enabled with a contact feature?

File operations are now async, so I think it's pretty much ready to get
reviewed and merged.

The missing part is loading the cache when the TpAccount is offline. That will
allow folks to have consistent contact list regardless of onliness.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the telepathy-bugs mailing list