powered by Jive Software

Roster during logon


I have just upgraded from Messenger 1.1 to 2.0.1. Here is a description of my problem:

I have a large roster (hundreds of entries) that is retrieved during logon (Using Smack API). In 2.0.1, it appears that the a buddy’'s presence is received before the roster is completely parsed. This will cause the presence to be missed out and not updated at logon time.


  • Logon user A

  • Logon user B

  • User B gets roster packet, parses the packet

  • User B receives user A’'s presence before the roster parsing has completed

I had a look into Smack’‘s API and it’'s sending the Roster packet followed by the Presence packet.

This happens about 50% of the time, is there anything in messenger 2.0.1 that is making the presence delivery faster than in 1.1?




Ok, I believe I have tracked it down. It’'s a timing issue on the SMACK API. The problem does not happen in Messenger 1.1 probably because 2.0.1 is sending the roster and presence packets to the client quicker.