Remove unexpected `MucNotJoinedException` from `MultiUserChat.leave()`

Occupant information should be reset after `leavePresence`
and `reflectedLeavePresenceFilter` are built.
This commit is contained in:
adiaholic 2020-04-17 20:10:45 +05:30
parent 0f7b7df1f0
commit 22cff274bb
1 changed files with 4 additions and 4 deletions

View File

@ -732,10 +732,6 @@ public class MultiUserChat {
// "if (!joined) return" because it should be always be possible to leave the room in case the instance's
// state does not reflect the actual state.
// Reset occupant information first so that we are assume that we left the room even if sendStanza() would
// throw.
userHasLeft();
final EntityFullJid myRoomJid = this.myRoomJid;
if (myRoomJid == null) {
throw new MucNotJoinedException(this);
@ -757,6 +753,10 @@ public class MultiUserChat {
)
);
// Reset occupant information first so that we are assume that we left the room even if sendStanza() would
// throw.
userHasLeft();
Presence reflectedLeavePresence = connection.createStanzaCollectorAndSend(reflectedLeavePresenceFilter, leavePresence).nextResultOrThrow();
return reflectedLeavePresence;