From 1b8ad3ca122878245e4cf8e3a2c09d45477c1bf0 Mon Sep 17 00:00:00 2001 From: "Alex V." <119082209+Retengart@users.noreply.github.com> Date: Sat, 7 Feb 2026 16:51:30 +0300 Subject: [PATCH] fix: handle turn_credentials exceptions in metadata proxy ConnectionRefusedError/FileNotFoundError/TimeoutError from turn_credentials() would kill the dict proxy connection. Return N (not found) response instead and log the error. --- chatmaild/src/chatmaild/metadata.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chatmaild/src/chatmaild/metadata.py b/chatmaild/src/chatmaild/metadata.py index df835062..7b17977d 100644 --- a/chatmaild/src/chatmaild/metadata.py +++ b/chatmaild/src/chatmaild/metadata.py @@ -101,7 +101,11 @@ class MetadataDictProxy(DictProxy): # Handle `GETMETADATA "" /shared/vendor/deltachat/irohrelay` return f"O{self.iroh_relay}\n" elif keyname == "vendor/vendor.dovecot/pvt/server/vendor/deltachat/turn": - res = turn_credentials() + try: + res = turn_credentials() + except Exception: + logging.exception("failed to get TURN credentials") + return "N\n" port = 3478 return f"O{self.turn_hostname}:{port}:{res}\n"