Commit Graph

597 Commits (f7c9f21575e004ccd3d21cdd4ea34ec034436272)

Author SHA1 Message Date
Manos Pitsidianakis f7c9f21575
melib/imap: add CONDSTORE support
Closes #52
4 years ago
Manos Pitsidianakis 1ca0bd0d96
sqlite3: add schema versioning
To potentially be used with automatic migrations on version update
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 0f3bf858a3
melib/imap: impl UNSELECT via nonexistent mailbox 4 years ago
Manos Pitsidianakis 876e1bc510
melib/imap: turn ImapResponse From to TryFrom 4 years ago
Manos Pitsidianakis 94433cfc40
melib/backends: cleanup MailBackend trait definition 4 years ago
Manos Pitsidianakis 3eadaba34e
Replace old pseudo-async code with blocking rust async 4 years ago
Manos Pitsidianakis a190805384
melib/backends: Add BackendEvent enum 4 years ago
Manos Pitsidianakis 9928ee78e7
Add Reply{ToAuthor,ToAll} actions
- previous Reply action now lets you select recipients by default
- ReplyToAuthor selects the Envelope author as recipient
- ReplyToAll selects all addresses
4 years ago
Manos Pitsidianakis 9afbdd4887
Add insert_user_agent option in composing
Add option for automatically inserting a 'User-Agent' header in new
drafts.
4 years ago
Manos Pitsidianakis be31d35ff6
melib/line_break: fix missing Break on B2 class
Graphemes of B2 class, such as the Em dash can break before and after.
However this case wasn't handled in the line break iterator.
4 years ago
Manos Pitsidianakis dede8d2a9e
melib/imap: timeout when establishing connection 4 years ago
Manos Pitsidianakis d1a9f4e28a
melib/collection: remove unnecessary mut references 4 years ago
Manos Pitsidianakis b9e53a7451
melib/smtp: add recipient argument in mail_transaction() 4 years ago
Manos Pitsidianakis 30c390443a
melib: Add native_tls behind feature
native_tls error conversion was held behind `imap_backend` feature, but
tls is also used in smtp.
4 years ago
Manos Pitsidianakis 1affee183a
melib/nntp: fetch all articles of group 4 years ago
Manos Pitsidianakis 92a9127758
melib/notmuch: don't read messages to String 4 years ago
Manos Pitsidianakis 79b2b38e32
melib: add supports_submission backend capability
To be used by NNTP, JMAP and some IMAP servers with BURL capability
4 years ago
Manos Pitsidianakis 560f9e5399
melib/email: parse empty attachments correctly 4 years ago
Manos Pitsidianakis c0f8bc1aed
melib/email/attachments: add Content-Disposition 4 years ago
Manos Pitsidianakis b2c14abd6e
melib/jmap: add {flag,tag} set support
Closes #61
4 years ago
Manos Pitsidianakis a712bf6c3c
melib/jmap: make backend async
Replace reqwest with isahc which supports async IO
4 years ago
Manos Pitsidianakis 6d61d0651c
melib/jmap: add special keywords to search 4 years ago
Manos Pitsidianakis c88eac1cc5
melib/jmap: implement search
Closes #59
4 years ago
Manos Pitsidianakis 5485e7b941
melib/notmuch: fetch mail in chunks
notmuch fetch took too much time on large mailboxes because it sent the
result as one big vec, instead of chunking it.
4 years ago
Manos Pitsidianakis e8a98f87e3
Change version to 0.6.1 4 years ago
Manos Pitsidianakis 890000bd0e
status page: trim extension name at 30 chars
NNTP has some long protocol extension names
4 years ago
Manos Pitsidianakis 1bdecd62c7
melib/nntp: add AUTH support 4 years ago
Manos Pitsidianakis ce45cf5f17
melib/{imap,nntp}: flush after write_all
IMAP IDLE got stuck, because the IDLE connection used `send_raw` that
didn't flush output after `write_all`, *if* DEFLATE was on. DEFLATE
needs to flush output.
4 years ago
Manos Pitsidianakis ec0153e7b2
melib: add protocol extension info in MailBackendCapabilities 4 years ago
Manos Pitsidianakis 2b3949ddb2
melib: add missing cfg attribute for NNTP 4 years ago
Manos Pitsidianakis 522f667350
melib: add experimental NNTP backend
Closes #54
4 years ago
Manos Pitsidianakis 93d9c195cc
Change version to 0.6.0 4 years ago
Manos Pitsidianakis 3ac2c12e7a
Small fixes 4 years ago
Manos Pitsidianakis 5c038887db
melib/imap: add MOVE support 4 years ago
Manos Pitsidianakis 5ec7c59d8a
melib/threads: re-add to missing_message_ids on remove 4 years ago
Manos Pitsidianakis 9a29f4245f
melib/imap: add COMPRESS=DEFLATE support
Closes #53
4 years ago
Manos Pitsidianakis d8f2a08e7b
melib/smtp: add serde field default values 4 years ago
Manos Pitsidianakis 8ec0da4fbd
melib/imap: add conf toggle flags for IMAP extensions 4 years ago
Manos Pitsidianakis 7bbfd188ef
melib/imap: move current_mailbox to ImapStream
ImapStream holds the connection state (current command id), so it makes
sense to move current_mailbox state there. That way, when a connection
drops for whatever reason the old current_mailbox is dropped and not
carried over to new connections.
4 years ago
Manos Pitsidianakis 32b4c30fee
melib/email.rs: use SmallVec for Address fields 4 years ago
Manos Pitsidianakis 52cec59215
melib/error: add From<&MeliError> for MeliError 4 years ago
Manos Pitsidianakis cc119c19b0
melib/maildir: send NewFlags events 4 years ago
Manos Pitsidianakis 031e81ac8f
imap: add UntaggedResponse::UIDFetch 4 years ago
Manos Pitsidianakis f41a1ffe3a
imap: remove FLAGS.SILENT from STOREs
Flag updates were not received, because FLAGS.SILENT was used.
4 years ago
Manos Pitsidianakis 3f8aa560f0
melib/MailBackend: add MailBackendCapabilities struct 4 years ago
Manos Pitsidianakis 5a5408ecd5
imap: small fixes 4 years ago
Manos Pitsidianakis 00acba7717
melib/MailBackend: add copy_messages,set_flags,delete_messages methods 4 years ago
Manos Pitsidianakis 246ac4b84a
Update smallvec dependency to 1.4.1 4 years ago
Manos Pitsidianakis 1b8529c59c
melib/imap: use LITERAL+ with APPEND
Closes #50
4 years ago