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?