From 84ec09173c0411a0709d0cb72d58859dffa7fe18 Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Wed, 17 Dec 2025 16:20:36 +0100 Subject: [PATCH] Display message when a ChatMessage is queued --- Linphone/GeneratedGit.swift | 2 +- .../ViewModel/ConversationViewModel.swift | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Linphone/GeneratedGit.swift b/Linphone/GeneratedGit.swift index ed242d1f0..32f44b0e7 100644 --- a/Linphone/GeneratedGit.swift +++ b/Linphone/GeneratedGit.swift @@ -2,6 +2,6 @@ import Foundation public enum AppGitInfo { public static let branch = "master" - public static let commit = "d4b10d38a" + public static let commit = "4cd63b53b" public static let tag = "6.1.0-alpha" } diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift index 3cdff87f6..3ae1f442d 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift @@ -366,6 +366,13 @@ class ConversationViewModel: ObservableObject { self.coreContext.doOnCoreQueue { _ in let chatMessageDelegate = ChatMessageDelegateStub(onMsgStateChanged: { (message: ChatMessage, msgState: ChatMessage.State) in + if msgState == .Queued || msgState == .PendingDelivery { + if let eventLog = message.eventLog { + self.getNewMessages(eventLogs: [eventLog]) + } + return + } + var statusTmp: Message.Status? switch message.state { case .InProgress: @@ -537,6 +544,8 @@ class ConversationViewModel: ObservableObject { } }) + self.chatMessageDelegateHolders.removeAll() + self.chatMessageDelegateHolders.append(ChatMessageDelegateHolder(message: message, delegate: chatMessageDelegate)) } } @@ -2181,9 +2190,12 @@ class ConversationViewModel: ObservableObject { } } - if message != nil && !message!.contents.isEmpty { + if let message = message , !message.contents.isEmpty { Log.info("[ConversationViewModel] Sending message") - message!.send() + + self.addChatMessageDelegate(message: message) + message.send() + self.sharedMainViewModel.displayedConversation!.chatRoom.stopComposing() }