…o get IMAP protocol logging. r=asuth Updating our email.js libraries upstream fixes from: https://github.com/whiteout-io/browserbox https://github.com/whiteout-io/imap-handler I have reviewed the changes we are taking and validated that there are no additional dependency libs that need to be updated.
…eck only on folder type
Multipart bodies with N parts that we are interested in where the first N-1 body parts are sufficient to push us over our byte limit will result in us creating and leaking allback latches for the succeeding parts. This is corrected by not creating the latch until we're sure we're going to try and process the part. This includes a fix and added test coverage in test_imap_parallelfetch that fails without the fix. I chose the specific test because it is specifically a test of the snippet logic and intentionally tries to do things in parallel. As such, it's the best place to also try and force a hang due to weird concurrency. (The other place I was considering to put the test was test_mime which also has various MIME hierarchy permutations and snippet-checking logic. However, test_mime is more concerned about the correctness of consuming the various structures rather than the mechanics of how we go about fetching things from the server.)
Comments in the commit have more detail, but basically it was possible for us to union non-overlapping ranges resulting from two difference sync passes, resulting in mistaken deletion.
…cing. We: - Assume that IMAP SEARCH means "return *approximately* the messages in this range, more or less". - If we don't see a message we hoped to see during the SEARCH, we note that it was "missing", but don't delete it. - As we continue syncing, if we still didn't see the message (within a day or so of its date), we delete it. - Remove the timezone offset from account probing and everywhere else, as we don't have to be as neurotic about that as we used to.
In bug 1094632 local draft will not have proper header indicates there's attachment inside the draft. This patch fixes it and add unit test on it.
…ers in the Email Search field causes text overlap with erroneous search results
We were messing with the unread count even if a \Seen modification turned out to be a no-op. Which is very wrong. So this patch: - Has us not mess with the count in the no-op cases - Adds logic to cause us to skip the "server" op if it ends up everything in the job was a no-op. This provides a slight slight improvement in undo semantics but does not fix the known bug on that. - Adds test cases for these unread cases. - Bumps the folder DB version to force us to recompute the unread count.
This is an adopted/cleaned up patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1055445#c6 with review changes made.
This is primarily to land my patch (that is r=andris9 in upstream): whiteout-io/mimefuncs#10 But this also gets us the contents of the mimefuncs PR 9 which included improved TextDecoder fallback logic. r=asuth on us taking those changes.
…pport, such as all CoreMail servers (ex: 126.com, 163.com). r=mcav We: - Have the test variants imply specific fake-server configurations so that we can easily have all the IMAP tests run under a variety of fake-server configurations. - Make the move operation fall back to using message sequence numbers instead of the UID while trying to find out the new message's UID. This is the same thing we do for the IMAP prober which was the other place we had a UIDNEXT problem. Testing-wise: - I verified the test_mutation tests fail without the fix when using the nouidnext fake-server variant. - I changed the existing tests that used the imapExtensions mechanism as part of their test to instead use the new test variants. To make sure I didn't screw this up, I had the 2 existing tests add a check to ensure they were seeing the expected imapExtensions. Note that at least the prober test has other safe-guards to ensure the right path is used, since I did in fact make a refactoring dumb mistake and this wasn't entirely working to begin with!
…whose addresses are separated by semicolon, the email can’t be sent successfully. r=andris9 Land whiteout-io/addressparser#5 using the merge commit. Tests are in upstream.