From 1320dc6db48ebde28f5c0791cfc87cfe392d106e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 18 Mar 2018 19:41:52 +0100 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20reflect=20an=20empty=20id=20if?= =?UTF-8?q?=20it=20was=20not=20included?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead, generate a uuid for that message --- src/bridge/bridge.cpp | 2 +- tests/end_to_end/__main__.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bridge/bridge.cpp b/src/bridge/bridge.cpp index 9a0358c..aba2f05 100644 --- a/src/bridge/bridge.cpp +++ b/src/bridge/bridge.cpp @@ -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(), std::get<0>(xmpp_body), irc->get_own_nick()); #endif - if (!first) + if (!first || id.empty()) id = utils::gen_uuid(); 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), diff --git a/tests/end_to_end/__main__.py b/tests/end_to_end/__main__.py index a2bb2d3..914f545 100644 --- a/tests/end_to_end/__main__.py +++ b/tests/end_to_end/__main__.py @@ -1227,6 +1227,13 @@ if __name__ == '__main__': partial(expect_stanza, "/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, "hello"), + + # Expect a non-empty id as a result (should be a uuid) + partial(expect_stanza, + "!/message[@id='']/body[text()='hello']"), + # Second user joins partial(send_stanza, ""), -- 2.45.2