Manos Pitsidianakis
91557c2c43
mail/listing.rs: prevent list blank when refreshing account
...
Mail list would go blank if the currently focused account received a
Status update event.
2023-05-16 19:48:48 +03:00
Manos Pitsidianakis
428f752b20
Remove obsolete crate::components::mail::get_display_name()
2023-05-16 19:22:13 +03:00
Manos Pitsidianakis
8c671935f9
Add compose (pre-submission) hooks for validation/linting
...
compose-hooks run before submitting an e-mail.
They perform draft validation and/or transformations.
If a hook encounters an error or warning, it will show up as a notification.
The currently available hooks are:
- past-date-warn
Warn if Date header value is far in the past or future.
- important-header-warn
Warn if important headers (From, Date, To, Cc, Bcc) are missing or invalid.
- missing-attachment-warn
Warn if Subject, draft body mention attachments but they are missing.
- empty-draft-warn
Warn if draft has no subject and no body.
They can be disabled with [composing.disabled_compose_hooks] setting.
2023-05-16 17:31:56 +03:00
Manos Pitsidianakis
85d4316a6a
Replace old logging module with the log
create
2023-05-01 16:22:35 +03:00
Manos Pitsidianakis
b1a7188771
Clippy fixes
2023-04-30 20:47:53 +03:00
Manos Pitsidianakis
39d9c2af3b
melib/smtp: fix test smtp server logic
2023-04-26 12:08:15 +03:00
Manos Pitsidianakis
d679a74450
melib/jmap: Implement Bearer token authentication
...
Fastmail now uses an API token in a http header for authentication.
This can be used either as a server_password or provided by a
server_password_command like oauth2.
2023-04-10 20:58:49 +03:00
Manos Pitsidianakis
d9c07def0f
Add command to select charset encoding for email
...
Open dialog to select charset with `d`.
2023-04-10 11:42:50 +03:00
Manos Pitsidianakis
939dc15e28
Fix melib tests
2023-04-10 11:19:14 +03:00
Manos Pitsidianakis
3adf72aed0
Add support for utf-7 encoding
...
Closes #175
2023-04-10 10:33:46 +03:00
Johannes Schilling
2447a2cbfe
melib/jmap: avoid relying on hardcoded hash values
...
The hash values seem to have changed in the meantime, or aren't the same
on all environments.
2023-03-09 10:37:58 +02:00
Manos Pitsidianakis
d7ec97f03b
Small rustfmt change
2023-03-09 10:37:00 +02:00
Johannes Schilling
fbc1007ff4
jmap: deserialize null
to empty vec for messageId
...
The spec says MessageId can be `null`, handle that case and deserialize
it to an empty Vec.
2023-03-09 10:30:34 +02:00
cos
256a3e252e
Update minimum supported rust version
...
Code requires label_break_value feature, which was [stabilized][0] in
release 1.65.0 of the toolchain.
[0]: https://github.com/rust-lang/rust/pull/99332
2023-03-06 09:56:43 +02:00
Manos Pitsidianakis
11140b4a76
Fix test output
...
test_compose_reply_subject_prefix requires access to / path, and fails
when building with deb-dist
2023-03-06 09:49:02 +02:00
Johannes Schilling
12cb717bda
melib: add server_password_command to jmap
...
Move the handling of either `server_password` or
`server_password_command` from the imap backend to the common
`AccountSettings` struct and add it for jmap as well.
2023-03-06 09:11:55 +02:00
Manos Pitsidianakis
660bacb926
Add mailto
command to open composer with initial values from mailto template
2022-12-30 17:02:10 +02:00
Manos Pitsidianakis
de2f46fe61
rustfmt changes
2022-12-27 18:40:26 +02:00
Manos Pitsidianakis
5443b7e8f3
melib/sieve: remove literal_map() parse combinator
2022-12-27 18:38:20 +02:00
Manos Pitsidianakis
3c847ad26a
melib/sieve.rs: add beginning of sieve parser
...
Concerns #153
Support filtering rules to move mails to folders #153 <https://git.meli.delivery/meli/meli/issues/153 >
2022-12-27 18:29:27 +02:00
Manos Pitsidianakis
2878bbb8c8
melib/addressbook: add parser for mutt alias file
2022-12-23 02:32:22 +02:00
Manos Pitsidianakis
40c6647db8
Fix multipart/related with main text/html part not displayed correctly
2022-12-09 14:06:20 +02:00
Manos Pitsidianakis
7606317f24
melib/notmuch: add support for virtual mailbox hierarchy
...
Add optional "parent" property to notmuch mailbox configuration.
Closes #167
https://git.meli.delivery/meli/meli/issues/167
2022-12-09 12:35:10 +02:00
Manos Pitsidianakis
5634f95553
Rename MeliError struct to Error
2022-12-08 22:20:05 +02:00
Manos Pitsidianakis
259aeb0087
Convert {Account,Mailbox}Hash from typedef to wrapper struct
2022-12-08 22:10:58 +02:00
Manos Pitsidianakis
7382e30160
Convert EnvelopeHash from typedef to wrapper struct
2022-12-08 20:43:52 +02:00
Manos Pitsidianakis
eaecc5ea12
melib/notmuch: remove hardcoded major .so version for non linux/macos target_os
...
Credits to http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/mail/meli/patches/patch-melib_src_backends_notmuch_rs?rev=1.1&content-type=text/x-cvsweb-markup for discovering this.
2022-12-04 15:44:20 +02:00
Manos Pitsidianakis
2224a7100f
melib/imap: reset imap cache on init error
2022-12-01 21:06:33 +02:00
Manos Pitsidianakis
7924aa8bfe
melib/jmap: fix compilation
2022-11-28 16:56:37 +02:00
Manos Pitsidianakis
bd22f986f0
melib: fix clippy lints
2022-11-14 19:14:19 +02:00
_
ded9adde61
More descriptive "Unimplemented" messages
2022-11-13 19:04:29 +02:00
Manos Pitsidianakis
b776409d6c
melib/thread.rs: add thread, env hash index fields
2022-11-07 16:26:47 +02:00
Manos Pitsidianakis
56fc43bcf8
melib: add As{Ref,Mut} impls for RwRef{,Mut}
2022-11-07 16:25:37 +02:00
Manos Pitsidianakis
88a1f0d4bc
melib/imap/parser: fix FETCH response parsing bug
...
Closes #160
Closes #128
2022-10-23 21:05:06 +03:00
Manos Pitsidianakis
64346dd3fe
melib/parsec: add map_res, quoted_slice, is_a, alt, take, take_literal
2022-10-22 22:47:14 +03:00
Manos Pitsidianakis
17b42b1a6c
melib/parsec: add json deserialization tests
2022-10-22 22:47:10 +03:00
Manos Pitsidianakis
6d20abdde7
melib/gpgme: add #[allow(deref_nullptr)] in bindgen tests
2022-10-22 22:45:15 +03:00
Manos Pitsidianakis
803d3414fd
melib/imap/managesieve: implement some rfc5804 commands
...
Try with managesieve REPL in src/managesieve.rs:
cargo run --bin managesieve-client ~/.config/meli/config.toml
"accountname"
rfc5804 <https://www.rfc-editor.org/rfc/rfc5804.html >
2022-10-22 21:14:53 +03:00
Manos Pitsidianakis
3697b7d960
melib/datetime: don't use LC_ category in place of LC_ masks in libc calls
...
LC_ masks are bit masks, whereas category values are not.
Concerns #159
[imap] all mail timestamps are zero/epoch #159
https://git.meli.delivery/meli/meli/issues/159
2022-10-17 18:06:58 +03:00
Manos Pitsidianakis
0ef4dde939
melib/jmap: wrap serde_json deserialize errors in human readable errors
2022-10-13 10:59:10 +03:00
Manos Pitsidianakis
55ed962425
melib/jmap: use server_url instead of server_hostname + server_port in config
2022-10-13 10:40:48 +03:00
Manos Pitsidianakis
16646976d7
compose: fix reply subject prefixes stripping original prefix
...
Unintelligent heuristic but should cover most cases?
Configurable subject response prefix #142
https://git.meli.delivery/meli/meli/issues/142
Closes #142
2022-10-09 18:31:01 +03:00
Manos Pitsidianakis
7e09b1807f
melib/collection: replace _Ref deref unwraps with expect()
2022-10-09 18:28:41 +03:00
Manos Pitsidianakis
129573e0fd
melib/maildir: rename root_path to root_mailbox
2022-10-09 18:28:07 +03:00
Manos Pitsidianakis
0c08cb737c
melib/jmap: mark mailboxes as subscribed on personal accounts
...
The spec https://jmap.io/spec-mail.html#mailboxes says a mailbox property `isSubscribed` should be considered true if the account is marked as `isPersonal`.
Closes #157
JMAP incompatible with Stalwart server #157 https://git.meli.delivery/meli/meli/issues/157
2022-10-04 15:58:36 +03:00
Manos Pitsidianakis
117d7fbe04
melib/jmap/rfc8620.rs: make private fields public
2022-10-04 15:51:43 +03:00
Manos Pitsidianakis
347be54305
melib/error: add NetworkErrorKind enum
2022-10-04 15:49:34 +03:00
Manos Pitsidianakis
c3fdafde3b
Documentation touchups
2022-09-26 18:04:53 +03:00
Manos Pitsidianakis
c6bdda03cf
melib/backends.rs: fix notmuch error shown on any missing backend
2022-09-24 22:23:43 +03:00
Manos Pitsidianakis
b87d54ea3f
melib/backends.rs: impl Into<BTreeSet<EnvelopeHash>> for EnvelopeHashBatch
2022-09-19 15:18:25 +03:00