Commit Graph

536 Commits

Author SHA1 Message Date
Manos Pitsidianakis
713c4f73b9
conf: add editor_cmd setting
Set the editor to launch in configuration. If it's missing, check for
$EDITOR
2019-09-27 13:39:55 +03:00
Manos Pitsidianakis
9d69a06807
melib: add ShellExpandTrait
Add trait to expand "~" and environment variables in paths.
2019-09-26 18:27:13 +03:00
Manos Pitsidianakis
0ece51612f
update bincode to 1.2.0 2019-09-26 18:25:30 +03:00
Manos Pitsidianakis
fa121820f7
Bump version to 0.3.1 2019-09-26 14:11:24 +03:00
Manos Pitsidianakis
8c78f118e4
Add info about debug logs in README and Cargo.toml 2019-09-26 14:09:08 +03:00
Manos Pitsidianakis
ef338f353d
ui: add PGP settings in configuration 2019-09-26 14:09:01 +03:00
Manos Pitsidianakis
c44056a9ff
melib: fix bug in parser::parts
At a certain point when expecting a line terminator parts() checks for
'\n' but not '\r\n'. This resulted in all multipart attachments coming
from b"\r\n" sources like IMAP having only one part when parsed.
2019-09-26 13:11:54 +03:00
Manos Pitsidianakis
6d40a57a2e
ui: scroll in shortcuts panel 2019-09-26 13:11:53 +03:00
Manos Pitsidianakis
91ae539de1
Small fixes 2019-09-26 13:11:49 +03:00
Manos Pitsidianakis
f27b815aa7
Add verification of GPG signed messages 2019-09-26 13:11:08 +03:00
Manos Pitsidianakis
9305e543cf
melib: add a body field to Attachment
Attachment needs to know the range of bytes where the body part of the
attachment is located. The Attachment.raw field contains the entire
attachment, headers and body. The new Attachment.body fields contains a
`StrBuilder` which contains the offset and length of the body part inside
`raw`.
2019-09-26 13:10:06 +03:00
Manos Pitsidianakis
5a53020f3d
Add debug-tracing feature to all crates
The feature needs to be defined in all manifests in order to be enabled
in all crates.
2019-09-23 09:36:46 +03:00
Manos Pitsidianakis
26e4d50b40
Try to save sent messages elsewhere if Sent folder fails
If Sent folder wasn't correctly configured, the sent message would be
lost. With this change it tries these folders in this order:

 1. Sent
 2. Inbox
 3. Any other normal folder

