Commit Graph

1915 Commits

Author SHA1 Message Date
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