summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/changes/bug_fix-empty-flags1
-rw-r--r--mail/changes/bug_fix-iteration-empty-mailbox1
-rw-r--r--mail/src/leap/mail/imap/server.py11
3 files changed, 10 insertions, 3 deletions
diff --git a/mail/changes/bug_fix-empty-flags b/mail/changes/bug_fix-empty-flags
new file mode 100644
index 00000000..a109ef56
--- /dev/null
+++ b/mail/changes/bug_fix-empty-flags
@@ -0,0 +1 @@
+ o Fix a bug when adding a message with empty flags. Closes: #4496
diff --git a/mail/changes/bug_fix-iteration-empty-mailbox b/mail/changes/bug_fix-iteration-empty-mailbox
new file mode 100644
index 00000000..11dd770c
--- /dev/null
+++ b/mail/changes/bug_fix-iteration-empty-mailbox
@@ -0,0 +1 @@
+ o Allow to iterate in an empty mailbox during fetch. Closes: #4603
diff --git a/mail/src/leap/mail/imap/server.py b/mail/src/leap/mail/imap/server.py
index bb2830d9..733944c6 100644
--- a/mail/src/leap/mail/imap/server.py
+++ b/mail/src/leap/mail/imap/server.py
@@ -1438,12 +1438,14 @@ class SoledadMailbox(WithMsgFields):
"""
# XXX we should treat the message as an IMessage from here
uid_next = self.getUIDNext()
- flags = tuple(str(flag) for flag in flags)
+ if flags is None:
+ flags = tuple()
+ else:
+ flags = tuple(str(flag) for flag in flags)
self.messages.add_msg(message, flags=flags, date=date,
uid=uid_next)
- # XXX recent should not include deleted...??
exists = len(self.messages)
recent = len(self.messages.get_recent())
for listener in self.listeners:
@@ -1512,7 +1514,10 @@ class SoledadMailbox(WithMsgFields):
except TypeError:
# looks like we cannot iterate
last = self.messages.get_last()
- uid_last = last.getUID()
+ if last is None:
+ uid_last = 1
+ else:
+ uid_last = last.getUID()
messages.last = uid_last
# for sequence numbers (uid = 0)