[standards-jig] gateway handling of legacy contact lists

Paul Curtis pcurtis at terrapin.com
Sat Dec 13 01:42:21 UTC 2003

On Friday, December 12, 2003, at 06:18  PM, Peter Millard wrote:

> Paul Curtis wrote:
>> Yes, and this is a problem. When I send the roster a second time when
>> the user logs into Yahoo, and the group is set, the user gets two
>> entries in their roster. Without getting the roster and reading it, 
>> how
>> do you propose to solve this? If I send the jabber:x:roster without a
>> group, then the user can move them around without having duplicates
>> appear in their roster.
> I don't follow.. The yahoo-t should only send me a message w/ the 
> roster when I
> sucessfully REGISTER (not login) w/ the transport. And the client 
> should be
> smart enough to not show the entries which are already on that user's 
> jabber
> roster (searching by jid).

However, that isn't the case with MSN or Yahoo. If the user has added 
contacts using the Yahoo or MSN client, the "real" roster is pushed 
every time the user logs in. It was requested several times to have the 
Jabber roster's Yahoo contacts synced with the Yahoo client's contacts. 
In this case, a set of contacts is updated every time the user logs in.

As this is a much requested feature of the transport, why should I 
remove it? Most users of Yahoo (and MSN) expect the rosters to be in 
sync between their jabber clients and the legacy clients. So a Yahoo 
contact added in Jabber also adds that contact to the legacy roster and 
vice versa. This is a set of considerations that travel outside the 
Jabber realm, and into user expectations.

Currently, I plan to update Yahoo to use jabber:x:roster as the proper 
way to update contacts on the jabber roster. I most likely won't 
include a 'group' attribute (which is how the transport works today) to 
avoid recreating contacts on the jabber roster when the user has placed 
those contacts into groups themselves. The final alternative is to have 
the transport request the user's roster on log in, and compare the 
roster from the legacy system to the user's jabber roster. This is a 
performance bottleneck when handling several hundred Yahoo users, and 
really doesn't add any benefit that I could see. In addition, throwing 
that change in the roster handling into the transport now would most 
likely cause a lot of confusion with the current users.


More information about the Standards mailing list