Alexander Krotov
a5c8e9e72e
Store contact ID in SendMdn job foreign_id
...
This change makes it possible to find all pending MDNs for the contact
with an SQL query.
2020-01-18 21:42:51 +03:00
Alexander Krotov
e7f4898e90
Move check for enabled MDNs from message rendering to MDN job
2020-01-18 21:42:51 +03:00
Alexander Krotov
57d9bafde3
Move foreign_id handling out of mimefactory
2020-01-18 21:42:51 +03:00
Alexander Krotov
5ba879ce95
Make a new job type for MDN sending
...
Now MDN is generated on every try instead of being stored in a blob.
2020-01-18 21:42:51 +03:00
Alexander Krotov
171fa32380
Remove no-op jobs SendMdnOld and SendMsgToSmtpOld
2020-01-18 21:42:51 +03:00
Alexander Krotov
bd70765b7d
Join recipients_names and recipients_addr into one vector
...
This change ensures on the type level that number of names and addresses
is the same.
2020-01-10 06:42:36 +00:00
Alexander Krotov
25842894d2
Rename job::Try into job::Status
2019-12-28 14:35:14 +00:00
Alexander Krotov
83c98c2d55
Replace unstable try_trait with a job_try! macro
2019-12-28 14:35:14 +00:00
Alexander Krotov
fe2011742d
Job error handling refactoring
2019-12-28 14:35:14 +00:00
B. Petersen
f73ba895af
remove some meanwhile unneeded allow-statements
2019-12-26 16:26:06 +00:00
Alexander Krotov
e203901224
Better logging message for job deletion
...
The logging message printed for successful job completion said that the
job "cannot be retried" even when it does not need to be retried.
2019-12-24 10:47:29 +00:00
Alexander Krotov
76d03f7fd2
Log SMTP connection failure errors
2019-12-23 07:14:11 +01:00
Alexander Krotov
47be879445
fix(job): log all job events in job_perform()
2019-12-21 15:24:30 +00:00
Alexander Krotov
860f8a7906
refactor(job): refer to std:: only once
...
This change unifies how we refer to std::time::Duration across the module.
2019-12-21 15:24:30 +00:00
Alexander Krotov
5d9baa053a
refactor(job): implement Display for Job
2019-12-21 15:24:30 +00:00
Alexander Krotov
da174eae71
refactor(job): use Display to print Thread in job_perform()
2019-12-21 15:24:30 +00:00
Alexander Krotov
300fff40e3
refactor(smtp): remove unused SendTimeout Error variant
...
It was used when timeout was set on the whole smtp.send() operation.
Now only the operations inside smtp.send() can timeout, and such timeout
errors result in SendError, so SendTimeout is unused.
2019-12-21 08:57:29 +01:00
holger krekel
000479d55e
never block on interrupt_inbox_idle
2019-12-19 12:06:01 +01:00
holger krekel
61b47aa0de
try doing an smtp-send timeout
2019-12-16 18:02:50 +01:00
Alexander Krotov
697cc0a79b
Make needs_encryption a bool
2019-12-15 19:55:49 +01:00
Alexander Krotov
789fc0a7e0
Resultify set_gossiped_timestamp
2019-12-13 12:51:44 +01:00
B. Petersen
7f723ef2bf
attach selfavatar
2019-12-13 01:17:48 +01:00
holger krekel
93e8cca02f
remove redundant state from smtp
2019-12-08 23:04:08 +01:00
Alexander Krotov
a8e9a1fbe5
Make Smtp.send async
2019-12-08 21:00:03 +01:00
Alexander Krotov
54eb30f3db
Switch from lettre to async-smtp
2019-12-08 21:00:03 +01:00
Alexander Krotov
7fa94c33bf
cargo fmt
2019-12-06 10:35:02 +01:00
Alexander Krotov
30dd20dc7b
Make Imap.fetch() async
2019-12-06 10:35:02 +01:00
holger krekel
ec81d29580
fix multi-line subject encoding and introduce MIME debugging env var
2019-12-05 19:29:12 +01:00
Alexander Krotov
d950a58613
Improve documentation
2019-12-04 10:15:40 +01:00
Alexander Krotov
ad87b7c4a5
Fix clippy warnings
2019-12-03 20:20:52 +03:00
dignifiedquire
affdf7241f
fixup: remove double mimefactory
2019-12-03 12:26:27 +01:00
dignifiedquire
db88212a64
refactor: unsafe, CStr and libc moved out
2019-12-03 12:25:22 +01:00
dignifiedquire
5079e15401
restructure mimefactory
2019-12-03 12:25:22 +01:00
dignifiedquire
dbd6303829
remove mmime
2019-12-03 12:22:55 +01:00
B. Petersen
8923c9e5af
calculate image-size in device-messages
...
eg. android relies on that and fallsback to wrong aspect ratios otherwise.
also, this makes job.rs a little more readable
as some things are moved to message.rs :)
2019-12-03 00:58:04 +01:00
Alexander Krotov
7223a36a71
SMTP error refactoring
2019-12-01 18:24:26 +01:00
holger krekel
d14c6ea202
refine uid_next handling and rename and resultify configure_folder to ensure_configurer_folders
2019-11-30 23:53:35 +01:00
Alexander Krotov
14287b12ae
Resultify Smtp::send
2019-11-30 01:37:56 +01:00
Alexander Krotov
7e66af05ff
Calculate job backoff relative to the current time
...
Otherwise it is possible that desired_timestamp is in the past.
2019-11-29 00:26:25 +01:00
Floris Bruynooghe
f0486eb820
Skip bad jobs in the database
...
Be more defensive: if somehow we got corrupt jobs in the database skip
over them rather than fail to do anything.
This only modifies the query_map() call, the rest is only split off
into it's own function to make it testable. Smaller functions are
good anyway.
2019-11-28 23:41:47 +01:00
Alexander Krotov
e06ac87c0d
Convert the number of retries to u32
2019-11-28 21:44:16 +01:00
Alexander Krotov
0c19fcd79f
Use Rust for instead of while
2019-11-28 21:44:16 +01:00
Alexander Krotov
02fe3d1b99
Process PerformJobsNeeded::AvoidDos case explicitly
2019-11-28 21:44:16 +01:00
Alexander Krotov
95b90a59dc
Add PerformJobsNeeded enum (DC_JOBS_NEEDED_* in core)
2019-11-28 21:44:16 +01:00
Alexander Krotov
fe7852b64e
Restore JOB_RETRIES constant
2019-11-28 21:44:16 +01:00
holger krekel
f87cb4231c
rename jobs to make "rg Markseen" and other searches for the job enum produce all places dealing with the enum
2019-11-28 19:42:24 +01:00
Alexander Krotov
430d4e5f6e
Replace DC_CREATE_MVBOX with boolean
2019-11-28 18:24:29 +01:00
holger krekel
618d74cd67
safer interruptability of fake-idle -- reusing the same skip_next_idle pattern as with idle
2019-11-27 05:52:14 +01:00
Alexander Krotov
22a0e3fe9c
job: try_again refactoring
...
Introduce TryAgain type with C core constants
Make try_again field and method private.
Remove try_again == 2 processing, it was never used.
2019-11-26 22:14:34 +01:00
holger krekel
eae9ad6f8b
remove context.inbox in favour of a context.inbox_thread following the mvbox_thread and sentbox_thread patterns. Also some streamlining of shutdown logic.
2019-11-22 12:28:19 +01:00