Age | Commit message (Collapse) | Author |
|
|
|
using the new soledad plugin capablity, mail hooks to the post-sync
event by subscribing to the Meta-Doc type of documents. In this way, we
can create the uid tables and the uid entries needed to keep local
indexes for mail that has been processed in another instance.
however, this won't prevent a conflict if a given mail is received and
processed in two different instances. that is a problem that we still
have to deal with.
Resolves: #6996
Releases: 0.4.0
|
|
- Related: #6359
|
|
Current twisted implementation correctly parses partial fetches using
substrings by use of angle brackets (see section 6.4.5 of imap rfc), but
no use is made of the requested substring in the spew_body method.
this commit minimally implements conformance to the substring request,
although further boundary checks should be made (ie, checking whether
the starting octet is beyond the end of the text).
Resolves: #6841
Releases: 0.4.0
|
|
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
|
|
This also fixes a bug in which INBOX wasn't being given a creation
timestamp, and therefore always being identified with the same
UIDVALIDITY = 1, which could be confusing MUAs since this value should
be unique, and it's relied on to uniquely identifying a given message.
Releases: 0.4.0
|
|
just in case
Releases: 0.4.0
|
|
Until we implement sequences, this avoids breaking with certain MUAs
like mutt.
Releases: 0.4.0
|
|
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
|
|
By removing this call to lower(), we avoid a bug in which the
BODYSTRUCTURE response returns a boundary all in lower case.
Should send patch upstream to twisted.
Related: #6773
|
|
Thunderbird (as of 37.0b1) will display a blank body (with no
attachments) if some conditions are met:
* disk synchronization is disabled
* mime_part_on_demand = true
* msg size is bigger than the parts_on_demand threshold (30000 by
default).
Comparing the logs with a well behaved imap server (dovecot, on this
case), it's easy to see that twisted implementation is lacking an extra
line separator at the end of each group of headers that is rendered in
response to each of the `BODY.PEEK[X.MIME]` command that the
mime_parts_on_demand will issue after getting the BODYSTRUCTURE.
This change patches the spew_body command on the body server.
We still would have to see if this is a bad behaviour in the thunderbird
side. The most similar bug I've found is:
https://bugzilla.mozilla.org/show_bug.cgi?id=149771
Which apparently was happening with exchange server.
We should send the patch to upstream twisted as well.
Note that this fix is not enough: the following commit, about fixing the
case of the boundary passed in the BODYSTRUCTURE response is also needed
to fix the bug (since a bad parsing happens all the same).
Resolves: #6773, #5010
Documentation: #6773
Releases: 0.4.0
|
|
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
|
|
We're raising the exception now, not a Failure.
Releases: 0.9.0
|
|
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
|
|
|
|
it is interpreted as "tags" otherwise.
|
|
* Set the internal date from within the incoming mail service.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mostly having to do with poor, missing or outdated documentation,
naming of confusing things and reordering of code blocks for improved
readability.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|