Commit graph

250 commits

Author SHA1 Message Date
Todd Mortimer
11adcfc97b Tweak to how we handle incomplete parse. 2021-04-06 22:41:41 -04:00
Todd Mortimer
9126d3c15b Improve documentation around unhandled responses.
UnsolicitedResponse is not exhaustive, and open an issue if you find one
that isn't handled.
2021-04-06 21:54:52 -04:00
Todd Mortimer
ff39ebf58d Merge branch 'idle-responses' of github.com:mordak/rust-imap into idle-responses 2021-04-05 16:12:47 -04:00
Todd Mortimer
064c2e08dc Use drain() instead of reallocating. 2021-04-05 16:10:32 -04:00
Todd Mortimer
e1db863691 Add helper function to transform a vec of flag strings into a vec of Flags.
Also use it where we were previously iterating manually.
2021-04-05 15:59:12 -04:00
Todd Mortimer
b8bd1e4cc7 Reorder UnsolicitedResponse alphabetically so it is easier to follow. 2021-04-05 15:39:38 -04:00
Todd Mortimer
bb38142ab3 Change callback_stop to stop_on_any. 2021-04-05 15:29:56 -04:00
Todd Mortimer
bbff7d45b8 Remove deprecated wait_timeout() 2021-04-05 15:27:20 -04:00
Todd Mortimer
5e3f087007 Merge remote-tracking branch 'origin/master' into idle-responses 2021-04-05 15:23:50 -04:00
mordak
c9b7c0a3e6
Update src/extensions/idle.rs
Co-authored-by: Jon Gjengset <jon@thesquareplanet.com>
2021-04-05 07:03:06 -05:00
Todd Mortimer
35ddb48d3b Remove redundant slice.
Thanks clippy.
2021-03-28 18:19:57 -04:00
Todd Mortimer
529401a36d Implement a method to pass unilateral responses while IDLE.
While IDLE, the server sends unilateral responses to notify the client of
changes to the mailbox as they happen. Instead of always exiting the IDLE
on any change, allow the caller to pass a callback function which receives
the messages and returns an action to either Continue IDLE or Stop and exit.

