summaryrefslogtreecommitdiff
path: root/mail
AgeCommit message (Collapse)Author
2014-02-25changes fileKali 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-20mail parsing performance improvementsKali Kaneko
Although the do_parse function is deferred to threads, we were actually waiting till its return to fire the callback of the deferred, and hence the "append ok" was being delayed. During massive appends, this was a tight loop contributing as much as 35 msec, of a total of 100 msec average. Several ineficiencies are addressed here: * use pycryptopp hash functions. * avoiding function calling overhead. * avoid duplicate call to message.as_string * make use of the string size caching capabilities. * avoiding the mail Parser initialization/method call completely, in favor of the module helper to get the object from string. Overall, these changes cut parsing to 50% of the initial timing by my measurements with line_profiler, YMMV.
2014-02-20ignore keyerror on deletionKali Kaneko
2014-02-20catch empty rdocKali Kaneko
2014-02-20catch stopiterationKali Kaneko
2014-02-20fix rdoc duplicationKali Kaneko
2014-02-20fix attribute error on debug lineKali Kaneko
2014-02-18catch soledad error while updating mbox docKali Kaneko
2014-02-17avoid unneeded db index updates and rdoc creationKali Kaneko
2014-02-17defer fetch-all-flags tooKali Kaneko
2014-02-17remove size calculation until we defer it to thread properlyKali Kaneko
2014-02-17cache uidvalidityKali Kaneko
2014-02-17pep8 fixes.Ivan Alejandro
2014-02-17Update keymanager kwargs, related to #5120.Ivan Alejandro
2014-02-17Remove notify_new callbacks from fetch and copy.Kali Kaneko
This fixes a bug with qtreactor that was making the 'OK foo copied' not being delivered. This or something similar will probably have to be re-added, because on the current state the destination folder will not receive the notification if it's selected *before* the copy operation has finished. But in this way we have a clean slate that is working properly. The bottleneck in the copy/append operations seems to have moved to the select operation now.
2014-02-17remove floody logKali Kaneko
2014-02-17freeze dirty/new sets to avoid changes during iterationKali Kaneko
2014-02-17defer message push to threadKali Kaneko
2014-02-17speedup mailbox selectKali Kaneko
2014-02-17profile selectKali Kaneko
2014-02-17add cProfiler instrumentationKali Kaneko
2014-02-17docstring fixesKali Kaneko
2014-02-17avoid hitting db on every selectKali Kaneko
2014-02-17remove early notification on append for nowKali Kaneko
this can be done to save some msec, but additional measures have to be taken to avoid inconsistencies with reads right after this is done. we could make those wait until a second deferred is done, for example.
2014-02-17suggest bigger threadpool to reactors that honor itKali Kaneko
2014-02-17docstring fixesKali Kaneko
2014-02-17select instead of examineKali 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-17avoid revision conflict during deletionKali 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-17defend against malformed fdocs during unset dirty/newKali Kaneko
2014-02-17defer fetch to threadKali Kaneko
also, dispatch query for all headers to its own method.
2014-02-17improve flag-docs relative internal storageKali Kaneko
2014-02-17fix several bugs in copy/storeKali Kaneko
2014-02-17fix last_uid write to avoid updates to lesser valuesKali Kaneko
2014-02-17fine grained locks for putsKali Kaneko
2014-02-17separate new and dirty queuesKali Kaneko
2014-02-17catch typeerror too in empty definitionKali Kaneko
2014-02-17make the condition optionalKali Kaneko
2014-02-17call notify in reactorKali Kaneko
2014-02-17fix repeated recent flagKali Kaneko
2014-02-17do not get last_uid from the set of soledad messagesKali Kaneko
but always from the counter instead. once assigned, the uid must never be reused, unless the uidvalidity mailbox value changes. doing otherwise will cause messages not to be shown until next session. Also, renamed get_mbox method for clarity.
2014-02-17add profile-command utilityKali Kaneko
2014-02-17defer_to_thread the bulk of write operationsKali Kaneko
and batch the notifications back to the memorystore, within the reactor thread.
2014-02-17two versions of accumulator utilKali Kaneko
2014-02-17separate better dirty/new flags; add cdocsKali Kaneko