-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CONDSTORE #439
base: main
Are you sure you want to change the base?
CONDSTORE #439
Conversation
Pull Request Test Coverage Report for Build 7827660241
💛 - Coveralls |
2d59de0
to
6e06571
Compare
6e06571
to
346293e
Compare
It appears that { pkgs ? import <nixpkgs> {} }:
let
fenix = import (fetchTarball "https://github.com/nix-community/fenix/archive/main.tar.gz") { };
in
pkgs.mkShell {
# nativeBuildInputs is usually what you want -- tools you need to run
nativeBuildInputs = with pkgs.buildPackages; [
fenix.complete.toolchain
];
} So now formatting should pass hopefully. |
It should generally only be
Do you think it would be beneficial to add this file to the repository? I'm open to anything that could improve the life of our contributors :-) Maybe we should add a snippet in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Quentin, your PR looks great! I have only one question so far regarding the RFC...
@@ -45,6 +45,8 @@ | |||
//! C: Pa²²W0rD | |||
//! ``` | |||
|
|||
#[cfg(feature = "ext_condstore_qresync")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏻
#[cfg(feature = "ext_condstore_qresync")] | ||
Code::Modified(seq_or_uid_list) => { | ||
ctx.write_all(b"MODIFIED ")?; | ||
join_serializable(seq_or_uid_list.as_ref(), b",", ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, I stopped for a moment ...
The RFC tells ...
resp-text-code =/ "HIGHESTMODSEQ" SP mod-sequence-value /
"NOMODSEQ" /
"MODIFIED" SP set
... w/o saying what set
is. Do you have more information on that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm... so I guess it should be SequenceSet
instead of Vec1<...>
.
Yeah... RFC 7162 has sequence-set
. You can use the type and sequence_set
parser. Should be a simple change :-)
Progress
About this first commit
Hey Damian, I am trying to implement in a clean way condstore for imap-codec. I wanted to start with a scope as small as possible, that's why I have a commit adding support only for the status codes used by condstore. I propose you review this commit in depth, pinpoint all the problems with your conventions/standard, so I can backport the rest in a proper way?
Some questions
As for now, I am validating my code with:
Is it ok? Is it normal that I have warnings when running
cargo fmt
? Do you know why theimap-types/src/core.rs
file has been impacted by mycargo fmt
despite the fact that I have not edited it?Also, another question: I created a
mod_sequence_value
parser that use yournumber64
parser. I did not name itnz_number64
despite the same logic for NonZeroU32 being namenz_number
as it seems you want to follow the ABNF grammar, and in the grammar, it's calledmod-sequence-value
. Am I correct?Also, you said at FOSDEM '24 that often examples given in the RFC are wrong. It appears that
HIGHESTMODSEQ
is given without a text following the code. Reading your code let me guess that's wrong. For example:Dovecot correctly adds the text
Highest
after the code:I don't know if it qualifies for your IMAP defects repository.
Also feel free to edit this pull request directly if needed.