For clients wishing to use the previous behaviour, a callback_stop convenience
function is provided that terminates the IDLE on any change to the mailbox.
2021-03-28 15:27:39 -04:00
Todd Mortimer
d0e61c73e9 Appease clippy. 2021-03-20 14:26:52 -04:00
Todd Mortimer
ec835d67e4 Rename handle_unilateral to try_handle_unilateral.
More accurately conveys that the function might not actually handle it.
2021-03-20 14:21:13 -04:00
Jon Gjengset
fa30a90827
Handle other MailboxDatum 2021-03-14 11:02:03 -07:00
Jon Gjengset
7860b14088 Revert "Release first 3.0.0 alpha"
This reverts commit 8490407d2e.
2021-03-06 15:35:00 -08:00
Jon Gjengset
8490407d2e Release first 3.0.0 alpha 2021-03-06 15:34:42 -08:00
Jon Gjengset
5b8e461eb6 Future-proof Flag for more variants 2021-03-06 15:30:23 -08:00
Jon Gjengset
6e19d3a6d9 Note looking for maintainers 2021-03-06 15:08:14 -08:00
Jon Gjengset
18ca65dd3f Expose mailbox read-only flag 2021-03-06 15:02:48 -08:00
Jon Gjengset
9b78550394 Adopt latest imap_proto and expose error status codes 2021-03-06 14:53:14 -08:00
Jon Gjengset
d543993062 Fix CI link 2021-03-06 10:56:33 -08:00
Jon Gjengset
abf820bfb9 Much better metadata docs 2021-03-06 10:54:22 -08:00
Jon Gjengset
6fbbcb88f3 Fix up metadata depth enum 2021-03-06 09:51:18 -08:00
Jon Gjengset
9a24ca4125 Fix compile with newer imap_proto 2021-03-06 09:48:11 -08:00
Jon Gjengset
3cf13d2260 cargo fmt 2021-03-06 09:44:56 -08:00
Jon Gjengset
a466e947bd
Merge branch 'master' into metadata-merge 2021-03-06 12:43:43 -05:00
Jon Gjengset
137f3de14f
Merge branch 'master' into mod_seq_vanished 2021-03-06 12:40:30 -05:00
Jon Gjengset
0a2f7407f2
Merge pull request #175 from mblarsen/refactor/squash-append-cmd
refactor: squash append command
2021-03-06 12:39:29 -05:00
Jon Gjengset
6935c51b2b
Merge branch 'master' into more-unilaterals 2021-03-06 12:37:52 -05:00
Milo Mirate
9b6ff70e3b
Avoid trying to FETCH an empty set of messages (#177)
Also, apply correct validation to FETCH arguments.
2021-01-12 23:30:38 -05:00
Michael Bøcker-Larsen
b2f2e297c2
docs: improve docs 2020-12-21 11:21:40 +08:00
Michael Bøcker-Larsen
8cd8a21008
refactor: rename run to finish 2020-12-21 11:21:22 +08:00
Michael Bøcker-Larsen
029da6fd52
refactor: move must_use to AppendCmd 2020-12-21 11:19:42 +08:00
Michael Bøcker-Larsen
19af971c9a
refactor: use extend instead of append
Co-authored-by: Jon Gjengset <jon@thesquareplanet.com>
2020-12-21 10:37:18 +08:00
Michael Bøcker-Larsen
74ef623fc5
docs: move flag + date documentation to AppendCmd 2020-12-20 13:09:57 +08:00
Michael Bøcker-Larsen
5053cfbb3e
feat: add 'flags' method to add multiple flags at once 2020-12-20 13:04:31 +08:00
Michael Bøcker-Larsen
b7bc842979
fix: correct lifetimes and types for append 2020-12-20 13:03:54 +08:00
Michael Bøcker-Larsen
e6341ccfc0
fix: pass session as &mut 2020-12-17 11:37:01 +08:00
Michael Bøcker-Larsen
cdf320fb0c
refactor: use AppendCmd instead of AppendOptions 2020-12-17 11:02:48 +08:00
Michael Bøcker-Larsen
24445c5c65
feat: add AppendCmd builder 2020-12-17 00:41:26 +08:00
Michael Bøcker-Larsen
469d338d5d
refactor: combine all append_* + introduce AppendOptions 2020-12-17 00:41:01 +08:00
Michael Bøcker-Larsen
ee56c8e42b
feat: allow setting sent date on APPEND (#174)
Fixes #60
2020-12-15 11:25:38 -05:00
Todd Mortimer
166a0cb6b3 Link to QRESYNC RFC section describing VANISHED vs EXPUNGE responses. 2020-12-06 15:49:11 -05:00
Todd Mortimer
a9788ad1e0 Add a Deleted type to wrap EXPUNGE and VANISHED responses.
EXPUNGE may return either a series of EXPUNGE responses each with
a single message sequence number, or a VANISHED response with a
sequence set of UIDs. This adds a wrapper enum and some associated
iterators to make it easy to handle these in the client.
2020-12-05 20:32:14 -05:00
Todd Mortimer
d381723deb Add non_exhaustive to Mailbox. 2020-11-14 16:52:03 -05:00
mordak
22dae40ab5
Fix typo in doc comment
Co-authored-by: Jon Gjengset <jon@thesquareplanet.com>
2020-11-14 16:45:50 -05:00
Todd Mortimer
c49e78b4d0 Update imap-proto and nom dependencies.
Add support for HIGHESTMODSEQ (RFC 4551) and VANISHED (RFC 7162),
which allows users to quickly synchronize to a mailbox by fetching
only changes since the last known highest mod sequence.
2020-11-11 11:37:33 -05:00
Todd Mortimer
b11b08954c Fix clippy manual_non_exhaustive lint. 2020-11-11 11:34:42 -05:00
Todd Mortimer
753e1b9db1 Fix trivial clippy warnings. 2020-11-11 11:25:21 -05:00