From 19e94cfb6f0c4ed81c34431307ec84fad77eb1bf Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Wed, 7 Jan 2026 14:58:35 -0600 Subject: [PATCH] feat(ui): add functionality to retry all failed or cancelled messages in ConversationViewer component --- .../messages/ConversationViewer.vue | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/meshchatx/src/frontend/components/messages/ConversationViewer.vue b/meshchatx/src/frontend/components/messages/ConversationViewer.vue index 993c636..fd09aaf 100644 --- a/meshchatx/src/frontend/components/messages/ConversationViewer.vue +++ b/meshchatx/src/frontend/components/messages/ConversationViewer.vue @@ -105,6 +105,16 @@
+ + + + + cancel? retry? item.is_outbound && ["failed", "cancelled"].includes(item.lxmf_message?.state) + ); + }, }, watch: { selectedPeer: { @@ -2845,6 +2863,24 @@ export default { console.log(e); } }, + async retryAllFailedOrCancelledMessages() { + const failedItems = this.selectedPeerChatItems.filter( + (item) => item.is_outbound && ["failed", "cancelled"].includes(item.lxmf_message?.state) + ); + if (failedItems.length === 0) return; + + if ( + !(await DialogUtils.confirm( + `Are you sure you want to retry sending all ${failedItems.length} failed/cancelled messages?` + )) + ) { + return; + } + + for (const item of failedItems) { + await this.retrySendingMessage(item); + } + }, async shareLocation() { try { if (!navigator.geolocation) {