forked from meli/meli
1
Fork 0
Commit Graph

1850 Commits (imap-connection-changes)

Author SHA1 Message Date
Manos Pitsidianakis d1dca4ac27
melib/imap: fix imap cache without sqlite3 not compiling 2023-04-10 15:49:49 +03:00
Manos Pitsidianakis 61a009c01a
Fix two minor lints 2023-04-06 09:56:56 +03:00
Andrei Zisu 1a4384db08
Use BODY instead of RFC822
RFC3501 seems to prefer BODY attributes as the more modern equivalent
to RFC822. For example, this also allows us to use BODY.PEEK. Since the
fetch methods in melib are tightly coupled with the parser, we have to
add this here if we want to use BODY attributes during fetch.
2023-04-06 09:54:52 +03:00
Manos Pitsidianakis bc11705e85
melib: add text/plain or text/html arg for text decoding
In the function that decodes attachments to text, the default was
Text::Plain. Now it's passed via an argument so that Text::Html can also
be used.
2023-04-06 09:54:11 +03:00
Andrei Zisu 797660b9f6
Make ModSequence publicly accessible
This way it can be imported from this namespace in depending code.
2023-04-06 09:54:11 +03:00
Andrei Zisu 7cad1da7b2
Make UIDStore constructor pub
I honestly forget exactly why this change is needed, so I need to
recheck.
2023-04-06 09:54:11 +03:00
Andrei Zisu 5dd3ead89b
Make UID and UID validity 32bits to match the RFC
In the RFC it says they both add up to 64 bits. Previously they were
type aliases for usize,  which on 64 bit platforms will be 64 bits. As a
consequence, adding up these two data types would amount to 128 bits,
not 64 bits.
2023-04-06 09:54:10 +03:00
Andrei Zisu c7208a168c
Add uid_fetch method to connection
Abstracting out this common method, to promote re-use.
2023-04-06 09:54:10 +03:00
Andrei Zisu f74e3c1472
Add connection method for select
As opposed to the old implementation of select_mailbox, this one does
not interact with the store, but returns any response directly.
2023-04-06 09:54:10 +03:00
Andrei Zisu 7c20f7c82a
Add method to check connection capabilities
Before, the check was being done on the capabilities set directly.
2023-04-06 09:54:09 +03:00
Andrei Zisu 775a2b043a
Remove store references in imap connection
The idea here is to move the store in the IMAP backend in the future. As
a first step, we're wrapping around the state part.
2023-04-06 09:54:09 +03:00
Andrei Zisu 22fd89affc
Stub out select and examine
In the future this will be merged better with upstream, but as a
temporary workaround, I'm just commenting out the code to avoid all
those references to uid_store.

The idea is to move the store into the backend struct, and leave the
connection stateless.
2023-04-06 09:54:09 +03:00
Andrei Zisu b8f4e1e6a8
melib/imap: Allow XOAUTH2 string passed as string
For cases in which the user of melib already knows the token and auth
string and doesn't have to call an outside command.
2023-04-06 09:54:08 +03:00
Andrei Zisu ab6aba300b
melib/imap: Base64 when building XOAUTH command
Moving the encoding later will allow us to have more uniform handling
over authentication methods in the future.
2023-04-06 08:48:00 +03:00
Andrei Zisu 3221c9dda5
Remove unecessary mut modifier
This also makes sense semantically since as_bytes shouldn't be
performing any mutations.
2023-04-06 08:46:34 +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 3a10953f05 debian/: update fix-prefix-for-debian.patch 2023-03-06 09:52:51 +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
cos 671ce9f694 debian/: add missing build dependencies
quilt has unconditionally been used in debian/rules since the initial
addition of debian packaging support in commit bb80de.

sqlite3 has been a default feature since at least commit 6ceed3,
possibly longer through rusqlite.
2023-03-06 09:20:03 +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 f9ac9b607a Temporarily disable libgpgme functions because of a bug
`Possible incorrect libgpgme API usage causes a SIGABRT when verifying
signatures #176`

<https://git.meli.delivery/meli/meli/issues/176>
2023-02-11 17:51:36 +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 f63ce388f7 commands: move ManageMailboxes to Tab Actions 2022-12-09 12:58:56 +02:00
Manos Pitsidianakis c06c3f5893 mail/listing/conversations: draw gap between list and mail view 2022-12-09 12:50:17 +02:00
Manos Pitsidianakis abc56eae43 mail/listing: fix SEEN flag update hiding mail view momentarily 2022-12-09 12:49:46 +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 4f45b10974 mail/listing: fix tag updates not showing up right away
Closes #132
Closes #133
2022-12-09 12:30:51 +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 2427b097c5 themes: make tag_default background lighter on light theme
Closes #164
2022-12-04 16:31:49 +02:00
Manos Pitsidianakis 252d2bdf2f Replace hardcoded /bin/false with 'false'
Credits to http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/mail/meli/patches/patch-src_conf_rs?rev=1.1.1.1&content-type=text/x-cvsweb-markup
2022-12-04 15:53:57 +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 4b96bd591f mail/listing: add ColorCache constructor to deduplicate code 2022-12-04 14:16:36 +02:00
Manos Pitsidianakis b9030a684c listings: fix selection not appearing immediately and invalid motions 2022-12-01 21:20: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 7af893597f conf/shortcuts.rs: replace use of Self::DESCRIPTION with Shortcuts struct consts 2022-11-28 16:18:49 +02:00
Manos Pitsidianakis 7d9cabb023 Add mailbox manager tab 2022-11-28 15:44:12 +02:00
Manos Pitsidianakis ee9d458b05 accounts.rs: implement mailbox {un,}sub actions 2022-11-28 15:30:19 +02:00
Manos Pitsidianakis 5ba7b2cd7b meli: fix clippy lints for meli binary 2022-11-24 19:58:23 +02:00
Manos Pitsidianakis 104352e595 Add table UI widget 2022-11-24 19:58:06 +02:00