Compare commits

...

4 commits

Author SHA1 Message Date
Liam Cottle
a9f925975e
Merge pull request #177 from Cryptoteep/fix/issue-173
Fix bug where toggling transport fails if reticulum config section is missing
2026-10-07 12:14:44 +13:00
Andreev Kirill Andreevich
3190f3e5a6 Fix bug where toggling transport fails if reticulum config section is missing
Fixes #173

Signed-off-by: Andreev Kirill Andreevich <andreev.gh2017@yandex.ru>
2026-10-06 21:52:10 +03:00
Liam Cottle
df5aea94ea
Merge pull request #169 from jaschadub/meshchat-fix-rejected-message-loop
Fix rejected messages reappearing after deleting conversation history
2026-08-15 12:45:27 +12:00
Jascha
7e88277abd 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.
2026-08-14 14:22:12 -07:00

View file

@ -980,6 +980,10 @@ class ReticulumMeshChat:
@routes.post("/api/v1/reticulum/enable-transport")
async def index(request):
# ensure reticulum section exists
if "reticulum" not in self.reticulum.config:
self.reticulum.config["reticulum"] = {}
# enable transport mode
self.reticulum.config["reticulum"]["enable_transport"] = True
self.reticulum.config.write()
@ -992,6 +996,10 @@ class ReticulumMeshChat:
@routes.post("/api/v1/reticulum/disable-transport")
async def index(request):
# ensure reticulum section exists
if "reticulum" not in self.reticulum.config:
self.reticulum.config["reticulum"] = {}
# disable transport mode
self.reticulum.config["reticulum"]["enable_transport"] = False
self.reticulum.config.write()
@ -3031,10 +3039,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