I am developing a MUC implementation on top of Smack. For the most part everything works fine, but I’'m stumped by the following problem.
Here’'s the use case:
jid1 invites to jid2 to ConfA (jid1 is using Spark, so I treat it as a reference implementation)
jid2 receives invite via InvitationListener impl and (after user input) executes the following code:
muc = new MultiUserChat(conn, room);
if (password != null)
What happens next is that both a conference window and single user chat window pop up. The conference window shows zero occupants. The chat window shows a single, empty message from the jid of the conference room.
In my logs I see the following:
The muc is created and joined without any exceptions.
The call to muc.getOccupants() returns no occupants (even though 1+ occupants are in the room)
I see ChatManagerListener fire a ChatCreated based on a message from ConfA
This is the normal experience. The other experience I see is that the InvitationListener is not fired at all, and all I see is the ChatCreation.
Any thoughts on what might be going on here?