summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/mailbox.py
AgeCommit message (Collapse)Author
2015-07-21Fixed all the pep8 warnings in the codeBruno Wagner
2015-07-13[feature] add very basic support for message sequence numbersKali Kaneko
this is just the bare minimum implementation of MSN (message sequence numbers). It is not enough feature-wise, but I'm doing it now just to support testing with the default imap client that we're using with the regression tests.
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-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[feature] make deferred list error-tolerantKali Kaneko
just in case Releases: 0.4.0
2015-03-30[bug] temporary workaround to allow display on some muasKali Kaneko
Until we implement sequences, this avoids breaking with certain MUAs like mutt. Releases: 0.4.0
2015-03-03[bug] Fix testExpunge testsKali Kaneko
this test was failing randomly because we were returning the deferred before all the documents were saved into soledad store. changed also the delete_msg deferred chaining for better readability. Releases: 0.9.0
2015-03-03[refactor] remove dead code in IMAP implementationKali Kaneko
while updating the tests, I found that IMAPMessageCollection was not actually being used: all the work is done in IMAPMailbox, using directly the MessageCollection instance. So, this extra level of abstraction was finally not used. Releases: 0.9.0
2015-03-03pass date explicitely, fix partial_append testKali Kaneko
it is interpreted as "tags" otherwise.
2015-02-25undo duplication of add_msg method in mail apiKali Kaneko
* Set the internal date from within the incoming mail service.
2015-02-24move notifications cb to mail moduleKali Kaneko
2015-02-20fix typo on method nameKali Kaneko
2015-02-20fix broken multipart attachment renderingKali Kaneko
2015-02-18Use MessageCollection instead of IMAPMailbox in IncomingMailRuben Pollan
2015-02-11append/copy performance improvementKali Kaneko
2015-02-11implement copy interfaceKali Kaneko
2015-02-11rename lingering , that is ambiguousKali Kaneko
2015-02-11save drafts: search by msg-idKali 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: implement setting of message flagsKali Kaneko
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-11cleanup imap implementationKali Kaneko
2015-02-11Serializable Models + Soledad AdaptorKali Kaneko
2015-02-11adapt to soledad 0.7 async APIKali Kaneko
2014-09-09add commentKali Kaneko
2014-09-03fix and migrate tests to trialKali Kaneko
We cannot use setUpClass when running tests with trial. But, after all, it's not *so* expensive to initialize a new soledad instance (since we'll be mostly using the memstore for the tests).
2014-03-26fix wrong object being passed in the messageSaved callbackKali Kaneko
this was the result of a bad merge during the last fetch refactor.
2014-02-27rename all fdocs when folder is renamedKali Kaneko
2014-02-25fix unread notification to UIKali Kaneko
2014-02-25Workaround for broken notify-after-copyKali Kaneko
2014-02-20Fix regression on "duplicate drafts" issue.Kali Kaneko
Not a permanent solution, but it looks for fdoc matching a given msgid to avoid duplication of drafts in thunderbird folders.
2014-02-20fix rdoc duplicationKali Kaneko
2014-02-17avoid unneeded db index updates and rdoc creationKali Kaneko
2014-02-17defer fetch-all-flags tooKali Kaneko
2014-02-17cache uidvalidityKali Kaneko
2014-02-17speedup mailbox selectKali Kaneko
2014-02-17docstring fixesKali Kaneko
2014-02-17remove all refs during removal, and protect from empty docsKali Kaneko
2014-02-17move mbox-doc handling to soledadstore, and lock itKali Kaneko
2014-02-17purge empty fdocs on selectKali Kaneko
2014-02-17defer appends tooKali Kaneko
and cut some more time by firing the callback as soon as we've got an UID.
2014-02-17defer fetch to threadKali Kaneko
also, dispatch query for all headers to its own method.
2014-02-17fix repeated recent flagKali Kaneko