[Bug 13350] ContactInfo: implement and undraft

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Dec 2 12:41:40 CET 2009


http://bugs.freedesktop.org/show_bug.cgi?id=13350


Will Thompson <will.thompson at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sjoerd at luon.net




--- Comment #2 from Will Thompson <will.thompson at collabora.co.uk>  2009-12-02 03:41:39 PST ---
Hmm. I just discussed some issues with this spec with Marco and Sjoerd, and
discovered an unmerged branch from the last time I discussed this with Marco.
The spec branch is at
<http://git.collabora.co.uk/?p=user/wjt/telepathy-spec-wjt.git;a=shortlog;h=refs/heads/contact-info-network-traffic>
and HTML is at
<http://people.freedesktop.org/~wjt/telepathy-spec-contact_info_network_traffic/spec/org.freedesktop.Telepathy.Connection.Interface.ContactInfo.DRAFT.html>.

The current draft says that GetContactInfo() should pull stuff from the network
if it doesn't have it cached locally. This makes it unsafe to call all the time
on (say) XMPP.

Marco noted that if the address book (say) isn't running when you get
connected, and you receive a bunch of vCards as a result of (say) the contact
list getting people's avatars, the address book will miss all the Changed
signals. But under the current draft, it can't safely call GetContactInfo() to
get the cached stuff, because that'll make Gabble poke the network. So there's
stuff which is in Gabble's in-memory cache (which as an implementation detail
lasts about 20 seconds IIRC) which UIs can't get at safely.

The attached branch removes the requirement that GetContactInfo() cause network
traffic for contacts whose vCards we don't have. The rationale is that it
simplifies use of the interface:

• Always call GetContactInfo() for the contacts you care about;
• If Push is not set, call RequestContactInfo() to forcibly update your
contacts' address book entries every few days/weeks/etc.

Also, Gabble could potentially cache vCards for longer/on disk.

Sjoerd also suggested adding tokens to ContactInfo, akin to avatar tokens. This
would allow the CM to cache them forever without its memory usage expanding out
of control. Also, a similar issue exists with clients being able to miss
transient information exists on the EmailNotification interface; we could use a
general solution.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the telepathy-bugs mailing list