# HG changeset patch # User syn@syn.im # Date 1413122748 -7200 # Node ID 71af9c272d721fbecdfa066ee28e17e452ab5d2d # Parent 2881d532f385a02d4c0fd2051b49ac2ba5f06736 mod_mam_archive: Stopped lying in RSM counts diff -r 2881d532f385 -r 71af9c272d72 mod_mam_archive/mod_mam_archive.lua --- a/mod_mam_archive/mod_mam_archive.lua Sun Oct 12 13:24:50 2014 +0200 +++ b/mod_mam_archive/mod_mam_archive.lua Sun Oct 12 16:05:48 2014 +0200 @@ -247,6 +247,9 @@ local before, after = qset and qset.before, qset and qset.after; if type(before) ~= "string" then before = nil; end + module:log("debug", "RSM: start=%s, max=%s, before=%s, after=%s", + qstart or 'nostart', qmax or 'nomax', before or 'nobefore', after or 'noafter'); + -- Load all the data! local data, err = archive:find(origin.username, { start = qstart; ["end"] = qstart + conversation_interval; @@ -254,7 +257,6 @@ limit = qmax; before = before; after = after; reverse = reverse; - total = true; }); if not data then @@ -264,8 +266,7 @@ local chat = reply:tag("chat", {xmlns=xmlns_archive, with=qwith, start=date_format(qstart), version=count}); local first, last; - - module:log("debug", "Count "..count); + local count = 0; for id, item, when in data do if not getmetatable(item) == st.stanza_mt then item = st.deserialize(item); @@ -277,7 +278,9 @@ tag:add_child(item:get_child("body")):up(); if not first then first = id; end last = id; + count = count+1; end + module:log("debug", "Count ".. count); reply:add_child(rsm.generate{ first = first, last = last, count = count }) origin.send(reply);