From 7e88277abdebc3c8a345b49da67973ac111028de Mon Sep 17 00:00:00 2001 From: Jascha Date: Fri, 14 Aug 2026 14:22:12 -0700 Subject: [PATCH] Stop message progress loop when message is rejected The progress loop in handle_lxmf_message_progress upserts the message to the database every second until it reaches a terminal state, but REJECTED was missing from the stop conditions. A rejected message kept re-inserting itself forever, so deleting the conversation history had no effect and the message reappeared on page reload. --- meshchat.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meshchat.py b/meshchat.py index b3207dc..d574dda 100644 --- a/meshchat.py +++ b/meshchat.py @@ -3031,10 +3031,11 @@ class ReticulumMeshChat: has_delivered = lxmf_message.state == LXMF.LXMessage.DELIVERED has_propagated = lxmf_message.state == LXMF.LXMessage.SENT and lxmf_message.method == LXMF.LXMessage.PROPAGATED has_failed = lxmf_message.state == LXMF.LXMessage.FAILED + has_rejected = lxmf_message.state == LXMF.LXMessage.REJECTED is_cancelled = lxmf_message.state == LXMF.LXMessage.CANCELLED # check if we should stop updating - if has_delivered or has_propagated or has_failed or is_cancelled: + if has_delivered or has_propagated or has_failed or has_rejected or is_cancelled: should_update_message = False # handle an announce received from reticulum, for an audio call address