diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java index d1f6525ce..34f437e1c 100644 --- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java +++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java @@ -34,6 +34,7 @@ public class MucOptions { public static final String STATUS_CODE_AFFILIATION_CHANGE = "321"; public static final String STATUS_CODE_LOST_MEMBERSHIP = "322"; public static final String STATUS_CODE_SHUTDOWN = "332"; + public static final String STATUS_CODE_TECHNICAL_REASONS = "333"; private final Set users = new HashSet<>(); private final Conversation conversation; public OnRenameListener onRenameListener = null; diff --git a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java index 9b3e38b3a..341e8d9a0 100644 --- a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java +++ b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java @@ -143,7 +143,9 @@ public class PresenceParser extends AbstractParser implements } else if (codes.contains(MucOptions.STATUS_CODE_SHUTDOWN) && fullJidMatches) { mucOptions.setError(MucOptions.Error.SHUTDOWN); } else if (codes.contains(MucOptions.STATUS_CODE_SELF_PRESENCE)) { - if (codes.contains(MucOptions.STATUS_CODE_KICKED)) { + if (codes.contains(MucOptions.STATUS_CODE_TECHNICAL_REASONS)) { + mucOptions.setError(MucOptions.Error.UNKNOWN); + } else if (codes.contains(MucOptions.STATUS_CODE_KICKED)) { mucOptions.setError(MucOptions.Error.KICKED); } else if (codes.contains(MucOptions.STATUS_CODE_BANNED)) { mucOptions.setError(MucOptions.Error.BANNED);