holger krekel
48e1f53826
fix recovering offline/lost connection situations
2020-10-10 17:44:12 +03:00
Hocuri
be88b946b6
Peek reipients, fetch existing messages
...
Read all of an e-mail accounts messages and extract all To/CC addresses
if the From was from our own account.
Then, fetch existing messages from the server and show them.
Also, I fixed two other things:
- just by chance my test failed because of an completely unrelated bug.
The bug: bcc_self messages were not marked as read if mvbox_move was set
to true.
- add some color to the test output (minor change)
2020-10-10 15:56:30 +03:00
Alexander Krotov
e388e4cc1e
Do not emit network errors during configuration
...
Previously DC_EVENT_ERROR_NETWORK events were emitted for each failed
attempt during autoconfiguration, even if eventually configuration
succeeded. Such error reports are not useful and often confusing,
especially if they report failures to connect to domains that don't
exist, such as imap.example.org when mail.example.org should be used.
Now DC_EVENT_ERROR_NETWORK is only emitted when attempting to connect
with existing IMAP and SMTP configuration already stored in the
database.
Configuration failure is still indicated by DC_EVENT_CONFIGURE_PROGRESS
with data1 set to 0. Python tests from TestOnlineConfigurationFails
group are changed to only wait for this event.
2020-09-05 21:17:26 +03:00
Alexander Krotov
0b743c6bc3
imap: use anyhow for error handling
...
There is already free-form Error::Other error type, and SqlError had
incorrect error description (a copy from InTeardown).
2020-08-30 15:04:07 +03:00
Alexander Krotov
cde587fefa
idle: drain unsolicited response channel
...
This prevents multiple unsolicited messages from skipping multiple IDLEs.
Also skip IDLE only if an EXISTS message was received.
2020-07-16 11:55:51 +02:00
holger krekel
fc12beda24
fix a problem where IDLE would run but miss messages
2020-07-16 11:55:51 +02:00
Alexander Krotov
43c4816739
Display source for IMAP IDLE errors
2020-07-08 01:32:49 +03:00
dignifiedquire
7d08397b48
cleanup interrupt and exit of imap idle
2020-07-07 16:09:13 +03:00
Hocuri
05e1c00cd1
fix: update message ids correctly
...
Fixes #1495
2020-06-05 16:27:22 +02:00
dignifiedquire
6100a23e80
fix: avoid lock for probe_network, avoiding deadlock on startup
...
Closes #1532
2020-05-27 15:13:29 +02:00
dignifiedquire
8a7923c974
Merge remote-tracking branch 'origin/master' into feat/async-jobs
2020-05-13 18:29:22 +02:00
Alexander Krotov
3ee81cbee0
Revert "imap: simplify select_folder() interface"
...
This reverts commit b614de2f80 .
2020-05-13 11:36:33 +02:00
Alexander Krotov
e8763e936d
imap: simplify select_folder() interface
...
Accept AsRef<str> instead of Option<impl AsRef<str>>.
There is no need to pass None to force expunge anymore.
2020-04-30 23:48:41 +03:00
Friedel Ziegelmayer
24f4cbbb27
refactor: replace failure
...
- failure is deprecated
- thiserror for deriving Error impl
- anyhow for highlevel error handling
2020-04-10 22:39:28 +02:00
dignifiedquire
9d313b4e0e
cleanup and fix most of imap
2020-03-18 16:29:34 +01:00
dignifiedquire
563b550f08
integrate imex and imap
2020-03-18 01:50:19 +01:00
dignifiedquire
aa45716ef7
cleanup and setup configure
2020-03-18 00:36:13 +01:00
dignifiedquire
ce5b95f8e5
start setting up new scheduler
2020-03-17 13:48:03 +01:00
dignifiedquire
62bfa5157b
async sleep
2020-03-14 15:16:27 +01:00
dignifiedquire
618202cf8b
more async
2020-03-14 15:16:27 +01:00
dignifiedquire
9614a23506
first pass at async job
2020-03-14 15:14:49 +01:00
Alexander Krotov
793ebe1b0f
imap: move IdleHandle from session.rs to idle.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
4c42acc7e1
Factor src/imap/session.rs out of src/imap/client.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
4eb9660bfa
Move src/imap_client.rs into src/imap/client.rs
2020-02-17 10:50:34 +01:00
Alexander Krotov
04bb6997a2
Remove unused imap::idle::Error::ImapError variant
2020-02-14 22:33:36 +01:00
dignifiedquire
a8fa644d25
feat: update to latest async-imap
2020-01-28 17:44:34 +03:00
Alexander Krotov
8d3e536582
Do not panic on SystemTimeDifference
2019-12-15 19:56:13 +01:00
Alexander Krotov
cd951ad396
Improve IMAP idle timeout error handling
...
Return proper cause and avoid matching on nested Result
2019-12-08 20:50:27 +01:00
holger krekel
33793d878b
address @link2xt comment on done/async
2019-12-08 01:13:00 +01:00
holger krekel
357955015d
[wip] initial detection of idle done() not working
2019-12-08 01:13:00 +01:00
Alexander Krotov
351383dfa4
Split IMAP idle functions into imap::idle submodule
...
Also introduce Imap.can_idle() to avoid having to match on IdleAbilityMissing error
2019-12-06 08:59:22 +01:00