Room events related to updates in the room


1) sendPrivateMessage on a room doesn't get handled properly in the handleEvent method of the Room class.

sendPrivateMessage sends a message to a room of type CHAT, but in the isThisRoom portion, which it goes into, it ignores type CHAT. CHAT only gets handled in the isThisUser portion.

2) If we know about an occupant in a room, the updateRoomRoster method in the Room class doesn't dispatch an event if the presence has been updated, just if they leave.

The method does handle the change and set the affiliation, role, and show status to match the presence, but does not dispatch an event. It would be nice for a room to be able to know when an occupant in the room changes their presence. Possibly add a USER_PRESENCE_CHANGE event type in RoomEvent.

3) The IQ in the requestConfiguration method of the Room class has a callback for when it is complete. It would be nice to add a callback to the IQ in the configure method to know when it is complete. Possibly add a CONFIGURE_ROOM_COMPLETE event type in RoomEvent.




Mark Walters
September 12, 2009, 8:12 PM

Patch for #1: isThisRoom portion of the handleEvent method now handles type CHAT.

Mark Walters
September 12, 2009, 8:38 PM

Patch for #2: Addition of room event that is dispatched when a user's presence is updated.

Mark Walters
September 12, 2009, 8:42 PM

Patches created and attached to issue comments.
Can apply patches and commit.

Michael McCarthy
October 26, 2009, 3:05 PM

Hi Mark, we've recently done a very similar thing to your third patch, but specifically for users having voice granted or revoked. I added two new event types to RoomEvent (USER_VOICE_REVOKED and USER_VOICE_GRANTED) and had Room dispatch these. Would you like this as a patch? Have you had any feedback on your patches?

Mark Walters
October 29, 2009, 7:31 AM

Complete and committed.



Mark Walters


Mark Walters



Expected Effort


Ignite Forum URL



Fix versions