From 406edda453856010920ec72075eb6c3f843e1fc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Fri, 16 Feb 2024 08:41:28 -0500
Subject: [PATCH] conversationmodel: fix status update for messages other than
 text

Change-Id: I0f1cb45a6cca9c8e95366c81a9d7813c740e2987
---
 src/libclient/conversationmodel.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/libclient/conversationmodel.cpp b/src/libclient/conversationmodel.cpp
index 677bcaaa8..47aae56f4 100644
--- a/src/libclient/conversationmodel.cpp
+++ b/src/libclient/conversationmodel.cpp
@@ -3491,7 +3491,7 @@ ConversationModelPimpl::updateInteractionStatus(const QString& accountId,
         auto& interactions = conversation.interactions;
         interactions->with(messageId,
                             [&](const QString& id, const interaction::Info& interaction) {
-                                if (interaction.type == interaction::Type::TEXT) {
+                                if (interaction.type != interaction::Type::DATA_TRANSFER) {
                                     interaction::Status newState;
                                     if (msgState == MessageStates::SENDING) {
                                         newState = interaction::Status::SENDING;
@@ -3506,6 +3506,9 @@ ConversationModelPimpl::updateInteractionStatus(const QString& accountId,
                                         && newState == interaction::Status::DISPLAYED) {
                                         emitDisplayed = true;
                                     }
+                                } else if (msgState == MessageStates::DISPLAYED) {
+                                    emitDisplayed = true; // Status for file transfer is managed otherwise,
+                                    // But at least set interaction as read
                                 }
                             });
 
-- 
GitLab