Add message resend feature

This commit is contained in:
Benoit Martins 2025-07-15 12:15:57 +02:00
parent 67041c20f8
commit 707f8aa3b9
2 changed files with 32 additions and 0 deletions

View file

@ -1021,6 +1021,28 @@ struct ConversationFragment: View {
}
VStack {
if conversationViewModel.selectedMessage!.message.status == .error {
Button {
conversationViewModel.resendMessage(chatMessage: conversationViewModel.selectedMessage!)
conversationViewModel.selectedMessage = nil
} label: {
HStack {
Text("menu_resend_chat_message")
.default_text_style(styleSize: 15)
Spacer()
Image("paper-plane-tilt")
.resizable()
.frame(width: 20, height: 20, alignment: .leading)
.rotationEffect(.degrees(45))
}
.padding(.vertical, 5)
.padding(.horizontal, 20)
}
Divider()
}
if !(CoreContext.shared.imdnToEverybodyThreshold && !conversationViewModel.selectedMessage!.message.isOutgoing) {
Button {
conversationViewModel.selectedMessageToDisplayDetails = conversationViewModel.selectedMessage

View file

@ -1558,6 +1558,16 @@ class ConversationViewModel: ObservableObject {
}
}
func resendMessage(chatMessage: EventLogMessage) {
coreContext.doOnCoreQueue { _ in
if let message = chatMessage.eventModel.eventLog.chatMessage {
if message.state == .NotDelivered {
message.send()
}
}
}
}
func scrollToMessage(message: Message) {
coreContext.doOnCoreQueue { _ in
if message.replyMessage != nil {