When a participant leaves a room, this is not noticed by the participantStatusListener.
I could fix this by this change
@@ -197,7 +197,7 @@ public class MultiUserChat {
case unavailable:
occupantsMap.remove(from);
MUCUser mucUser = MUCUser.from(packet);
- if (mucUser != null && mucUser.getStatus() != null) {
+ if (mucUser != null && !mucUser.getStatus().isEmpty()) {
// Fire events according to the received presence code
checkPresenceCode(
mucUser.getStatus(),