Age | Commit message (Collapse) | Author |
|
|
|
testimap was choking on this.
|
|
ie, we got something like FETCH 1:* (FLAGS)
but not for FETCH 1:* (FLAGS INTERNALDATE)
|
|
This will need to place a configuration file with:
* userid
* uuid
* password (optional)
Use it for even faster startup times, and running under the native
twisted reactor.
|
|
* Compute the intersection set of the uids on a FETCH, so we avoid
iterating through the non-existant UIDs.
* Dispatch FLAGS query to our specialized method, that fetches all the
flags documents and return objects that only specify one subset of the
MessagePart interface, apt to render flags quickly with less queries
overhead.
* Overwrite the do_FETCH command in the imap Server to use fetch_flags.
* Use deferLater for a better dispatch of tasks in the reactor.
|
|
Since the soledad client lock gets us covered with writes now, it makes
no sense to enqueue using the messageconsumer.
The SoledadWriter is left orphaned by now. We might want to reuse it
to enqueue low priority tasks that need a strategy of retries in case
of revisionconflicts.
the MessageConsumer abstraction should also be useful for the case of
the smtp queue.
|
|
|
|
limited to HEADER Message-ID.
This is a quick workaround for avoiding duplicate saves in Drafts Folder.
but we'll get there!
|
|
We still are getting wrong output with unicode chars, but this
at least avoids breaking the fetch command.
|
|
Check by mbox + content-hash
|
|
|
|
into develop
|
|
Also use pep8 recommended raise format:
raise Exception("message")
# instead of:
raise Exception, "message"
|
|
develop
|
|
|
|
|
|
|
|
* this allows quick testing using telnet, and the use of other
less sofisticated MUAs.
|
|
* documents of only three types:
* flags
* headers
* content
* add algorithm for walking the parsed message tree.
* treat special cases like a multipart with a single part.
* modify add_msg to use the walk routine
* modify twisted interfaces to use the new storage schema.
* tests for different multipart cases
* fix multipart detection typo in the fetch
This is a merge proposal for the 0.5.0-rc3.
known bugs
----------
Some things are still know not to work well at this point
(some cases of multipart messages do not display the bodies).
IMAP server also is left in a bad internal state after a logout/login.
|
|
|
|
|
|
|
|
* it also fixes the traceback in the errorback, thanks to
chiiph, who reads documentation instead of whinning :D
* other minor documentation corrections
|
|
* Separates between flags, docs, body and attachment docs.
* Implement IMessageCopier interface: move and have fun!
This little change is known to push forward our beloved architect
emotional rollercoster.
* Message deduplication.
* It also fixes a hidden bug that was rendering the multipart mime
interface useless
(yes, the "True" parameter in the parsestr method).
* Does not handle well nested attachs, includes dirty workaround that
flattens them.
* Includes chiiph's patch for rc2:
* return deferred from addMessage
* convert StringIO types to string
* remove unneeded yields from the chain of deferreds in fetcher
|
|
...aaaand not a single fuck was given that day!
|
|
|
|
This change will allow for quicker access times, and smaller
syncs since the fields that change more often will fall in a
pretty small document. For the big raw message, we only need
to sync once.
Also, implemented multipart interface for messages.
This will need additional migration helper in --repair-mailboxes.
|
|
|
|
|
|
|
|
|
|
'refs/remotes/kali/bug/use-soledad-writer-for-updates' into develop
|
|
|
|
|
|
fetching mail (#4671).
|
|
|
|
|
|
Other fixes in the commit:
* Correct the semantic for the recent flag (reset)
* Minor unicode fixes.
* Use a field for tracking the last_uid
In general, this tries to squash all the quick and naive methods
that were relying on evaluating all the message objects before returning
a result.
Further work is still needed, planned also for 0.5 release.
get_by_index needs to be indexed too.
|
|
|
|
right now, the exceptions were visible in the stdout,
but the test was not *actually* failing.
using nose deferred decorator for this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|