Commit Graph

1440 Commits (9ce62c735a80a5168c9d5982fe8ae9ac0e250fe0)

Author SHA1 Message Date
Manos Pitsidianakis 3004789f32
melib/imap: FETCH comma-sep list on untagged Recent response
FETCHing RECENT messages when receiving an untagged RECENT response from
the server didn't separate the message numbers with comma but with
space, which is invalid.
2020-09-18 12:10:44 +03:00
Manos Pitsidianakis 9bafba3905
melib/imap: don't print raw bytes in debug prints 2020-09-18 12:08:56 +03:00
Manos Pitsidianakis 98949a4a72
melib/imap: expand special mailbox detection cases 2020-09-18 12:08:02 +03:00
Manos Pitsidianakis fbf2b7dc7b
sidebar: add customizable mailbox tree
Concerns #72
2020-09-17 16:49:19 +03:00
Manos Pitsidianakis 10a3430233
melib/line_break: fix panics from Unicode13 linebreak test cases 2020-09-17 02:59:51 +03:00
Manos Pitsidianakis 83bee279e6
melib/email/compose: set attachment status
Set Content-Disposition: attachment to, well, attachments.
2020-09-16 19:57:06 +03:00
Manos Pitsidianakis e8f3b6aa24
melib/imap: check for max uid == 0 when resyncing 2020-09-16 19:46:11 +03:00
Manos Pitsidianakis 64a2af3777
melib/email: smarter attachment detection
Look for Content-Disposition: attachment to detect attachments
2020-09-16 18:14:25 +03:00
Manos Pitsidianakis e518b3f16d
melib/imap: use SystemTime for IMAP server timeout 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis d862e7bf53
statustab: don't process scrolling events if account is open 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 005c879a12
accounts: remove job timeout 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 8a8c790f8c
accounts: fix blocking jobs not spawning on blocking workers 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis e60eb23f4d
statustab: show active jobs 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 92b25de34e
melib/EnvelopeHashBatch: impl len method 2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 096c2970b3
melib/email/parser: impl RFC6532
RFC6532 International Mail Headers
2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 3618bdcffb
melib/imap: treat server input as bytes
Server input was assumed valid ascii and converted haphazardly to &str.
Don't do that, since it might not be valid UTF8.
2020-09-16 15:17:48 +03:00
Manos Pitsidianakis 366e557e1c
melib/email: don't do case sensitive eq for mime parameters 2020-09-16 13:11:29 +03:00
Manos Pitsidianakis 9b0180fdbc
melib/email/parser: impl RFC5322 parser for dates 2020-09-16 13:11:28 +03:00
Manos Pitsidianakis 07742ec053
utilities: ensure command suggestions are LIFO 2020-09-16 13:11:28 +03:00
Manos Pitsidianakis f83df69d2f
utilities/widgets: ensure ProgressSpinner is cleaned up 2020-09-16 13:11:28 +03:00
Manos Pitsidianakis 0e2641f7ed
melib/imap: always retry connection in watch() 2020-09-16 13:11:28 +03:00
Manos Pitsidianakis 67c722958b
melib/email/parser: quoted-printable accept message ending with soft line break 2020-09-15 10:17:56 +03:00
Manos Pitsidianakis a5b6f29f2b
melib/imap: ensure connection is alive before fetching bytes/flags 2020-09-15 02:00:27 +03:00
Manos Pitsidianakis 3b10fa3895
melib/imap: set 9min tcp keepalive on connection 2020-09-15 01:59:28 +03:00
Manos Pitsidianakis 42c4c61518
melib/connections: impl tcp keepalive 2020-09-15 01:17:32 +03:00
Manos Pitsidianakis dee62cc118
melib/imap: fix NoSelect mailboxes not showing up as subscribed 2020-09-14 19:45:28 +03:00
Manos Pitsidianakis 17a4ccdcbc
melib/imap: perform reconnect on IDLE failure 2020-09-14 19:32:43 +03:00
Manos Pitsidianakis 670675edcc
melib/imap: impl LIST-EXTENDED
Closes #69
2020-09-13 17:40:26 +03:00
Manos Pitsidianakis 315af9bc05
shortcut!: prevent panic if shortcut key $section is missing 2020-09-13 16:42:26 +03:00
Manos Pitsidianakis f6d5c968ea
Update dependencies (cargo update) 2020-09-13 16:34:07 +03:00
Manos Pitsidianakis fadf20d7b1
NotificationType: add melib::ErrorKind 2020-09-13 15:23:14 +03:00
Manos Pitsidianakis 352f7505fc
melib/imap: don't poll \Noselect mailboxes for updates 2020-09-13 00:24:26 +03:00
Manos Pitsidianakis 46e3bb8074
conf/accounts: call is_online if Refresh job fails 2020-09-13 00:03:12 +03:00
Manos Pitsidianakis 281a6ee6ae
Makefile: add build-rustdoc target 2020-09-12 23:50:40 +03:00
Manos Pitsidianakis 3ef60f2688
jobs: add module doco 2020-09-12 23:43:10 +03:00
Manos Pitsidianakis c9a06b9b5c
mail/view: unset self.dirty early on draw 2020-09-12 23:39:07 +03:00
Manos Pitsidianakis 776918f586
samples/themes: update orca.toml 2020-09-12 23:36:59 +03:00
Manos Pitsidianakis 51db5b6c2f
listing/conversations: redraw selection undo on Esc 2020-09-12 23:08:09 +03:00
Manos Pitsidianakis 14de776314
listing/plain: add row_attr! macro 2020-09-12 23:05:58 +03:00
Manos Pitsidianakis 20b02ffd4f
Lookup tag color/ignore settings in all three setting levels
There are three setting levels for tag settings:

