From e7e1ffb0f5bda06d92827f91ce18017adb512617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Mon, 4 Mar 2024 09:43:53 -0500 Subject: [PATCH] misc: avoid unknown status Change-Id: I87660a117c9f1c45c1066ddeb15c01e0e504b744 --- src/jamidht/conversation.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index 2a027614b3..bcd2f51e0c 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -1075,6 +1075,10 @@ Conversation::Impl::addToHistory(const std::vector<std::map<std::string, std::st } // Else we need to compute the status. auto& cache = memberToStatus[member.uri]; + if (cache == 0) { + // Message is sending, sent or displayed + cache = static_cast<int32_t>(libjami::Account::MessageStates::SENDING); + } if (!messageReceived) { // For loading previous messages, there is 3 cases. Last value cached is displayed, so is every previous commits // Else, if last value is sent, we can compare to the last read commit to update the cache @@ -1083,7 +1087,7 @@ Conversation::Impl::addToHistory(const std::vector<std::map<std::string, std::st if (messagesStatus_[member.uri]["read"] == sharedCommit->id) { cache = static_cast<int32_t>(libjami::Account::MessageStates::DISPLAYED); } - } else if (cache < static_cast<int32_t>(libjami::Account::MessageStates::SENDING)) { // SENDING or UNKNOWN + } else if (cache <= static_cast<int32_t>(libjami::Account::MessageStates::SENDING)) { // SENDING or UNKNOWN if (messagesStatus_[member.uri]["fetched"] == sharedCommit->id) { cache = static_cast<int32_t>(libjami::Account::MessageStates::SENT); } -- GitLab