Commit graph

2662 commits

Author SHA1 Message Date
Manos Pitsidianakis
d0c81749ee
conf::data_types: minor style and error msg fixups
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-12 15:15:51 +03:00
Manos Pitsidianakis
ba3ad8ed18
listing: always show mail_view_divider
`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>
2024-09-10 16:47:01 +03:00
Manos Pitsidianakis
719e2eb271
listing: add customizable view divider like sidebar's
Closes #483

Resolves: <https://git.meli-email.org/meli/meli/issues/483>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-09 16:31:35 +03:00
Manos Pitsidianakis
b88dc4412b
Comment out svgfeature; no need to ship it
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>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
e9a72072bf
Remove unused/obsolete plugins code and mentions
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
c051190114
Update debian/meli.{docs,examples} and Cargo exclude
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
d20a9d0afa
Fix new clippy lints
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
601e37117c
Add vCard exports
Add shortcut to export contact under cursor in the contact list as a
.vcf file (default: `E`).

Also add an export button in the contact editor form.

Closes #424

Resolves: <https://git.meli-email.org/meli/meli/issues/424>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
dc9e91df1f
contacts/editor: Use FormButtonAction in form
Instead of bool.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:03 +03:00
Manos Pitsidianakis
6d520605ff
Vendor vobject crate
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 11:30:02 +03:00
Manos Pitsidianakis
0c0f821000
Add a "move to Trash" shortcut
Add send_to_trash shortcut (default value: `D`) to send an entry or
selected entries to the Trash folder.

Closes #389

Resolves: <https://git.meli-email.org/meli/meli/issues/389>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:39 +03:00
Manos Pitsidianakis
8f0e1d6640
Add human-readable identifiers in temp draft files
Draft files that are created in temp directories to be opened and edited
by the user's editor get UUID filenames with the `.eml` extension. Give
them filenames with the draft subject, recipient and date to make it
easier to discern a file's identity on the filesystem.

Closes #466

Resolves: <https://git.meli-email.org/meli/meli/issues/466>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:39 +03:00
Manos Pitsidianakis
e9b87b2e40
melib/maildr: add rename_regex config option
Add optional rename_regex configuration option to allow stripping
patterns from pathnames when renaming them. This is useful when other
programs depend on specific substrings being unique like mbsync which
erroneously assumes UIDs are unique instead of UID+UIDVALIDITY+mailbox
name like the IMAP standard specifies.

Closes #463

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:39 +03:00
Manos Pitsidianakis
4c44c440f6
melib: #[ignore] shellexpand tests
These tests fail sometimes, #[ignore] them until the bug is found.

Closes #442

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:39 +03:00
Manos Pitsidianakis
5c4faea539
Add transpose shortcut and tests for text field
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:39 +03:00
Manos Pitsidianakis
2af5c8b6fd
terminal: add QuerySynchronizedOutputSupport WIP
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:37 +03:00
Manos Pitsidianakis
00236b86f6
docs: add meli.conf.examples(5) WIP
Closes #461

Resolves: <https://git.meli-email.org/meli/meli/issues/461>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:37 +03:00
Manos Pitsidianakis
90974e7c0d
imap: cache miss if row env hash != row hash
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:37 +03:00
Manos Pitsidianakis
4a26cfa106
logging: disable tracing from output
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:37 +03:00
Manos Pitsidianakis
cbafdcf734
terminal: color report WIP
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-08 09:21:31 +03:00
Manos Pitsidianakis
7c056e4bdb
Retry loading mailbox on recoverable error
If a mailbox status is an error and it is recoverable (e.g. a connection
time-out) allow retrying.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 12:17:46 +03:00
Manos Pitsidianakis
8205c7f51a
melib: add JsContact module
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:07 +03:00
Manos Pitsidianakis
ac1349b850
command: alias pwd to cwd
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
32acc3474f
view: show signature verification properly
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
b950fceab4
melib: Use IndexMap in VCard
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
65b32e7719
subcommands: Fix wrong help info in imap-shell prompt
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
b55edd4727
debian: update meli.docs and add meli.manpages
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
a44486d904
imap: fix minor clippy lint
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:06 +03:00
Manos Pitsidianakis
14d74f3689
Update smol dependency from "1" to "2"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-03 10:14:05 +03:00
Manos Pitsidianakis
67b88d24fc
Update polling dependency from "2.8" to "3"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-02 22:42:04 +03:00
Manos Pitsidianakis
57b45a9c4a
docs/historical-manpages: add DEP5 copyright file
Add debian copyright file for historical manpages. Copyright was
mentioned in the manpage comments, but wasn't otherwise visible.

While at it, make files ending up at .gz actually gzip'ed.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-02 22:42:04 +03:00
Manos Pitsidianakis
1232e16ad9
scripts/make_html_manual_page.py: don't prettify
Prettify in beautifulsoup4 messes up with newlines, which alters the
html content.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-02 22:42:04 +03:00
Manos Pitsidianakis
8091583221
mailto: rewrite parsing
Rewrite parsing to fix error on escaped ampersands as html entities in
mailto value.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-02 21:07:06 +03:00
Manos Pitsidianakis
a55f65e131
meli.conf.5: Fix wrong default value type in default_header_values
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-09-02 11:52:51 +03:00
Manos Pitsidianakis
335cca88cb
listing: fix highlight_self flag off by one error
highlight_self flag was not shown if row had the maximum amount of
visible flags in the current page, because the width of the highlight_self
flag was not taken into account for the maximum column width.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 22:26:57 +03:00
Manos Pitsidianakis
4e967280e1
nntp: don't needlessly select group before ARTICLE
GROUP was sent before ARTICLE every time even if the group was already
selected. Use Connection's `select_group` method that makes sure the
group is not re-selected needlessly.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:13 +03:00
Manos Pitsidianakis
2d320688ce
mail/listing: pre-lookup conf values
Lookup conf values out of the for loop.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:13 +03:00
Manos Pitsidianakis
1779ad5d3a
imap: interpret empty server response as BYE
This should trigger a reconnect to the IMAP server.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:12 +03:00
Manos Pitsidianakis
1e11c29c88
imap: resync cache first when fetching a mailbox
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:12 +03:00
Manos Pitsidianakis
e48fcc3367
imap/protocol_parser: also populate other_headers
Also populate other_headers when creating a new Envelope

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:11 +03:00
Manos Pitsidianakis
151fcebe5b
imap: use BTreeMap for message sequence number store
Populating the message sequence number runtime store is not performed in
order, so inserting UIDs in a vec can fail when we want to insert a
number higher than the current maximum. This could lead to panics when
inserting to a vec at an index above its length.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:11 +03:00
Manos Pitsidianakis
4d4e189cb9
imap: code style fixups
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:11 +03:00
Manos Pitsidianakis
b798ca4a95
imap: return cached response in {select,examine}_mailbox()
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:10 +03:00
Manos Pitsidianakis
77da86eb0f
CI: Update cargo-derivefmt version
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:10 +03:00
Manos Pitsidianakis
41e1fdd554
Fix cargo-derivefmt lints
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:10 +03:00
Manos Pitsidianakis
86e25bc017
sqlite: fix database reset sequence
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:09 +03:00
Manos Pitsidianakis
604ae11128
Impl From<&[u8]> for u64-based hash newtypes
`<_>::from_bytes(bytes: &[u8]) -> Self` already exists, so add
`From<&[u8]>` also.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:09 +03:00
Manos Pitsidianakis
a7c73fc8cf
gpgme: refactor Rust interface, add tests
- Refactor gpgme wrapper interface to use more robust reference counting
  for the gpgme context object
- Add SAFETY comments to unsafe {} blocks
- Add tests

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 14:27:09 +03:00
Manos Pitsidianakis
87d2cec9d9
Add sealed_test dependency
Some tests needs a standalone environment because they mess with
variables that other tests need too. sealed_test runs the tests in a
forked process so that there are no issues with that.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 10:36:36 +03:00
Manos Pitsidianakis
d6197e8b24
listing: clear count modifier on Home/End
Home/End count as page/scroll movements, but they'd not clear the
modifier buffer since they weren't using it.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-08-28 10:36:36 +03:00