Monday, 30 April 2012

XMPP roster problems

Updating roster data should be easy:
  1. update data
  2. send to roster
  3. wait for confirmation
But of course it is not. For example, Facebook reports 501 not implemented on each roster operation. We have added code in 0.12.0 to support this - when 501 result is received we don't try to update this roster entry anymore. Kadu just uses data (nickname and list of groups) entered by enduser. So this is not a problem anymore.

Google+ has the worst behavior possible. It accepts our changes, sending OK response. But after a second it sends roster entry update to client restoring previous data. This means if someone for some reason decides to join two Google+ contacts into one buddy in Kadu he/she will get nickname dance on this buddy - changing from one to another. Only way to get rid of it is to manually disable synchronizing of these contacts with remote roster.

Thankfully this is all possible in incoming Kadu 0.12 (already in beta1).

No comments:

Post a Comment