Previously only mailboxes specified in the configuration were fetched.
Now, all groups returned by `LIST ACTIVE` are examined with the
`is_subscribed` function.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Despite having the IsSubscribedFn struct wrapper for closures that check
if a mailbox is subscribed or not, backend methods were still using
Box<dyn Fn(... types. Switch to using the wrapper newtype everywhere.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add infrastructure for custom logic migration support between versions,
allowing breaking changes in for example configuration to be handled by
the application instead of the user.
The current version will be stored in ${XDG_DATA_HOME}/meli/.version
If at launch the versions do not match, the application will examine
whether there are any migrations in the range
previous_version..=current_version, and if they are applicable to the
user's case, it will ask the user to perform them interactively.
Support for reverting migrations is also added.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
gpgme's sign and encrypt API doesn't seem to work properly; it only
encrypts for some reason. Do it manually which according to RFC 3156 -
MIME Security with OpenPGP is to sign first then encrypt the whole
thing.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When replying to an e-mail, pass the filtered e-mail text to the
composer. This way, processed text like decrypted PGP e-mail is shown in
the reply context of a reply as the user expects.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Prevent large header values (e.g. big list of recipients in To/Cc) take
big part of the view. Allow the full value to be visible when the
`expand_headers` option is toggled on.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Commit 8f0e1d6640 added human-readable
identifiers in temp draft files but neglected to handle cases where
those identifiers were too darn long.
Fixes: 8f0e1d664 ("Add human-readable identifiers in temp draft files")
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Allow patches to be retrieved from sources like lore.kernel.org or other
public-inbox instances.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
It's unnecessary and makes it difficult for an API consumer to turn a
backend back to its original type.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When returning MailBackendCapabilities for an Nntp backend, interpret
the IMPLEMENTATION capability as server metadata.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
JobFinished events were sent from account job handlers, but that means
the events would never be generated when using meli without accounts
e.g. with the `view` subcommand.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Allows the user to set the default thread layout and takes the values
"auto" | "vertical" | "horizontal". The layout can always be changed at
runtime with the `listing.toggle_layout` shortcut.
Closes#484
Resolves: <https://git.meli-email.org/meli/meli/issues/484>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
`mail_view_divider` was only drawn in the path where the sidebar was
visible.
Concerns #483
Fixes: 719e2eb271 ("listing: add customizable view divider like sidebar's")
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Svg feature was meant for taking SVG screenshots for the readme/website.
There's no real need to ship it, considering a lot of distros enable all
features by default.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>