Add support for searching by Message-ID, In-Reply-To, References, or any
header with the following keywords:
- "message-id:term", "msg-id:term"
- "in-reply-to:term"
- "references:term"
- "header:title,value"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Print clickable path links when printings paths via subcommands like
print-log-path.
Part of #445 ("Add OSC8 terminal hyperlink support")
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
This release solves a clippy lint warning for code that will get
introduced in the next commit.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add an ErrorChainDisplay struct that borrows an error and prints the
list of chained errors one by one, showing relationships and metadata
for each error.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Crate regex is used by default in builds, so there's no need for an
optional libpcre2 dependency
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
NOTMUCH_ERROR_DETAILS was defined twice for macos from "unix"
target_family and target_os = "macos".
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When 401 is returned by an HTTP server, the WWW-Authenticate header must
be present. The values represent the supported Authentication schemes of
the server.
This commit detects them and reports the appropriate error to the user.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When resyncing with resync_basic and resync_condstore, we would update
the unseen and exists counts for the mailbox without inspecting if the
mailbox was loaded or not. Since a previous commit reset total not yet
seen to 0 when inserting new entries to mail totals, this would lead in
unloaded mailboxes go from having their original unseen counts to having
only the new envelopes in the total.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
This was a bad UX artifact from the very first meli versions. There's no
need to keep it around.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Split mailbox related jobs out of JobRequest enum to its own enum since
JobRequest is getting too big to be readable.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add a FromStr implementation so that we can parse a string into a format
value from other places in the code.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add a new WrapResultIntoError trait with method wrap_err() so we can
wrap a result and set its error as a source for a new error and
description, this allows for more descriptive error messages like:
Before:
let mbox_format = parse(some_string)?; <- error msg is "invalid mbox
format value, expected blah blah"
After:
let mbox_format = parse(some_string).wrap_err(|| "Could parse
configuration of account {}", account_name)?; <- error msg is "Could not
parse configuration of account myaccount, Caused by: invalid mbox format
value, expected blah blah"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>