comparison mod_muc_batched_probe/mod_muc_batched_probe.lua @ 4190:e06258fc6cf1

muc_batched_probe: don't return too quickly
author JC Brand <jc@opkode.com>
date Mon, 12 Oct 2020 18:01:54 +0200
parents 4611999fd8d3
children
comparison
equal deleted inserted replaced
4188:4611999fd8d3 4190:e06258fc6cf1
8 local rooms = rawget(mod_muc, "rooms"); 8 local rooms = rawget(mod_muc, "rooms");
9 return rooms[jid]; 9 return rooms[jid];
10 end 10 end
11 11
12 module:log("debug", "Module loaded"); 12 module:log("debug", "Module loaded");
13
14 13
15 local function respondToBatchedProbe(event) 14 local function respondToBatchedProbe(event)
16 local stanza = event.stanza; 15 local stanza = event.stanza;
17 if stanza.attr.type ~= "get" then 16 if stanza.attr.type ~= "get" then
18 return; 17 return;
36 if probed_occupant == nil then 35 if probed_occupant == nil then
37 local pr = room:build_unavailable_presence(probed_jid, stanza.attr.from); 36 local pr = room:build_unavailable_presence(probed_jid, stanza.attr.from);
38 if pr then 37 if pr then
39 room:route_stanza(pr); 38 room:route_stanza(pr);
40 end 39 end
41 return; 40 else
41 local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"});
42 room:publicise_occupant_status(probed_occupant, x, nil, nil, nil, nil, false, probing_occupant);
42 end 43 end
43 local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"});
44 room:publicise_occupant_status(probed_occupant, x, nil, nil, nil, nil, false, probing_occupant);
45
46 end 44 end
47 origin.send(st.reply(stanza)); 45 origin.send(st.reply(stanza));
48 return true; 46 return true;
49 end 47 end
50 48