Support list of IDs in pubsub-items-retract (processone/xmpp#100)

This commit is contained in:
Badlop
2025-06-16 12:57:02 +02:00
parent aff8b47b6c
commit f03b5f4c44
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -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(),
+2 -2
View File
@@ -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) ->