comparison mod_mam/mod_mam.lua @ 1790:4c2146f5bf39

mod_mam: Store chat messages and normal messages with a body
author Kim Alvefur <zash@zash.se>
date Wed, 26 Aug 2015 17:40:22 +0200
parents d2b82b90c413
children ca33cca2e028
comparison
equal deleted inserted replaced
1789:dbce8a7726ef 1790:4c2146f5bf39
221 local orig_type = stanza.attr.type or "normal"; 221 local orig_type = stanza.attr.type or "normal";
222 local orig_from = stanza.attr.from; 222 local orig_from = stanza.attr.from;
223 local orig_to = stanza.attr.to or orig_from; 223 local orig_to = stanza.attr.to or orig_from;
224 -- Stanza without 'to' are treated as if it was to their own bare jid 224 -- Stanza without 'to' are treated as if it was to their own bare jid
225 225
226 -- We don't store messages of these types 226 -- We store chat messages or normal messages that have a body
227 if orig_type == "error" 227 if not(orig_type == "chat" or orig_type == "normal" and stanza:get_child("body") ) then
228 or orig_type == "headline" 228 module:log("debug", "Not archiving stanza: %s (type)", stanza:top_tag());
229 or orig_type == "groupchat" 229 return;
230 -- or that don't have a <body/> 230 end
231 or not stanza:get_child("body")
232 -- or if hints suggest we shouldn't 231 -- or if hints suggest we shouldn't
233 or stanza:get_child("no-permanent-storage", "urn:xmpp:hints") -- The XEP needs to decide on "store" or "storage" 232 if stanza:get_child("no-permanent-storage", "urn:xmpp:hints") -- The XEP needs to decide on "store" or "storage"
234 or stanza:get_child("no-permanent-store", "urn:xmpp:hints") 233 or stanza:get_child("no-permanent-store", "urn:xmpp:hints")
235 or stanza:get_child("no-storage", "urn:xmpp:hints") 234 or stanza:get_child("no-storage", "urn:xmpp:hints")
236 or stanza:get_child("no-store", "urn:xmpp:hints") then 235 or stanza:get_child("no-store", "urn:xmpp:hints") then
237 module:log("debug", "Not archiving stanza: %s (content)", stanza:top_tag()); 236 module:log("debug", "Not archiving stanza: %s (hint)", stanza:top_tag());
238 return; 237 return;
239 end 238 end
240 239
241 -- Whos storage do we put it in? 240 -- Whos storage do we put it in?
242 local store_user = c2s and origin.username or jid_split(orig_to); 241 local store_user = c2s and origin.username or jid_split(orig_to);