Commit Graph

2492 Commits (7c056e4bdb421cf0e2d3a555567b7615af6a3cc5)
 

Author SHA1 Message Date
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>
2 months ago
Manos Pitsidianakis 8205c7f51a
melib: add JsContact module
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis ac1349b850
command: alias `pwd` to `cwd`
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 32acc3474f
view: show signature verification properly
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis b950fceab4
melib: Use IndexMap in VCard
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 65b32e7719
subcommands: Fix wrong help info in imap-shell prompt
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis b55edd4727
debian: update meli.docs and add meli.manpages
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis a44486d904
imap: fix minor clippy lint
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 14d74f3689
Update smol dependency from "1" to "2"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 67b88d24fc
Update polling dependency from "2.8" to "3"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
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>
2 months ago
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>
2 months ago
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>
2 months ago
Manos Pitsidianakis a55f65e131
meli.conf.5: Fix wrong default value type in default_header_values
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
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>
2 months ago
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>
2 months ago
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>
2 months ago
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>
2 months ago
Manos Pitsidianakis 1e11c29c88
imap: resync cache first when fetching a mailbox
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
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>
2 months ago
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>
2 months ago
Manos Pitsidianakis 4d4e189cb9
imap: code style fixups
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis b798ca4a95
imap: return cached response in {select,examine}_mailbox()
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 77da86eb0f
CI: Update cargo-derivefmt version
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 41e1fdd554
Fix cargo-derivefmt lints
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 86e25bc017
sqlite: fix database reset sequence
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
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>
2 months ago
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>
2 months ago
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>
2 months ago
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>
2 months ago
Manos Pitsidianakis dbbb1529e4
Add missing ComponentUnrealize handlers
Dialog widgets require their parent components to handle their
ComponentUnrealize events, otherwise they'd not be removed if user
selects 'Cancel'.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 4707ec9f2a
text/line_break: fix ReflowState::{No,All} break
It could split text on non-char boundaries. Check before return.

Closes #476

Resolves: https://git.meli-email.org/meli/meli/issues/476
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 32e3be8b10
sqlite3: add optional directory field in DatabaseDescription
Databases described by `DatabaseDescription` are created in XDG Data
directories by default. Add an optional explicit directory field so that
tests and other API consumers can override that location.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 26d33ce523
address: add `separator` argument to display_slice()
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 394236ba8a
email/address: Refactor References struct
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis a4f344b396
Use create_new to avoid overwriting files
Use File::options()..create_new() to avoid overwriting files when saving
attachments or exporting stuff.

File::create_new was added in 1.77 which is after our current MSRV, so
use OpenOptions instead.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 11798be804
Replace Envelope::message_id_display() with Display impls
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 6fbf569fe0
search: add Message-ID, and other header search support
Add support for searching by Message-ID, In-Reply-To, References, or any
header with the following keywords:

- "message-id:term", "msg-id:term"
- "in-reply-to:term"
- "references:term"
- "header:title,value"

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 191725b5c2
Fix some borrow checker error/warnings from upcoming 2024 edition
Mostly unsafe_op_in_unsafe_fn lint, but also std::env functions becoming
unsafe.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 2bb9b20d95
mail/view: do not highlight reply subjects in thread
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 28f45805d7
mail/view: try cancel env fetch on Drop
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 60833ee51d
accounts: make mailbox available as soon as possible
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 53b0d035e4
accounts: cancel any previous mailbox fetches
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis f06a9072d6
jmap: fetch mailbox with receivedAt descending sort
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 9c1b442452
jobs: make `cancel` flag an AtomicBool
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 4bbf446bc1
utils: add unix file locks module
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 1cfb0b1538
Update nix dependency to 0.29.0
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis 72dea6f3b2
Manpage fixes
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis f3ad824df9
meli: use itoa to format offset indices in listings
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis aed7a60fb9
samples: add ibm-modern theme
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago