Commit Graph

193 Commits (02bfda5eed83f4050c30155fca74b219b621cb09)

Author SHA1 Message Date
Manos Pitsidianakis 2492bc91b2
melib: add attachment_from_file() 5 years ago
Manos Pitsidianakis ac04195007
maildir: mark removed paths
Remove events almost always come immediately before Rename events,
showing that the previous name of a file is removed and then renamed.

Keep proper tabs by marking removed paths instead of actually removing them.
5 years ago
Manos Pitsidianakis c87ed5012d
melib: add attachment support in email/compose.rs 5 years ago
Manos Pitsidianakis 391e5b5d13
melib: tighten bounds check in email/parser.rs 5 years ago
Manos Pitsidianakis d73069bc80
melib: add Other and OctetStream content types 5 years ago
Manos Pitsidianakis c17bb24f0d
melib: refactor attachments and attachment_types interfaces 5 years ago
Manos Pitsidianakis 7592e66d6a
maildir: drop mutexes before calling add_path_to_index 5 years ago
Manos Pitsidianakis 572944e917
melib: add version from Cargo manifest to User-Agent field 5 years ago
Manos Pitsidianakis 38da6c83b9
melib: add read-only support for mbox 5 years ago
Manos Pitsidianakis 8a0e702127
melib,ui: add MailboxEntry enum
Use an enum to describe a mailbox's state in ui::conf::Account instead
of Result.
5 years ago
Manos Pitsidianakis d84ceca88e
create text_processing crate 5 years ago
Manos Pitsidianakis a00e3fcbde
melib: fix bounds checking for StackVec 5 years ago
Manos Pitsidianakis a62f1d6c01
add read-only option in accounts 5 years ago
Manos Pitsidianakis 14f1527e61
melib: remove BackendOpGenerator 5 years ago
Manos Pitsidianakis cfb6fd3fde
melib: return raw body instead of headers in MaildirOp::fetch_body 5 years ago
Manos Pitsidianakis 85a70d656b
melib: restore stringified variable print 5 years ago
Manos Pitsidianakis 8ab79d5829
fix missing grapheme in mime encoded string 5 years ago
Manos Pitsidianakis 93f3d6e230
remove std::dbg uses 5 years ago
Manos Pitsidianakis 70e5949590
ui: add autocomplete for commands in execute bar 5 years ago
Manos Pitsidianakis a655a85b5f
ui: fix replies not being synced and inserted properly on RefreshEvents 5 years ago
Manos Pitsidianakis 6906142278
melib: don't exclude whitespaces in mime encoded words 5 years ago
Manos Pitsidianakis f33594fba8
melib: reply to In-Reply-To address if available 5 years ago
Manos Pitsidianakis f4f3b87f84
ui: add selections to CompactListing
Select multiple entries by pressing 'v'. Set read/unread and delete
actions are then performed on the selected entries.
5 years ago
Manos Pitsidianakis 8c97336307
ui: add set as read/unread, delete actions
Implemented only in compact listing for now.
5 years ago
Manos Pitsidianakis 2d7f9ca46f
melib: rename files after getting lock in maildir 5 years ago
Manos Pitsidianakis c34a55dcac
melib: Correctly use StackVec capacity, add test 5 years ago
Manos Pitsidianakis 04fc510ea8
meli: insert new standalone nodes in insert_reply 5 years ago
Manos Pitsidianakis ba1d0c42e0
melib: add struct and parser for mailto: links 5 years ago
Manos Pitsidianakis 43084eda01
melib: implement FromIterator, IntoIterator and Iterator for StackVec 5 years ago
Manos Pitsidianakis ee07aa8686
melib: add other_headers field in Envelope
Store headers with non-hardcoded names in a hash map.
5 years ago
Manos Pitsidianakis 24831b3c13
Fix warnings, lints, and 2018 errors 5 years ago
Manos Pitsidianakis 5a9ee50bbc
don't add newlines in encoded words 5 years ago
Manos Pitsidianakis 9d7d7300c0
wcwidth: add emoji table 5 years ago
Manos Pitsidianakis f0bd999f8c
parser: fix empty header value when header is last or when prefixed with
'\n'

when an empty header is last, the rest of the body keeps getting parsed
as headers. when header starts with '\n' because the value is long, the
value gets parsed as a name and the header parser fails.

closes #100

closes #101

closes #122
5 years ago
Manos Pitsidianakis 8a07087393
add testing crate with emailparse bin 5 years ago
Manos Pitsidianakis d772d10d66
merge FirstName/LastName fields in Contacts
First names and Last names are an anglocentric concept and do not apply
cleanly to the rest of the world's cultures.
5 years ago
Manos Pitsidianakis d0039740b0
melib: add has_attachments property to Envelope
Check subattachments in has_attachments check.

Instead of getting a flattened attachment view of multipart/mixed (eg
[multipart/mixed, text/plain, text/plain]) get only the subattachments
(eg [text/plain, text/plain]). Don't count text-only multipart/mixed as attachments
5 years ago
Manos Pitsidianakis 03317d74ca
melib: correct out of bounds access 5 years ago
Manos Pitsidianakis c6674a294d
melib: unwrap mailbox module 5 years ago
Manos Pitsidianakis 6f7b3f20de
move StackVec to melib
closes #120
5 years ago
Manos Pitsidianakis 42654410e3
ui: move Collection to Account
Each account had one mailbox per folder, which had one associated
collection. Now each Account has one Collection for all folders and each
Mailbox object holds only the hashes of each message.

Collection also gets Threads for each folder in order to mix messages
(ie from/to Sent folder).

Insert Sent emails in chronological order

if inserted unsorted, mails a, b with a happened-before b, might never
  get added.

Fix multiple insertions in ThreadTree upon insert_reply

insert_reply was creating multiple copies in threading
5 years ago
Manos Pitsidianakis eff1c1641c
melib: track modified paths in maildir
Keep modified path status in maildir to prevent not-found panics
5 years ago
Manos Pitsidianakis d3208f6a3d
End of line in grapheme_clusters? 5 years ago
Manos Pitsidianakis f51ea93351
move grapheme stuff to melib 5 years ago
Manos Pitsidianakis 6504a141f3
melib: dont allocate new string 5 years ago
Manos Pitsidianakis 3c575c823d
ui: toggle thread snooze flag
snooze field translated to whether the user wants to be notified of new
email in the thread or not. This is toggled with an (temp) EX cmd: `toggle_thread_snooze`

closes #112
5 years ago
Manos Pitsidianakis 22d868f499
save Account to disk
closes #114
5 years ago
Manos Pitsidianakis 4582bcd5ae
fix warnings and lints 5 years ago
Manos Pitsidianakis 3bc22abdff
ui: draw thread arrows correctly in other sortings
thread arrows in ThreadListing weren't drawn correctly when subsorting
was changed (eg date -> subject)

has_sibling was delegated to ThreadsIterator.
5 years ago
Manos Pitsidianakis 1e7e99f499
melib: return $val in debug! 5 years ago