Commit Graph

1920 Commits

Author SHA1 Message Date
Alexander Krotov
fb325be888 update_autodelete_timeout: ignore trashed messages
They are removed in prune_tombstones() which only happens during housekeeping.
2020-05-24 02:52:32 +03:00
Alexander Krotov
f3137d87c5 Add DC_EVENT_MSG_DELETE_TIMEOUT_CHANGED
This event tells the client when the next message will be deleted. When
this event is received, the client should start a timer and update
current chat or chatlist when timeout expires.
2020-05-24 02:52:32 +03:00
Alexander Krotov
9d033e2ea1 Start autodelete timer when message is displayed 2020-05-23 21:09:33 +03:00
Alexander Krotov
cdc15ce980 Do not store NULL values in msgs.autodelete_* columns 2020-05-23 21:09:33 +03:00
Alexander Krotov
af1be65e8b Set autodelete timer for received messages 2020-05-23 21:09:33 +03:00
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