summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-03-17Merge remote-tracking branch 'refs/remotes/kali/feature/keepprocessing' into ↵Tomás Touceda
develop
2014-03-10keep processing after decoding errors during fetchKali Kaneko
2014-03-05Merge remote-tracking branch 'refs/remotes/kali/bug/inc-recursion-limit' ↵Tomás Touceda
into develop
2014-03-05workaround attempt for the recursionlimit bug with qtreactor.Kali Kaneko
Increasing the recursion limit by an order of magnitude here seems to allow a fetch of a mailbox with 500 mails. See #5196 for discussion of alternatives.
2014-02-27Merge remote-tracking branch 'refs/remotes/kali/feature/literal_plus' into ↵Tomás Touceda
develop
2014-02-27rename all fdocs when folder is renamedKali Kaneko
2014-02-26Implement non-synchronizing literals (rfc2088) Closes: #5190Kali Kaneko
This also paves the way to MULTIAPPEND IMAP Extension (rfc3502) Related to: Feature #5182
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-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