diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index 37f772b382c7e8cd31addef91bb6aace27d0ac94..bda38c16f02ef924b048b98fac2c41e2740fc931 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -156,8 +156,7 @@ struct JamiAccount::PendingCall struct JamiAccount::PendingMessage { - dht::InfoHash to; - std::chrono::steady_clock::time_point received; + std::set<dht::InfoHash> to; }; struct AccountPeerInfo @@ -2498,8 +2497,7 @@ JamiAccount::sendTextMessage(const std::string& to, const std::map<std::string, { { std::lock_guard<std::mutex> lock(messageMutex_); - auto e = sentMessages_.emplace(token, PendingMessage {}); - e.first->second.to = dev; + sentMessages_[token].to.emplace(dev); } auto h = dht::InfoHash::get("inbox:"+dev.toString()); @@ -2512,7 +2510,7 @@ JamiAccount::sendTextMessage(const std::string& to, const std::map<std::string, { std::lock_guard<std::mutex> lock(messageMutex_); auto e = sentMessages_.find(msg.id); - if (e == sentMessages_.end() or e->second.to != msg.from) { + if (e == sentMessages_.end() or e->second.to.find(msg.from) == e->second.to.end()) { JAMI_DBG() << "[Account " << getAccountID() << "] [message " << token << "] Message not found"; return true; }