From 55e86fe3f462962a71482cd4b02efb99010d4ef3 Mon Sep 17 00:00:00 2001 From: John Winter Murphy Date: Mon, 2 Mar 2026 16:14:40 -0500 Subject: [PATCH] fix: handle None from Redis in sent_messages counter When Redis keys are missing (after FLUSHALL, restart, or for new mailboxes/domains), hget() returns None. The sent_messages property in MessageLimitMixin now treats a missing counter as zero messages sent, preventing TypeError on /api/v2/accounts/ and /api/v2/domains/. --- modoboa/admin/models/mixins.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modoboa/admin/models/mixins.py b/modoboa/admin/models/mixins.py index de8361f03..356de4534 100644 --- a/modoboa/admin/models/mixins.py +++ b/modoboa/admin/models/mixins.py @@ -17,7 +17,10 @@ class MessageLimitMixin: """Return number of sent messages for the current day.""" if self.message_limit is None: return None - return self.message_limit - get_message_counter(self.message_counter_key) + counter = get_message_counter(self.message_counter_key) + if counter is None: + return 0 + return self.message_limit - counter @property def sent_messages_in_percent(self) -> Optional[int]: # noqa