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>
Call text() on a RequestBody as soon as it is returned, to avoid
exceeding timeout values, according to isahc documentation.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Sometimes watch futures from backends send refresh events for mailboxes
that have not been fetched yet. That'd trigger fetching them in the
background, which is bad when the mailboxes are big and not wanted by
the user in the first place.
This commit adds a force parameter that specifies whether the loading
must be forced (e.g. when wanting to display the mailbox) or not.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
- Use .Oo/.Oc for inline Optional arguments
- Replace "thread" selection with "entry"
- Spell out alternative arguments in set seen | unseen
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>