From 13e1307ab117d1d3118aaa6e3059cfbaed5dab4f Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 18 Mar 2021 10:28:03 +0100 Subject: [PATCH] When occupant is banned, remove his subscriptions too (#2451) --- src/mod_muc_room.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl index 50ad9dd1a..a6f173064 100644 --- a/src/mod_muc_room.erl +++ b/src/mod_muc_room.erl @@ -2947,7 +2947,11 @@ process_item_change(Item, SD, UJID) -> {JID, affiliation, outcast, Reason} -> send_kickban_presence(UJID, JID, Reason, 301, outcast, SD), maybe_send_affiliation(JID, outcast, SD), - set_affiliation(JID, outcast, set_role(JID, none, SD), Reason); + {result, undefined, SD2} = + process_iq_mucsub(JID, + #iq{type = set, + sub_els = [#muc_unsubscribe{}]}, SD), + set_affiliation(JID, outcast, set_role(JID, none, SD2), Reason); {JID, affiliation, A, Reason} when (A == admin) or (A == owner) -> SD1 = set_affiliation(JID, A, SD, Reason), SD2 = set_role(JID, moderator, SD1),