[standards-jig] gateway handling of legacy contact lists
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,
>> 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
> 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