- per mailbox override    ^
- per account override    |
- global setting          |
                        depth

So lookup in each of them in this order for configuration, not just the
deepest level.
2020-09-12 23:02:06 +03:00
Manos Pitsidianakis 06a58a70bd
melib/imap: introduce a conf flag for server timeout
timeout integer                       (optional) Timeout to use for server connections in seconds.  A timeout of 0 seconds means there's no timeout.  (16)
2020-09-12 22:07:42 +03:00
Manos Pitsidianakis 96985c9c1f
melib/imap: set conn to Err if watch returns Err 2020-09-12 21:34:34 +03:00
Manos Pitsidianakis 7c6e3658c7
melib/imap: try NOOPing in connect() 2020-09-12 21:33:25 +03:00
Manos Pitsidianakis 5079881a4c
melib/imap: add tags to tag_index when setting new tags 2020-09-12 21:32:19 +03:00
Manos Pitsidianakis 6d9cdce923
melib/imap: don't fail utterly if cache fails on fetch
Show notice to user, and then try a fresh fetch. Also try resetting the
cache if possible.
2020-09-12 21:29:09 +03:00
Manos Pitsidianakis 7b324359c5
melib/imap: ignore case for supported capability report in
MailBackendExtensionStatus
2020-09-12 21:22:17 +03:00
Manos Pitsidianakis 41664bbe91
Don't panic if no dbus notification server is available 2020-09-12 21:06:50 +03:00
Manos Pitsidianakis 4829e13c47
melib/maildir: impl copy_messages for Maildir 2020-09-11 17:02:27 +03:00
Manos Pitsidianakis a1585d4006
components/listing: draw rows select status at all times 2020-09-11 17:02:27 +03:00
Manos Pitsidianakis ed27ed604c
listing: select multiple messages with a motion
- Press a number (movement multiplier)
- Press "select_entry" shortcut (default: v)
- Press a movement (arrow keys, PageUp/Down, Home/End)
- Resulting selection will be symmetric difference of previous selection
plus all the entries traversed with movement
2020-09-11 17:02:27 +03:00