The check is done by looking at the special usage metadata on each
folder. If everything fails, the message is saved in a file in the
tmpfs.
2019-09-23 09:30:23 +03:00
Manos Pitsidianakis
ed248be031
Restore accidentally removed README 2019-09-22 22:51:34 +03:00
Manos Pitsidianakis
415fb2455b
ui: display status bar messages for 5 seconds 2019-09-22 13:35:50 +03:00
Manos Pitsidianakis
b07db29a19
ui: add timer tick every 300ms
Check for pending events in the main process by receiving a timer event
every 300ms. This way loaded folders or received emails will get
recognized even if the appropriate informing signals got lost.
2019-09-22 11:00:05 +03:00
Manos Pitsidianakis
d007ef7e00
testing: add server_port to IMAP shell app, imapconn 2019-09-22 10:13:48 +03:00
Manos Pitsidianakis
ee82ae175a
imap: add support for imaps connections
Take port value and a `use_starttls` flag from the configuration file.
2019-09-21 21:29:33 +03:00
Manos Pitsidianakis
9563007069
Turn off debug tracing prints in stderr by default 2019-09-21 21:29:33 +03:00
Manos Pitsidianakis
6e75160b70
melib: turn unicode algos and backends into features 2019-09-21 21:29:33 +03:00
Manos Pitsidianakis
f066f35410
melib: add get_tags to support subaddressing 2019-09-20 21:35:45 +03:00
Manos Pitsidianakis
bee1502499
melib: make References public 2019-09-20 10:47:51 +03:00
Manos Pitsidianakis
32fe8a8b9b
melib: move email.rs back 2019-09-20 10:39:24 +03:00
Manos Pitsidianakis
7accae1774
melib: split address.rs from email.rs 2019-09-20 10:38:29 +03:00
Manos Pitsidianakis
b08001ca5d
melib: create address.rs from email.rs 2019-09-20 10:37:51 +03:00
Manos Pitsidianakis
7fe6532c73
ui: add log on child waiting error 2019-09-20 10:26:08 +03:00
Manos Pitsidianakis
93de60b6d1
maildir: allow Maildir stores as root_folder
Allow top level directories that are not valid maildir folders but
include maildir folders as root_folder of an account.
2019-09-20 10:26:08 +03:00
Manos Pitsidianakis
fb7b038ee1
ui: add set_seen shortcut in {Compact,Conversation}
Shortcut sets an entire thread as seen.
2019-09-20 10:26:08 +03:00
Manos Pitsidianakis
fada0ffce1
ui: use ThreadNode instead of Envelope to print entries in
ConversationsListing
2019-09-20 09:17:04 +03:00
Manos Pitsidianakis
146acb70dd
ui: check account conf for index style in listing.rs 2019-09-20 09:15:13 +03:00
Manos Pitsidianakis
828718141a
ui: return valid values in ListingTrait::coordinates
By convention the valid values at any time of a cursor_pos in mail
listings is in self.new_cursor_pos, which the listing compares with
self.cursor_pos to detect position changes. Returning
self.cursor_pos values with coordinates() is invalid.
2019-09-20 09:12:53 +03:00
Manos Pitsidianakis
fe28e849b3
ui: send update event on folders even on no notification
Send an update event even if user's configuration has turned off
notification for this special event. This happens if the entire folder
is set to `ignore`, or when a particular thread is snoozed. In every
case we would want the UI to update.
2019-09-20 09:10:33 +03:00
Manos Pitsidianakis
7dc3efaedd
imap: allow conn to be offline and retry on demand
Split the TlsStream of the live IMAP connection to an enum to allow both
offline and online states. The connection is restarted if offline when
requested.
2019-09-20 09:07:55 +03:00
Manos Pitsidianakis
b98ce8828c
melib: fix wrong validation in Maildir save()
Path of folder was compared to folder names and saving to eg
'INBOX/Sent' would not result into mail being saved to Folder { name:
'Sent', path: 'INBOX/Sent' }
2019-09-17 17:25:45 +03:00
Manos Pitsidianakis
79212621af
Bump version to 0.3.0 2019-09-16 16:44:04 +03:00
Manos Pitsidianakis
4aa34b2462
add Makefile for installation 2019-09-16 16:41:22 +03:00
Manos Pitsidianakis
8795c2da4f
ui: small configuration fixes
- unused options were removed,
- renamed `index` conf option to `index_style`
2019-09-16 16:41:22 +03:00
Manos Pitsidianakis
e6b7d3a855
update manual page and add meli.conf(5) 2019-09-16 16:40:29 +03:00
Manos Pitsidianakis
080b8ae775
imap: add log entry on connection retry & failure 2019-09-15 23:44:42 +03:00
Manos Pitsidianakis
86f21fbe52
ui: xbiff(1) support 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
bd8424c1f8
ui: add notification play_sound, sound_file conf settings 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
c695d7a8e2
ui: add Notification kinds 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
5cf620f43c
ui: add two log entries 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
9e2bfa22b1
melib: add logging module 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
ad01101b9b
ui: fix ThreadView drawing artifacts 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
af38b7e7cb
ui: add envelope views in new tab action 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
817c338a13
melib: fix metadata updates in Envelope updates 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
5ddd68ad9f
ui: add statusbar change with tab switch and updates 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
059d86de93
map: restart connection on failure in read_lines 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
bfc36f63de
imap: add byte cache for Envelopes in IMAP backend 2019-09-15 23:38:31 +03:00