summaryrefslogtreecommitdiff
path: root/src/leap/mail/adaptors/soledad.py
AgeCommit message (Collapse)Author
2015-07-13[bug] Return the first cdoc if no body foundKali Kaneko
In the case of a message with just one non-text attachment, something has to be returned for the body payload. (For instance, a message with only one image).
2015-06-29[bug] allow mailbox to be notified of collection changesKali Kaneko
in a previous refactor, we decoupled the incoming mail service from the IMAP layer. However, this left the IMAPMailbox unable to react to changes in the underlying collection when a new message is inserted. in this commit, we add a Listener mechanism to the collection itself, so that IMAPMailbox (and any other object that uses it) can subscribe to changes on the number of messages of the collection. Resolves: #7191 Releases: 0.4.0
2015-06-29[bug] avoid KeyError on pending_insert_docs lookupKali Kaneko
in a previous commit, there was a bug inserted in which a key lookup was being made unconditionally, even when the pending_insert_docs was None. Releases: 0.4.0
2015-06-25[bug] avoid duplication of copies in draft folderKali Kaneko
Although this draft-saving feature seems to be somehow brittle, since it breaks from time to time, the causes are different and subtle on each case. This time the bug is related to having the notify_just_mdoc (or fast_notifies as I'm tempted to call it in the future for more clarity) set to True by default in the APPENDS. Fast notifies break the "save draft" functionality because what Thunderbird does is an Append of the newest message, followed by deletion of the old message and a SEARCH by Message-ID. For this we need the headers-doc to be already inserted in the store. Since the fast-notify makes a *big* difference in terms of insertion times for serialized appends, I've opted for using a heuristic for detecting if it's the case of a Draft message, using a mozilla-specific header. If this is found, we set the notify_just_mdoc unconditionally to False. We'll deal with other MUAs on its due time. Releases: 0.4.0
2015-06-25[bug] saving message to drafts folder hangsKali Kaneko
the bug consist on a fetch-while-pending-inserts hanging. the pending insert dict was not being cleaned up because the lookup for the Message-Id *is* case-sensitive (in the headers dict). by using a temporary all-keys-lowercase dict the lookup can be performed right, and the fetch returns successfully. at this point there's still a pending bug with Drafts, and it is that the new version is inserted but the MUA (TB) doesn't hide the older version (although a Delete flag is added). Resolves: #7189, #7190 Releases: 0.4.0
2015-06-22[bug] fixes for display attachments and move between folders0.4.0-alphaKali Kaneko
- Add errback handling to catch properly errors that were not allowing the complete insertion of the parts for a given message. Fixes blank attachments and moving of messages to different folders. - Force overwritting of mdoc when it is a copy. This was avoiding a message to be copied back to a folder from where it already had been copied to another (since the mdoc was already existing there, with the same doc_id, which was forbidding the creation of the new one). This case also needs special care in the indexer, since we have to delete the old hash entry first. Closes: #7178, #7158
2015-03-30[bug] fix early append notificationKali Kaneko
There's a workaround for "slow" APPENDS to an inbox, and it is that we have a flag to allow returning early when JUST the mdoc (the meta-document) has been written. However, this was givin a problem when doing a FETCH right after an APPEND (with notify_just_mdoc=True) has been done. This commit fixes it by making the FETCH command first check if there's an ongoing pending write, and queueing itself right after the write queue has been completed. This fixes the testFullAppend regression. Releases: 0.4.0
2015-03-30[bug] re-add fix for multiple headersKali Kaneko
This fix stores as multi-line headers that are repeated, and that were being discarded when storing them in a regular dict. It had been removed during the last refactor. I also store headers now as a case-insensitive dict, which solves other problems with the implementation of the twisted imap. Releases: 0.4.0
2015-02-11append/copy performance improvementKali Kaneko
2015-02-11ignore revisionconflicts on puts.Kali Kaneko
we surely already have that part.
2015-02-11implement copy interfaceKali Kaneko
2015-02-11save drafts: search by msg-idKali Kaneko
2015-02-11fix initialization of cdocsKali Kaneko
2015-02-11Fix recent/unseen notificationsKali Kaneko
2015-02-11re-add support for basic multipart messagesKali Kaneko
2015-02-11lots of little fixes after meskio's reviewKali Kaneko
mostly having to do with poor, missing or outdated documentation, naming of confusing things and reordering of code blocks for improved readability.
2015-02-11imap: complete FETCH implementationKali Kaneko
2015-02-11Complete IMAP implementation, update testsKali Kaneko
2015-02-11Use mailbox uuidsKali Kaneko
The previous implementation is naive, since it imposes a burden when renaming mailboxes. We're using uuids in the local uid tables instead, which is more cryptic but way more efficient. * receive mbox uuid instead of name * use mailbox uuid in identifiers
2015-02-11tests for mail.mail module: AccountKali Kaneko
2015-02-11tests for mail.mail module: MessageCollectionKali Kaneko
2015-02-11tests for mail.mail module: MessageKali Kaneko
2015-02-11cleanup imap implementationKali Kaneko
2015-02-11MessageCollections + MailboxIndexerKali Kaneko
2015-02-11Serializable Models + Soledad AdaptorKali Kaneko