Closed bitfehler closed 1 year ago
Oh, and I can of course add tests once we agree on the rest :wink:
Merging #249 (247e36b) into main (64e7b4a) will increase coverage by
0.2%
. The diff coverage is88.0%
.
@jonhoo gentle ping :innocent: would be great to know if you have any opinions?
This looks entirely reasonable to me (subject to tests being added)! I'm a little surprised to see Option<Mailbox>
, but I guess the server can just choose to not include any mailbox info in there?
I forget why Mailbox
has some non-Option
fields. I thought I made it accurately mirror what the spec said were required fields, but may have mis-parsed? I think we should leave it as-is for this PR though!
I'm a little surprised to see
Option<Mailbox>
, but I guess the server can just choose to not include any mailbox info in there?
The RFC is a bit weird. It says the server MUST include that information, but goes on to explicitly specify that in certain error situations the server may omit it. I've never seen that happen, but you never know...
I updated the documentation a bit and added some tests, including an integration test. I think the coverage should be quite good, but for some reason the coverage runner seems to have problems uploading the report? :thinking:
Note: I also added a commit that changes the annotation for the qresync integration test from #[ignore]
to #[cfg(feature = "test-full-imap")]
. I wrote that test, and it works fine against e.g. Cyrus. But I think that feature did not exist back then? Anyways, seemed like the right thing to do while I was touching that file.
Not sure why the CI step is being sad. I wonder if it just needs a re-run..
Sorry for the double update, just now saw that you fixed the coverage upload on main.
Hmm, it looks like now none of the CI steps ran :thinking:
Can you try rebasing onto main
and force-pushing?
Released in alpha.10 :tada:
See https://tools.ietf.org/html/rfc5819
Hi there. I would love to add support for RFC 5819. It is extremely valuable for clients to perform a full mailbox sync with as little requests as possible. This patch is not yet well-documented, but I wanted to get some feedback early on, specifically on the following:
extensions
folder. I think it makes sense there, but it could of course be done differently, potentially even merged with the regularLIST
command, though I think that would make the API a little awkward.Names
data structure. I hope the nameExtendedNames
makes sense, as this version ofLIST
is usually referred to as "extended LIST".(Name, Option<Mailbox>)
, because I think that most accurately reflects what is happening. A case could be made of course for abstracting that away, so let me know what you think.Mailbox
type as response to aSTATUS
command is actually a little confusing. It has non-Option<>
-members that might not be returned by aSTATUS
command. However, I felt that for now just mirroringSTATUS
responses is the right thing to do. If you think this might be something worth changing while we are about to break the API anyways, let me know - I'm happy to take a stab.And of course whatever else catches your eye :slightly_smiling_face:
This change is