Mercurial > prosody-modules
changeset 1477:db870913e1cf
mod_mam_archive: Doing stanza deserialization after mod_storage the right way
author | syn@syn.im |
---|---|
date | Wed, 30 Jul 2014 21:58:56 +0200 (2014-07-30) |
parents | 08ca6dd36e39 |
children | 099583539e2c |
files | mod_mam_archive/mod_mam_archive.lua |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_mam_archive/mod_mam_archive.lua Wed Jul 30 21:27:56 2014 +0200 +++ b/mod_mam_archive/mod_mam_archive.lua Wed Jul 30 21:58:56 2014 +0200 @@ -268,9 +268,14 @@ module:log("debug", "Count "..count); for id, item, when in data do - local tag = jid_bare(item["attr"]["from"]) == jid_bare(origin.full_jid) and "from" or "to"; + if not getmetatable(item) == st.stanza_mt then + item = st.deserialize(item); + end + module:log("debug", tostring(item)); + + local tag = jid_bare(item.attr["from"]) == jid_bare(origin.full_jid) and "from" or "to"; tag = chat:tag(tag, {secs = when - qstart}); - tag:tag("body"):text(item[2][1]):up():up(); + tag:add_child(item:get_child("body")):up(); end origin.send(reply);