diff --git a/chatmaild/src/chatmaild/dictproxy.py b/chatmaild/src/chatmaild/dictproxy.py index f1299eb9..aa4ef9d1 100644 --- a/chatmaild/src/chatmaild/dictproxy.py +++ b/chatmaild/src/chatmaild/dictproxy.py @@ -20,6 +20,7 @@ class DictProxy: def handle_dovecot_request(self, msg): # see https://doc.dovecot.org/developer_manual/design/dict_protocol/#dovecot-dict-protocol + print(f"handling msg: {msg!r}") short_command = msg[0] parts = msg[1:].split("\t") diff --git a/chatmaild/src/chatmaild/metadata.py b/chatmaild/src/chatmaild/metadata.py index 5d886cb8..087a6765 100644 --- a/chatmaild/src/chatmaild/metadata.py +++ b/chatmaild/src/chatmaild/metadata.py @@ -74,7 +74,13 @@ class MetadataDictProxy(DictProxy): self.notifier.new_message_for_addr(addr, self.metadata) else: # Transaction failed. - self.transactions[transaction_id]["res"] = "F\n" + try: + self.transactions[transaction_id]["res"] = "F\n" + except KeyError: + logging.error( + f"clearing transaction failed: {transaction_id} {self.transactions}" + ) + raise def main():