diff --git a/src/mod_mix.erl b/src/mod_mix.erl index c6aa60ef6..ced8ada75 100644 --- a/src/mod_mix.erl +++ b/src/mod_mix.erl @@ -626,7 +626,7 @@ notify_participant_joined(Mod, LServer, To, From, ID, Nick) -> notify_participant_left(Mod, LServer, To, ID) -> {Chan, Host, _} = jid:tolower(To), Items = #ps_items{node = ?NS_MIX_NODES_PARTICIPANTS, - retract = ID}, + retract = [ID]}, Event = #ps_event{items = Items}, Msg = #message{from = jid:remove_resource(To), id = p1_rand:get_string(), diff --git a/src/mod_muc_rtbl.erl b/src/mod_muc_rtbl.erl index d7504ab7c..94186e890 100644 --- a/src/mod_muc_rtbl.erl +++ b/src/mod_muc_rtbl.erl @@ -151,9 +151,9 @@ pubsub_event_handler(#message{from = #jid{luser = <<>>, lserver = SServer}, SNode = mod_muc_rtbl_opt:rtbl_node(Server), if SServer == SServer2 -> case xmpp:get_subtag(Msg, #ps_event{}) of - #ps_event{items = #ps_items{node = Node, retract = Retract}} when Node == SNode, + #ps_event{items = #ps_items{node = Node, retract = [Retract | _] = RetractList}} when Node == SNode, is_binary(Retract) -> - mnesia:dirty_delete(muc_rtbl, {Server, Retract}); + [mnesia:dirty_delete(muc_rtbl, {Server, R1}) || R1 <- RetractList]; #ps_event{items = #ps_items{node = Node, items = Items}} when Node == SNode -> Added = lists:foldl( fun(#ps_item{id = ID}, Acc) ->