Room events related to updates in the room

Description

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.

Environment

None

Attachments

3

Activity

Mark Walters 
October 29, 2009 at 7:31 AM

Complete and committed.

Michael McCarthy 
October 26, 2009 at 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 
September 12, 2009 at 8:42 PM

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

Mark Walters 
September 12, 2009 at 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 at 8:12 PM

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

Fixed

Details

Assignee

Reporter

Components

Fix versions

Priority

Created September 9, 2009 at 3:30 PM
Updated October 29, 2009 at 7:31 AM
Resolved October 29, 2009 at 7:31 AM