Mercurial > prosody-modules
comparison mod_smacks/mod_smacks.lua @ 2756:dbba101601b4
mod_smacks: Fix #921
See also https://mail.jabber.org/pipermail/standards/2017-May/032773.html
author | tmolitor <thilo@eightysoft.de> |
---|---|
date | Sun, 27 Aug 2017 21:34:48 +0200 |
parents | f70c02c14161 |
children | e672d1050529 |
comparison
equal
deleted
inserted
replaced
2755:dbab58abd3e2 | 2756:dbba101601b4 |
---|---|
13 | 13 |
14 local st = require "util.stanza"; | 14 local st = require "util.stanza"; |
15 local dep = require "util.dependencies"; | 15 local dep = require "util.dependencies"; |
16 local cache = dep.softreq("util.cache"); -- only available in prosody 0.10+ | 16 local cache = dep.softreq("util.cache"); -- only available in prosody 0.10+ |
17 local uuid_generate = require "util.uuid".generate; | 17 local uuid_generate = require "util.uuid".generate; |
18 local jid = require "util.jid"; | |
18 | 19 |
19 local t_insert, t_remove = table.insert, table.remove; | 20 local t_insert, t_remove = table.insert, table.remove; |
20 local math_min = math.min; | 21 local math_min = math.min; |
21 local os_time = os.time; | 22 local os_time = os.time; |
22 local tonumber, tostring = tonumber, tostring; | 23 local tonumber, tostring = tonumber, tostring; |
190 local queue = session.outgoing_stanza_queue; | 191 local queue = session.outgoing_stanza_queue; |
191 local cached_stanza = st.clone(stanza); | 192 local cached_stanza = st.clone(stanza); |
192 cached_stanza._cached = true; | 193 cached_stanza._cached = true; |
193 | 194 |
194 if cached_stanza and cached_stanza.name ~= "iq" and cached_stanza:get_child("delay", xmlns_delay) == nil then | 195 if cached_stanza and cached_stanza.name ~= "iq" and cached_stanza:get_child("delay", xmlns_delay) == nil then |
195 cached_stanza = cached_stanza:tag("delay", { xmlns = xmlns_delay, from = session.host, stamp = datetime.datetime()}); | 196 cached_stanza = cached_stanza:tag("delay", { |
197 xmlns = xmlns_delay, | |
198 from = jid.bare(session.full_jid or session.host), | |
199 stamp = datetime.datetime() | |
200 }); | |
196 end | 201 end |
197 | 202 |
198 queue[#queue+1] = cached_stanza; | 203 queue[#queue+1] = cached_stanza; |
199 session.log("debug", "#queue = %d", #queue); | 204 session.log("debug", "#queue = %d", #queue); |
200 if session.hibernating then | 205 if session.hibernating then |