Yahoo Buddy List Has a Synchronization Problem
(issue related to the thread : http://kraken.blathersource.org/node/253)
When I first connect to yahoo,buddies who are offline does not come in my buddy list. Sometimes, even online people are lost. Within the roster sync, these people are removed from the roster so that I never get their presence messages.
After a little debugging, it looks like a race condition because sometimes I get the whole list.
Adding a 5 sec. sleep to the beginning of syncUsers function in YahooSession class temporarily fixes the problem . I think this function has to wait for some event to make sure that the whole buddy list is fetched.
openfire 3.6.4 + kraken rev 131
I tried removing my sleep(5000) qfix from YahooSession::synUsers call and updated the source code that adds new items to the roster but it did not work. I still lose online people if I don't wait for some time in syncUsers call :s
Bah. OpenYMSG is saying the roster is ready before it is – so I've adjusted things so that it lets new items be added on the fly instead of having to pull in the whole thing.