From 108df56148746e8a8a004fa94cdea6847e387173 Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Thu, 11 Sep 2025 17:50:30 +0200 Subject: [PATCH] Fix onEphemeralMessageTimerStarted callback --- .../ViewModel/ConversationViewModel.swift | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift index 3557d8225..f10417f51 100644 --- a/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift +++ b/Linphone/UI/Main/Conversations/ViewModel/ConversationViewModel.swift @@ -378,12 +378,15 @@ class ConversationViewModel: ObservableObject { } } }, onEphemeralMessageTimerStarted: { (message: ChatMessage) in - let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: {$0.eventModel.eventLogId == message.messageId}) - let ephemeralExpireTimeTmp = message.ephemeralExpireTime - - DispatchQueue.main.async { - if indexMessage != nil { - self.conversationMessagesSection[0].rows[indexMessage!].message.ephemeralExpireTime = ephemeralExpireTimeTmp + if !self.conversationMessagesSection.isEmpty, + !self.conversationMessagesSection[0].rows.isEmpty, + let indexMessage = self.conversationMessagesSection[0].rows.firstIndex(where: { $0.eventModel.eventLogId == message.messageId }), + indexMessage < self.conversationMessagesSection[0].rows.count { + + let ephemeralExpireTimeTmp = message.ephemeralExpireTime + + DispatchQueue.main.async { + self.conversationMessagesSection[0].rows[indexMessage].message.ephemeralExpireTime = ephemeralExpireTimeTmp } } })