Manos Pitsidianakis
70fc2b455c
Update nix dependency to 0.27
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-02-11 17:13:05 +02:00
Manos Pitsidianakis
8de8addd11
melib/datetime: add cfg for musl builds
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-02-11 17:13:05 +02:00
Manos Pitsidianakis
1fe3619208
conf: Make conf validation recognize AccountSettings extra keys
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m19s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 14m39s
Details
AccountSettings extra keys like `vcard_folder` were not taken into
account when validating a config.
This commit introduces an AccountSettings::validate_config() method that
checks for the presence and validity of this key value.
Fixes #349
#349
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-02-04 14:52:06 +02:00
Manos Pitsidianakis
0b468d88ad
addressbook/vcard: improve Error messages
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-02-04 14:52:06 +02:00
Manos Pitsidianakis
60f26f9dae
melib: Fix some old pre-intradoc rustdoc links
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 11m3s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 18m7s
Details
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-11 09:22:28 +02:00
Manos Pitsidianakis
7952006870
melib/percent_encoding: remove doctests, add tests module
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m37s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 15m34s
Details
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-04 10:41:00 +02:00
Manos Pitsidianakis
ddab3179c2
melib/wcwidth: move tests to tests module
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-04 10:40:31 +02:00
Manos Pitsidianakis
7861fb0402
Fix typos found with `typos` tool
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-03 11:08:55 +02:00
Manos Pitsidianakis
0270db0123
melib: From<&[u8]> -> From<B: AsRef<[u8]>>
...
This change allows byte literals to be used with the from trait method.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-01 15:16:47 +02:00
Manos Pitsidianakis
8ddd673dd8
melib/imap/untagged: update all mailboxes
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 10m41s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 17m22s
Details
When receiving an envelope event (deleted, or changed flags), update all
mailboxes that contain that envelope hash; not just the currently
selected mailbox.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-01 14:36:29 +02:00
Manos Pitsidianakis
e3351d2755
melib/imap: fix set unseen updating all mboxes
...
When manually setting an envelope as not seen, all mailboxes had their
unseen count increased. This commit updates only those that include the
envelope in the first place.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-01 14:34:50 +02:00
Manos Pitsidianakis
31401fa35c
melib/backends: add LazyCountSet::contains method
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-01-01 14:34:05 +02:00
Manos Pitsidianakis
933bf157ae
melib/email/parser: ack \ as an atom
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m31s
Details
Cargo manifest lints / Lint Cargo manifests on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 14m5s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 15m24s
Details
I think this is not spec compliant but the MIME spec (rfc6068 - The
'mailto' URI Scheme) uses it for "valid" addresses.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:56:52 +02:00
Manos Pitsidianakis
f685726eac
melib/email/parser: add backtrace field to ParsingError
...
Add backtrace field to ParsingError when the build is for testing or
documentation.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:56:52 +02:00
Manos Pitsidianakis
ab1b946fd9
melib/error: don't print details if it's an empty string.
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:56:52 +02:00
Manos Pitsidianakis
bebb473d1b
melib/mbox: derive extra traits for enums
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:51:45 +02:00
Manos Pitsidianakis
f0866a3965
meli: make config error more user-friendly
...
If `send_mail` is incorrect, display a long-ish list of valid examples.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:51:45 +02:00
Manos Pitsidianakis
f63774fa6d
Fix new clippy lints (1.75)
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-29 19:51:44 +02:00
Manos Pitsidianakis
808aa4942d
melib: rename text_processing to text for the whole brevity thing
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-26 16:47:42 +02:00
Manos Pitsidianakis
34a2d52e7e
Fix rustdoc::redundant_explicit_links
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m28s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 13m37s
Details
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-17 19:14:00 +02:00
Manos Pitsidianakis
4026e25428
melib/notmuch: add some doc comments
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-17 19:13:15 +02:00
Manos Pitsidianakis
ca7d7bb95d
melib/notmuch: use message freeze/thaw for flag changes
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-17 19:12:45 +02:00
Manos Pitsidianakis
ebe1b3da7e
melib/notmuch: wrap *mut struct fields in NonNull<_>
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-17 18:50:23 +02:00
Manos Pitsidianakis
506ae9f594
melib/error: Add ErrorKind::LinkedLibrary variant
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-17 18:43:12 +02:00
Manos Pitsidianakis
b3079715f6
melib/smtp: disable flakey test_smtp()
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m49s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 13m54s
Details
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-13 09:45:17 +02:00
Manos Pitsidianakis
86bbf1ea57
melib/notmuch: refresh NotmuchMailbox counts when setting flags
...
Run cargo lints / Lint on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 9m59s
Details
Run Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 17m21s
Details
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-12 20:03:14 +02:00
Manos Pitsidianakis
1b0bdd0a9a
melib/notmuch: split queries and mailbox into submodules
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-12 20:03:14 +02:00
Manos Pitsidianakis
f900dbea46
Use cargo-derivefmt to sort derives alphabetically
...
Used https://github.com/dcchut/cargo-derivefmt
With command:
cargo install --locked \
--git https://github.com/dcchut/cargo-derivefmt \
--bin cargo-derivefmt \
--rev 2ff93de7fb418180458dd1ba27e5655607c23ab6
Since it's not on crates.io at the moment.
Sample diff:
-#[derive(Debug, Deserialize, Clone, Serialize)]
+#[derive(Clone, Debug, Deserialize, Serialize)]
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-09 21:28:12 +02:00
Manos Pitsidianakis
63a63253d7
melib/datetime: use type alias for c_char
...
On arm64, it's u8, not i8.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-03 18:08:48 +02:00
Andrei Zisu
64898a0583
melib/imap: Make UIDStore constructor pub
...
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (push) Successful in 32m9s
Details
I honestly forget exactly why this change is needed, so I need to
recheck.
2023-12-02 19:05:13 +02:00
Andrei Zisu
77a8d9e2c2
melib: Make ModSequence publicly accessible
...
This way it can be imported from this namespace in depending code.
2023-12-02 19:00:48 +02:00
Manos Pitsidianakis
23c15261e7
mail/view: abstract envelope view filters away
...
Modularize an envelope view by introducing a stack of "view filters".
Example uses:
- html email can have a view on top of it that is plain text conversion
- selecting and viewing text/* attachments is just appending a new filter at
the stack
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-02 17:20:39 +02:00
Manos Pitsidianakis
1c1be7d6c9
melib/address: add display_name(), display_slice(), display_name_slice() methods
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-12-02 17:20:39 +02:00
Manos Pitsidianakis
23507932f9
imap: update cache on set_flags
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-27 09:37:58 +02:00
Manos Pitsidianakis
6506fffb94
Rewrite email flag modifications
...
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 12m35s
Details
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (push) Successful in 14m2s
Details
Flag and tag modifications are now somewhat typed better, and the
frontend applies them on its own on success. This means that if you set
an unseen mail as seen but it was already seen in the backend, you will
see the change locally. Previously it would remain unseen.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-24 12:58:21 +02:00
Manos Pitsidianakis
ef30228e08
melib/draft: fix failing test
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-22 21:48:59 +02:00
Manos Pitsidianakis
bfc78a0803
melib/compose: replace CRLF with LF when editing
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-22 15:31:04 +02:00
Manos Pitsidianakis
ac2a5dcdd1
melib: add display() method for Address
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-22 14:14:56 +02:00
Manos Pitsidianakis
688e39a67e
Fix clippy lints
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-22 14:05:59 +02:00
Manos Pitsidianakis
8a21be2177
melib/imap: replace splice with truncate
...
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (push) Successful in 10m56s
Details
splice() was calling memmove, it is a really inefficient way of
truncating a string.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-11-09 09:56:21 +02:00
Manos Pitsidianakis
f702dc220c
Fix new clippy lints.
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-10-21 16:31:00 +03:00
Andrei Zisu
e95c275d68
Remove duplicate end sequence
...
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (push) Successful in 20m52s
Details
Tests / Test on ${{ matrix.build }} (linux-amd64, ubuntu-latest, stable, x86_64-unknown-linux-gnu) (pull_request) Successful in 21m18s
Details
Signed-off-by: Andrei Zisu <matzipan@gmail.com>
2023-10-02 22:07:20 +02:00
Andrei Zisu
3105a0373b
Add quit command
...
Signed-off-by: Andrei Zisu <matzipan@gmail.com>
2023-10-02 22:07:17 +02:00
Andrei Zisu
7aec5b8e78
Fix SMTP example doc
...
Signed-off-by: Andrei Zisu <matzipan@gmail.com>
2023-10-02 22:07:10 +02:00
Manos Pitsidianakis
e88957ae6e
melib/backends: add extra_submission_headers field in MailBackendCapabilities struct
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-23 17:44:42 +03:00
Manos Pitsidianakis
7888d8b2a5
melib/utils/xdg: fix doc test compilation
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-22 12:26:42 +02:00
Manos Pitsidianakis
fe0a96f085
melib: update to 2021 edition
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-13 18:47:00 +03:00
Manos Pitsidianakis
9b9c38f769
mellib/imap: don't flood user with sqlite3 errors if db is corrupted
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-08 17:10:07 +03:00
Manos Pitsidianakis
c43aeb0eb1
melib/email/parser: fix invalid address parse on folded values
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-07 12:34:49 +03:00
Manos Pitsidianakis
a615b4701b
dependencies: embed xdg-utils crate
...
No reason to have it out of the tree.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2023-09-03 10:13:25 +03:00