Update the unread message counter in onMessageRetracted

This commit is contained in:
Benoit Martins 2025-12-01 14:33:59 +01:00
parent 773102e4bd
commit 5492a3e3a9
2 changed files with 70 additions and 61 deletions

View file

@ -183,7 +183,8 @@ class ConversationsListViewModel: ObservableObject {
func addConversationDelegate() {
coreContext.doOnCoreQueue { core in
self.coreConversationDelegate = CoreDelegateStub(onMessagesReceived: { (core: Core, chatRoom: ChatRoom, _: [ChatMessage]) in
self.coreConversationDelegate = CoreDelegateStub(
onMessagesReceived: { (core: Core, chatRoom: ChatRoom, _: [ChatMessage]) in
if let defaultAddress = core.defaultAccount?.contactAddress,
let localAddress = chatRoom.localAddress,
defaultAddress.weakEqual(address2: localAddress) {
@ -245,7 +246,13 @@ class ConversationsListViewModel: ObservableObject {
}
}
}
})
}, onMessageRetracted: { (core: Core, chatRoom: ChatRoom, message: ChatMessage) in
let idTmp = LinphoneUtils.getChatRoomId(room: chatRoom)
let model = self.conversationsList.first(where: { $0.id == idTmp }) ?? ConversationModel(chatRoom: chatRoom)
model.getContentTextMessage(chatRoom: chatRoom)
SharedMainViewModel.shared.updateUnreadMessagesCount()
}
)
core.addDelegate(delegate: self.coreConversationDelegate!)
}
}

View file

@ -65,6 +65,8 @@ class AccountModel: ObservableObject {
self.computeNotificationsCount()
}, onChatRoomRead: { (_: Core, _: ChatRoom) in
self.computeNotificationsCount()
}, onMessageRetracted: { (_: Core, _: ChatRoom, _: ChatMessage) in
self.computeNotificationsCount()
})
core.addDelegate(delegate: coreDelegate!)