Include the <fin><set><first/><last/></></> nodes in the MAM iq result

fix #3322
This commit is contained in:
louiz’
2017-12-26 20:21:18 +01:00
parent 37340e593f
commit 131ef9946f
4 changed files with 26 additions and 4 deletions
+18 -1
View File
@@ -725,7 +725,24 @@ bool BiboumiComponent::handle_mam_request(const Stanza& stanza)
if (!line.col<Database::Nick>().empty())
this->send_archived_message(line, to.full(), from.full(), query_id);
}
this->send_iq_result_full_jid(id, from.full(), to.full());
{
auto fin_ptr = std::make_unique<XmlNode>("fin");
{
XmlNode& fin = *(fin_ptr.get());
fin["xmlns"] = MAM_NS;
XmlSubNode set(fin, "set");
set["xmlns"] = RSM_NS;
if (!lines.empty())
{
XmlSubNode first(set, "first");
first["index"] = "0";
first.set_inner(lines[0].col<Database::Uuid>());
XmlSubNode last(set, "last");
last.set_inner(lines[lines.size() - 1].col<Database::Uuid>());
}
}
this->send_iq_result_full_jid(id, from.full(), to.full(), std::move(fin_ptr));
}
return true;
}
return false;