powered by Jive Software

Another timing thing

I am not sure if this is similar to the thread “Roster and Presence at Startup” but it might be.

During a group chat, when a Presence packet of AVAILABLE is received by the listener in processPacket(Packet packet),

an immediate call to groupChat.getParticipants() does not show the newly-available user. Likewise, when an UNAVAILABLE is received, the freshly-departed user is still listed by groupChat.getParticipants().

Am I using these incorrectly, or should the participant list be refreshed before the Packet event is dispatched to the listeners?




Does getParticipants() called a short time later contain the correct information? If yes, this is probably just an issue of the order that packet listeners get called in (you registered your listener before the group chat did).