Compare commits
2 Commits
9d51b6bd52
...
7c33f8999b
Author | SHA1 | Date |
---|---|---|
Damian Poddebniak | 7c33f8999b | |
Damian Poddebniak | 34a54d3c05 |
|
@ -932,8 +932,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "imap-codec"
|
||||
version = "1.0.0-dev"
|
||||
source = "git+https://github.com/duesee/imap-codec?rev=2c5c1cafc3b342714273ea506447157fee2bc8d1#2c5c1cafc3b342714273ea506447157fee2bc8d1"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c0f449c37f0e9bc930b442ce83126bea3563c4487758ce2e47bb76be3773650"
|
||||
dependencies = [
|
||||
"abnf-core",
|
||||
"base64 0.21.2",
|
||||
|
@ -946,8 +947,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "imap-types"
|
||||
version = "1.0.0-dev"
|
||||
source = "git+https://github.com/duesee/imap-codec?rev=2c5c1cafc3b342714273ea506447157fee2bc8d1#2c5c1cafc3b342714273ea506447157fee2bc8d1"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b6eba9dbc66f3d8998674d0d502b24ef9f9cb905b10682ae57fd28925898293"
|
||||
dependencies = [
|
||||
"base64 0.21.2",
|
||||
"chrono",
|
||||
|
@ -1744,9 +1746,21 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.8.4"
|
||||
version = "1.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
|
||||
checksum = "89089e897c013b3deb627116ae56a6955a72b8bed395c9526af31c9fe528b484"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa250384981ea14565685dea16a9ccc4d1c541a13f82b9c168572264d1df8c56"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
|
@ -1755,9 +1769,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
|
||||
checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
|
||||
|
||||
[[package]]
|
||||
name = "ring"
|
||||
|
@ -1911,9 +1925,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.99"
|
||||
version = "1.0.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
|
||||
checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
|
@ -2134,18 +2148,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.40"
|
||||
version = "1.0.41"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
|
||||
checksum = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.40"
|
||||
version = "1.0.41"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
|
||||
checksum = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
|
@ -53,9 +53,7 @@ xdg = "2.1.0"
|
|||
xdg-utils = "^0.4.0"
|
||||
|
||||
[dependencies.imap-codec]
|
||||
# TODO(#222): Replace `git` and `rev` with `version`.
|
||||
git = "https://github.com/duesee/imap-codec"
|
||||
rev = "2c5c1cafc3b342714273ea506447157fee2bc8d1"
|
||||
version = "0.10.0"
|
||||
features = [
|
||||
"ext_condstore_qresync",
|
||||
"ext_enable",
|
||||
|
|
|
@ -1403,6 +1403,7 @@ impl ImapType {
|
|||
.iter()
|
||||
.any(|cap| cap.eq_ignore_ascii_case(b"LIST-STATUS"));
|
||||
if has_list_status {
|
||||
// TODO(#222): imap-codec does not support "LIST Command Extensions" currently.
|
||||
conn.send_command_raw(b"LIST \"\" \"*\" RETURN (STATUS (MESSAGES UNSEEN))")
|
||||
.await?;
|
||||
conn.read_response(
|
||||
|
|
|
@ -423,6 +423,7 @@ impl ImapConnection {
|
|||
// "SEARCH MODSEQ <cached-value>".
|
||||
|
||||
// 2. tag1 UID FETCH <lastseenuid+1>:* <descriptors>
|
||||
// TODO(#222): imap-codec does not support "CONDSTORE/QRESYNC" currently.
|
||||
self.send_command_raw(
|
||||
format!(
|
||||
"UID FETCH {}:* (UID FLAGS ENVELOPE BODY.PEEK[HEADER.FIELDS (REFERENCES)] \
|
||||
|
@ -518,6 +519,7 @@ impl ImapConnection {
|
|||
mailbox_exists.lock().unwrap().insert_set(payload_hash_set);
|
||||
// 3. tag2 UID FETCH 1:<lastseenuid> FLAGS
|
||||
if cached_max_uid == 0 {
|
||||
// TODO(#222): imap-codec does not support "CONDSTORE/QRESYNC" currently.
|
||||
self.send_command_raw(
|
||||
format!(
|
||||
"UID FETCH 1:* FLAGS (CHANGEDSINCE {})",
|
||||
|
@ -527,6 +529,7 @@ impl ImapConnection {
|
|||
)
|
||||
.await?;
|
||||
} else {
|
||||
// TODO(#222): imap-codec does not support "CONDSTORE/QRESYNC" currently.
|
||||
self.send_command_raw(
|
||||
format!(
|
||||
"UID FETCH 1:{} FLAGS (CHANGEDSINCE {})",
|
||||
|
|
|
@ -261,6 +261,7 @@ pub async fn examine_updates(
|
|||
.iter()
|
||||
.any(|cap| cap.eq_ignore_ascii_case(b"LIST-STATUS"));
|
||||
if has_list_status {
|
||||
// TODO(#222): imap-codec does not support "LIST Command Extensions" currently.
|
||||
conn.send_command_raw(
|
||||
format!(
|
||||
"LIST \"{}\" \"\" RETURN (STATUS (MESSAGES UNSEEN))",
|
||||
|
|
Loading…
Reference in New Issue