Don’t reflect an empty id if it was not included
Instead, generate a uuid for that message
This commit is contained in:
@@ -233,7 +233,7 @@ void Bridge::send_channel_message(const Iid& iid, const std::string& body, std::
|
|||||||
uuid = Database::store_muc_message(this->get_bare_jid(), iid.get_local(), iid.get_server(), std::chrono::system_clock::now(),
|
uuid = Database::store_muc_message(this->get_bare_jid(), iid.get_local(), iid.get_server(), std::chrono::system_clock::now(),
|
||||||
std::get<0>(xmpp_body), irc->get_own_nick());
|
std::get<0>(xmpp_body), irc->get_own_nick());
|
||||||
#endif
|
#endif
|
||||||
if (!first)
|
if (!first || id.empty())
|
||||||
id = utils::gen_uuid();
|
id = utils::gen_uuid();
|
||||||
for (const auto& resource: this->resources_in_chan[iid.to_tuple()])
|
for (const auto& resource: this->resources_in_chan[iid.to_tuple()])
|
||||||
this->xmpp.send_muc_message(std::to_string(iid), irc->get_own_nick(), this->make_xmpp_body(line),
|
this->xmpp.send_muc_message(std::to_string(iid), irc->get_own_nick(), this->make_xmpp_body(line),
|
||||||
|
|||||||
@@ -1227,6 +1227,13 @@ if __name__ == '__main__':
|
|||||||
partial(expect_stanza,
|
partial(expect_stanza,
|
||||||
"/message[@from='#foo%{irc_server_one}/{nick_one}'][@id][@to='{jid_one}/{resource_one}'][@type='groupchat']/body[text()='trois']"),
|
"/message[@from='#foo%{irc_server_one}/{nick_one}'][@id][@to='{jid_one}/{resource_one}'][@type='groupchat']/body[text()='trois']"),
|
||||||
|
|
||||||
|
# Send a simple message, with no id
|
||||||
|
partial(send_stanza, "<message from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}' type='groupchat'><body>hello</body></message>"),
|
||||||
|
|
||||||
|
# Expect a non-empty id as a result (should be a uuid)
|
||||||
|
partial(expect_stanza,
|
||||||
|
"!/message[@id='']/body[text()='hello']"),
|
||||||
|
|
||||||
# Second user joins
|
# Second user joins
|
||||||
partial(send_stanza,
|
partial(send_stanza,
|
||||||
"<presence from='{jid_two}/{resource_one}' to='#foo%{irc_server_one}/{nick_two}' />"),
|
"<presence from='{jid_two}/{resource_one}' to='#foo%{irc_server_one}/{nick_two}' />"),
|
||||||
|
|||||||
Reference in New Issue
Block a user