Manos Pitsidianakis
b1a7188771
Clippy fixes
1 year ago
Manos Pitsidianakis
5634f95553
Rename MeliError struct to Error
2 years ago
Manos Pitsidianakis
259aeb0087
Convert {Account,Mailbox}Hash from typedef to wrapper struct
2 years ago
Manos Pitsidianakis
7382e30160
Convert EnvelopeHash from typedef to wrapper struct
2 years ago
Manos Pitsidianakis
c3fdafde3b
Documentation touchups
2 years ago
Manos Pitsidianakis
b138d9bc61
melib: fix some clippy lints
2 years ago
Manos Pitsidianakis
ffc498a5d0
melib/smtp: fix Cc and Bcc ignored when sending mail
3 years ago
Manos Pitsidianakis
bcca9abe66
docs: Use example.com in documentation
...
Closes #96
3 years ago
Manos Pitsidianakis
3fa9e355c2
melib/email: add Flag is_*() methods
3 years ago
Manos Pitsidianakis
b966ee8fbd
melib/email: return &mut Self in set_*() methods
...
Return &mut Self to allow chaining setter methods
3 years ago
Manos Pitsidianakis
23ca41e3e8
add libgpgme feature
4 years ago
Manos Pitsidianakis
e407b1e224
melib: add README.md and email module doco
4 years ago
Manos Pitsidianakis
366e557e1c
melib/email: don't do case sensitive eq for mime parameters
4 years ago
Manos Pitsidianakis
9b0180fdbc
melib/email/parser: impl RFC5322 parser for dates
4 years ago
Manos Pitsidianakis
be57b65dae
melib/email: add flags arg to Mail::new
4 years ago
Manos Pitsidianakis
c6c0da7fcb
melib: cleanup commit
...
Cleanup melib module exports, add some document tests, change some
documentation.
4 years ago
Manos Pitsidianakis
d14f26569e
melib/email/parser: Add rfc5322 compliant parser for MessageID
4 years ago
Manos Pitsidianakis
14663e46b9
Remove some old TODO comments
4 years ago
Manos Pitsidianakis
4217839155
melib/email: remove Envelope::from_token
4 years ago
Manos Pitsidianakis
974836776d
melib/email: trim raw input for some fields
4 years ago
Manos Pitsidianakis
8c6c9806b5
Fix some clippy lints
4 years ago
Manos Pitsidianakis
8d50e83a33
melib/email: add case-insensitive Header struct
...
- HeaderName is either 32 or less inlined bytes or heap-allocated vec for more than that.
- Equality and hashing is case-insensitive
- A HeaderMap is a hashmap from HeaderName to Strings that can be
indexed with &str, case insensitive. Insertion order is also preserved
4 years ago
Manos Pitsidianakis
32b4c30fee
melib/email.rs: use SmallVec for Address fields
4 years ago
Manos Pitsidianakis
00acba7717
melib/MailBackend: add copy_messages,set_flags,delete_messages methods
4 years ago
Manos Pitsidianakis
b3876113aa
BackendOp: return future in as_bytes()
4 years ago
Manos Pitsidianakis
1ddde9ccba
BackendOp: change fetch_flags() retval to future
4 years ago
Manos Pitsidianakis
c82367e00d
BackendOp: Change set_{flag,tag} methods
4 years ago
Manos Pitsidianakis
8c1fc031e5
BackendOp: change fetch_flags retval to Result<Flag>
4 years ago
Manos Pitsidianakis
6ec249dd7f
melib: update nom dependency from 3.2.0 to 5.1.1
...
That was hecking exhausting
4 years ago
Manos Pitsidianakis
e4d4cd55d3
melib: skip mbox `From ` header if present
...
mbox messages might end up in the parser by mistake, for example by
being present in a Maildir store.
4 years ago
Manos Pitsidianakis
eb701695f7
Remove fnv crate
4 years ago
Manos Pitsidianakis
a3600c0cd2
Add `filter` option in mail list
...
Filter mail in mail list.
Example:
[listing]
filter = "not flags:seen" # show only unseen messages
4 years ago
Manos Pitsidianakis
33c1bf6558
Add consume newlines flag to phrase()
4 years ago
Manos Pitsidianakis
d9269335a1
melib/threads: rename thread hashes
...
- Rename ThreadHash to ThreadNodeHash
- Rename ThreadGroupHash to ThreadHash
4 years ago
Manos Pitsidianakis
1eb49efb22
melib/threads: use all References in thread building
...
WIP
4 years ago
Manos Pitsidianakis
a365a846b8
Replace StackVec with smallvec::SmallVec
...
SmallVec has a less buggy and better implementation.
4 years ago
Manos Pitsidianakis
c0ac643f05
melib: add datetime module
...
Datetime module adds POSIX time functions interface
4 years ago
Manos Pitsidianakis
14eb99f515
JMAP WIP #7
5 years ago
Manos Pitsidianakis
1ee8ef7a05
JMAP WIP #4
5 years ago
Manos Pitsidianakis
d9b568cfb4
melib/envelope: decode other_headers values
5 years ago
Manos Pitsidianakis
7732b851e6
melib: fix minor header parsing errors
...
- set_subject checked if last byte was control character instead of last
character. Characters can be multi-byte, duh.
- email::parser::date didn't provide for Date values that had -0000
instead of +0000 (that's a chrono requirement/bug)
5 years ago
Manos Pitsidianakis
46a807eee1
melib: remove control characters from subject
5 years ago
Manos Pitsidianakis
9d8d3e09f4
melib: remove unused methods from BackendOp
5 years ago
Manos Pitsidianakis
258b6c8fe8
melib: add tags() method in MailBackend
...
Add tags() method that returns Option<Arc<RwLock<BTreeMap<u64, String>>>>.
The BTreeMap holds available tags in a mail backend and uses the tag's
hash as key.
The method returns an Option because not all backends may support
tagging.
5 years ago
Manos Pitsidianakis
51628ac9d2
ui: move list_management mod to melib
...
list_management module includes some small functions to handle mailing
list metadata (List-* headers)
5 years ago
Manos Pitsidianakis
fc2d9a684d
melib/imap: set has_attachments based on BODYSTRUCTURE
...
fetch BODYSTRUCTURE along with ENVELOPE from server and set
has_attachments based on the MIME structure of the envelope.
Notes: BODYSTRUCTURE returns the MIME structure of the envelope without
the data, so if it includes a multipart/mixed it *should* have
attachments.
ENVELOPE returns basic headers of the message like Sender, Subject, Date
etc.
5 years ago
Manos Pitsidianakis
7463248da8
melib: change BackendOp::set_flag() signature
5 years ago
Manos Pitsidianakis
3af6f338ce
add sqlite3 feature WIP
5 years ago
Manos Pitsidianakis
68c40a2920
melib: return Result with error when an IO operation fails
...
Don't unwrap anything because this might be temporary, for example a
short IMAP disconnection.
5 years ago
Manos Pitsidianakis
f27b815aa7
Add verification of GPG signed messages
5 years ago