Alexander Krotov
93ffcf530d
Add autodelete timer and timestamp to message info
2020-05-23 21:09:33 +03:00
Alexander Krotov
028187eeaf
Generate IMAP deletion jobs for ephemeral messages
2020-05-23 21:09:33 +03:00
Alexander Krotov
032b387c95
Process timer changes before calc_timestamps()
...
This way system message about timer change gets lower timestamp than the
message itself, and it is clear that new timer is applied to the message
that just arrived.
2020-05-23 21:09:33 +03:00
Alexander Krotov
5523e7ba19
Delete autodelete-expired messages locally
2020-05-23 21:09:33 +03:00
Alexander Krotov
b54c2a3196
Do not set autodelete timer on special chat IDs
2020-05-23 21:09:33 +03:00
Alexander Krotov
42d8502531
Parse Autodelete-Timer header in MDNs
...
It is not sent there yet.
2020-05-23 21:09:33 +03:00
Alexander Krotov
6002f54ce1
Set autodelete timer columns for outgoing messages
2020-05-23 21:09:33 +03:00
Alexander Krotov
a830d499eb
Add autodelete timer columns to message table
2020-05-23 21:09:32 +03:00
Alexander Krotov
49e821d029
Apply autodelete timer changes to the chat before adding messages
...
Timer is started only when the message is read, but we want to be completely sure that correct value is used.
This commit also add some comments.
2020-05-23 21:09:32 +03:00
Alexander Krotov
e1773edf7f
Send system message to chat when user changes autodelete timer
2020-05-23 21:09:32 +03:00
Alexander Krotov
b4337685cf
Add info message when autodelete timer is changed
2020-05-23 21:09:32 +03:00
Alexander Krotov
997c5ad68a
Set timer to 0 if no Autodelete-Timer header is present
2020-05-23 21:09:32 +03:00
Alexander Krotov
f5ee9c530d
Add Event::ChatAutodeleteTimerModified
2020-05-23 21:09:32 +03:00
Alexander Krotov
51133ce0d6
Add autodelete timer to the database
2020-05-23 21:09:32 +03:00
B. Petersen
6483b8c138
change to WAL only on one handle.
...
journal_mode is persisted, it is sufficient to change it only for one handle.
with_init() is called for a bunch of handles directly on pool-creation,
so changing to WAL here easily results in busy-errors.
2020-05-18 18:19:08 +02:00
B. Petersen
9702647044
enable sqlite's WAL-mode unconditionally
2020-05-18 06:55:06 +02:00
B. Petersen
3b2192a046
make clippy happy
2020-05-18 06:55:06 +02:00
B. Petersen
b864911e18
return current journal_mode in dc_get_info()
...
values are either 'delete' or 'wal';
having this info in debug reports is useful for debugging anyway,
if we switch to WAL or not.
2020-05-18 06:55:06 +02:00
bjoern
9e0506cb48
Merge pull request #1488 from deltachat/fix-get-sent-folder
...
improve finding out the sent-folder
2020-05-17 03:01:39 +02:00
B. Petersen
a0000b9489
update provider-db
2020-05-16 23:26:53 +02:00
Hocuri
ab253744f8
Code style
2020-05-16 15:07:01 +02:00
B. Petersen
eafb7b979d
make clippy happy
2020-05-16 00:09:22 +02:00
B. Petersen
9e22bf39cc
smoother searching for sentbox
...
search for the sentbox in two passes:
- first check the folder attributes
- only if that fails, check for some known names
this way, the sent-attribute always has precedence
over the name; this was not the case before.
moreover, this fixes an possibly wrong early exist
when the attribute list is completely empty.
2020-05-16 00:01:42 +02:00
B. Petersen
fc6691ce5b
add 'sentmail' to the list of known names for 'sent', acutally used by chello.at
2020-05-15 23:05:23 +02:00
Alexander Krotov
3e2bfc35e3
Delete hidden expired messages
...
The condition remains from the time when expired messages were hidden
instead of being moved into trash chat. As a result, old hidden
messages, such as location messages, were not deleted.
2020-05-15 20:46:41 +03:00
bjoern
759ccdbee2
Merge pull request #1441 from deltachat/config-from-provider-db
...
optionally get default-options from provider-db
2020-05-15 12:19:14 +02:00
Alexander Krotov
3ee81cbee0
Revert "imap: simplify select_folder() interface"
...
This reverts commit b614de2f80 .
2020-05-13 11:36:33 +02:00
B. Petersen
4b744337fe
apply user_defaults after the first successful call to dc_configure()
2020-05-12 23:02:22 +02:00
B. Petersen
8d7d2f7a44
run provider/update.py
2020-05-12 23:02:22 +02:00
B. Petersen
24bf1dbffb
fixup
2020-05-12 23:02:22 +02:00
B. Petersen
c1890bb126
adapt provider/update.py so that it generates config_defaults
2020-05-12 23:02:22 +02:00
B. Petersen
a4a570896a
add config_defaults array to provider-db
2020-05-12 23:02:22 +02:00
Hocuri
fca9eae0fd
Extract flags in try_load() to variables
2020-05-12 20:28:20 +02:00
Simon Laux
c2c0c81f1c
cargo fmt
2020-05-11 11:51:40 +02:00
Simon Laux
fe23907eb3
fix muting dm chats
...
and rewrite the erroro message so that it makes more sense
2020-05-11 11:51:40 +02:00
Alexander Krotov
cc56edc91d
Log precheck_imf errors
2020-05-11 00:19:14 +03:00
bjoern
25eb4b3547
Merge pull request #1463 from deltachat/rfc724_mid_exists-ensure
...
Do not return "empty rfc724_mid" errors from rfc724_mid_cnt
2020-05-10 23:13:14 +02:00
bjoern
c5eb112f5a
Merge pull request #1465 from deltachat/smtp-network-error
...
Better SMTP ErrorNetwork message
2020-05-10 23:05:20 +02:00
bjoern
8d904f415a
Merge pull request #1464 from deltachat/database_busy-warn
...
sql: do not send DC_EVENT_ERROR on database errors
2020-05-10 22:59:24 +02:00
B. Petersen
aa292ac6b8
do normal receive_imf() if message-id is empty or if prefetch failed for other reasons. there are servers not sending a message ids, this and other cases is handled in receive_imf() - but not in prefetch (would be too much to maintain, also we need more information). this normal processing also prevents trying over the same message over and over as the server_uid is updated.
2020-05-10 22:43:04 +02:00
Alexander Krotov
c36227e2fc
Better SMTP ErrorNetwork message
...
It uses stock string, just as for IMAP errors, and is distinguishable
from IMAP errors: protocol is specified in the error message now.
2020-05-10 23:24:03 +03:00
B. Petersen
a406e0416f
use new Message-ID parser
2020-05-10 22:58:22 +03:00
B. Petersen
215cc5e71d
add function for parsing multiple Message-Ids
2020-05-10 22:58:22 +03:00
B. Petersen
0e72acee10
more tolerant message-id parsing
2020-05-10 22:58:22 +03:00
B. Petersen
000ed3175d
add failing test
2020-05-10 22:58:22 +03:00
Alexander Krotov
2f6bae4e2a
sql: do not send DC_EVENT_ERROR on database errors
...
These errors are usually just "database busy" errors, it is enough to
write them to the log instead of displaying to the user.
2020-05-10 17:51:01 +03:00
Alexander Krotov
0fefe11bfd
Do not return "empty rfc724_mid" errors from rfc724_mid_cnt
...
This function should only return temporary errors, e.g. database errors,
as precheck_imf() and dc_receive_imf::add_parts() treat them as such,
retrying the fetch on failure. When permanent errors, like missing
Message-ID, are bubbled up, they cause infinite fetch loop.
2020-05-10 16:43:26 +03:00
Alexander Krotov
2dbb1bbbea
Do not reply to hidden messages
...
Especially with read receipts, it is wrong, because they are never
encrypted and their Message-IDs are not known to other users in a group.
2020-05-09 19:11:23 +03:00
Hocuri
a586a1d525
Fix #1120 Contact requests are not shown when name of sender includes a comma character ( #1438 )
...
* First try making get_recipients use MailHeader (nice and functional)
* Get it to compile by using not-so-functional style
* Add "empty-from" test, drop unnecessary check for error; continue using addrparse_header() instead of addrparse()
* Try to use functional style, unfortunately, I can't get the compiler to accept it
* Do it imperative-style: Do not overwrite To with Cc and vice versa
* Use addrparse_header() once more
* Still addrparse_header()
* Clippy
* Fix compile errors in tests
* Fix typo
* Fix tests again ;-)
* Code style
* Code style; try a HashMap<addr: String, display_name: String> as an address list but I am not convinced
* Code style; Use Vec<SingleInfo> as address list
* Clippy
* Add tests
* Add another test
* Remove stale comments
2020-05-07 13:55:09 +02:00
bjoern
56056cf10e
Merge pull request #1451 from deltachat/better-errors
...
Always describe the context of the displayed error
2020-05-05 23:40:35 +02:00