Diff

mod_smacks/mod_smacks.lua @ 3984:4e5fde519116

mod_smacks: better logging for georg
author tmolitor <thilo@eightysoft.de>
date Mon, 20 Apr 2020 14:49:17 +0200
parent 3983:effe2d93a59c
child 3985:c3e9caa29857
line wrap: on
line diff
--- a/mod_smacks/mod_smacks.lua	Mon Apr 20 14:40:09 2020 +0200
+++ b/mod_smacks/mod_smacks.lua	Mon Apr 20 14:49:17 2020 +0200
@@ -420,13 +420,13 @@
 end
 
 -- don't send delivery errors for messages which will be delivered by mam later on
-local function has_stanza_id(stanza, by_jid)
+local function get_stanza_id(stanza, by_jid)
 	for tag in stanza:childtags("stanza-id", "urn:xmpp:sid:0") do
-		if tag.attr.by == by_jid and tag.attr.id then
-			return true
+		if tag.attr.by == by_jid then
+			return tag.attr.id;
 		end
 	end
-	return false;
+	return null;
 
 end
 module:hook("delivery/failure", function(event)
@@ -437,8 +437,9 @@
 				( stanza.attr.type == "chat" or ( stanza.attr.type or "normal" ) == "normal" ) then
 			-- do nothing here for normal messages and don't send out "message delivery errors",
 			-- because messages are already in MAM at this point (no need to frighten users)
-			if session.mam_requested and has_stanza_id(stanza, jid.bare(session.full_jid) then
-				session.log("debug", "mod_smacks delivery/failuere returning true for mam-handled stanza");
+			local stanza_id = get_stanza_id(stanza, jid.bare(session.full_jid));
+			if session.mam_requested and stanza_id ~= nil then
+				session.log("debug", "mod_smacks delivery/failuere returning true for mam-handled stanza: mam-archive-id=%s", tostring(stanza_id));
 				return true;		-- stanza handled, don't send an error
 			end
 			-- store message in offline store, if this client does not use mam *and* was the last client online