aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-04-22 23:36:25 +0200
committerKim Alvefur <zash@zash.se>2020-04-22 23:36:25 +0200
commitd649e78d6d7e2977e6e60e26262eac1161631857 (patch)
tree0633eb8abc20ea49b4a214ca3bf88d84f665e614
parentbc0e389d47b0a40e1ea871fe4ff583746af928be (diff)
downloadprosody-d649e78d6d7e2977e6e60e26262eac1161631857.tar.gz
prosody-d649e78d6d7e2977e6e60e26262eac1161631857.zip
mod_lastactivity: Encode seconds as decimal, not float
In Lua 5.3 difftime() takes integers as argument but returns a float, and then tostring() serializes it with a decimal point. This violates XEP-0012. Like #1536
-rw-r--r--plugins/mod_lastactivity.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_lastactivity.lua b/plugins/mod_lastactivity.lua
index 575e66be..91d11bd2 100644
--- a/plugins/mod_lastactivity.lua
+++ b/plugins/mod_lastactivity.lua
@@ -30,7 +30,7 @@ module:hook("iq-get/bare/jabber:iq:last:query", function(event)
if not stanza.attr.to or is_contact_subscribed(username, module.host, jid_bare(stanza.attr.from)) then
local seconds, text = "0", "";
if map[username] then
- seconds = tostring(os.difftime(os.time(), map[username].t));
+ seconds = string.format("%d", os.difftime(os.time(), map[username].t));
text = map[username].s;
end
origin.send(st.reply(stanza):tag('query', {xmlns='jabber:iq:last', seconds=seconds}):text(text));