[Bug 20565] Contacts should be initially offline and not unknown

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 4 18:06:12 CEST 2009


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





--- Comment #1 from Will Thompson <will.thompson at collabora.co.uk>  2009-05-04 09:06:11 PST ---
I've been investigating this, and discovered:

* Gabble goes to state Connected before it has retrieved your roster.
* If you call GetPresences() after the roster has been retrieved, for a contact
who is on your roster but for whom we haven't seen any <presence/> yet, they
show up as Offline (that is, Gabble works as this bug requires.)
* If you call it before the roster has been retrieved, Gabble says the
contact's presence is unknown. This violates the GetPresences() specification,
which says it should wait until the roster arrives.

So, let's fix GetPresences to wait until the roster arrives, right? Well, no,
because:

* The same is true of GetContactAttributes(), which is used by TpContact, and
which is specified never to wait for network activity.

Hence, we have two options:

1. Keep the current behaviour of GetPresences(), and when we get the roster
emit PresencesChanged for the entire roster.
2. Wait for the roster to arrive before saying we're online.

I think 2. is the way to go; a flood of spurious presence updates for the
entire roster seems like a bad idea to me. I'm looking into delaying initial
presence until after the roster's been received...


-- 
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