diff --git a/meshchat.py b/meshchat.py index b3207dc..448c7a3 100644 --- a/meshchat.py +++ b/meshchat.py @@ -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