Build: #877 was successful Scheduled with changes by daryl herzmann <akrherz@iastate.edu> and Guus der Kinderen
Code commits
Openfire (master)
-
daryl herzmann <akrherz@iastate.edu> b97d0be40836f76f9bc494ab663b0948a56ad152
Merge pull request #1811 from guusdk/OF-2209_MUC-detect-ghosts
OF-2209: Detect and remove 'ghost users' from MUC. -
daryl herzmann <akrherz@iastate.edu> 029fc2fa7fda136e14a40002d974afa4d9329be9
Merge pull request #1810 from guusdk/OF-2207_MUC-clustering-create-race
OF-2207: Ensure that the room exists on all nodes, before firing off … -
Guus der Kinderen d70506c24d55ce6c0e8840562ef95ad5a214b7f5
OF-2209: Detect and remove 'ghost users' from MUC.
This commit adds a new feature that complements the pre-existing feature that would kick idle users from a MUC room.
The new feature is defined in the section related to 'ghost users' in the MUC specification (XEP-0045). It is two-fold:
- When a room is sent a stanza that contains an error that indicates that an occupant is unreachable, drop that occupant from the room.
- When an occupant has not interacted for a configurable amount of time, send a ping to that occupant. If the occupant is unreachable, this will trigger an error to be sent back, that will be processed by the implementation of the first item in this list.
This new feature is configurable through the admin console (Group Chat > Group Chat Settings > (select service) > Other Settings), but is enabled by default.- i18n/src/main/resources/openfire_i18n.properties (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/MultiUserChatService.java (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCUser.java (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
- xmppserver/src/main/webapp/muc-room-occupants.jsp (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
- xmppserver/src/main/webapp/muc-tasks.jsp (version d70506c24d55ce6c0e8840562ef95ad5a214b7f5)
-
Guus der Kinderen a9cbd5a8869c524f92c95baf0ade8c8bc4ba4384
OF-2207: Ensure that the room exists on all nodes, before firing off other room events to avoid race conditions
This commit turns the room creation event into a synchronous action. I'm hoping that the impact of this will be minimal, as creating a room should be a relatively uncommon occurrence.- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version a9cbd5a8869c524f92c95baf0ade8c8bc4ba4384)