Commit Graph

296 Commits

Author SHA1 Message Date
Hocuri
2a9d06d817 Re-enable Export to the new backup format, add backup progress, add a test for the backup progress (#2023)
* Add progress for backup import/export

* Export to the new backup format

* Add tests for the new imex progress
2020-12-01 09:05:25 +01:00
Alexander Krotov
66907c17d3 mimeparser: preserve quotes in messages with attachments 2020-11-08 12:01:35 +03:00
holger krekel
45ea41262c fix export/import self-key roundtrip 2020-10-26 20:34:52 +01:00
Hocuri
34af492afb Rename fetch_existing to fetch_existing_msgs, add comment (#2042) 2020-10-24 12:10:36 +02:00
holger krekel
ef245b5759 reduce code a bit and shortcut contact lookup to make it easier to remove an existing contact whether blocked or not. 2020-10-23 21:10:12 +02:00
adbenitez
1ce1a01d49 improve docstring 2020-10-23 21:10:12 +02:00
adbenitez
1cd3ee6a05 add failing test 2020-10-23 21:10:12 +02:00
Hocuri
e5da5c48f1 second review 2020-10-23 17:19:23 +02:00
Hocuri
5b5c6a9c31 Alex' review 2020-10-23 17:19:23 +02:00
Hocuri
4ae1a17cc0 Add test for "Saved-messages do not pop up in original chat in multi-device anymore" 2020-10-23 17:19:23 +02:00
Hocuri
c438691b73 Disable fetch-existing for now 2020-10-23 08:31:49 +02:00
adbenitez
1cacfb30ff avoid usage of deprecated contact.set_blocked() 2020-10-23 08:25:46 +02:00
holger krekel
5a9a4dbbab introduce Account.get_blocked_contacts
also introduce Contact.block() and Contact.unblock() methods
and deprecate the c-ish "Contact.set_blocked()" api.
fixes #2011
2020-10-20 11:56:02 +02:00
Hocuri
c005f756d6 Do not allow to save drafts in non-writeable chats, fix #1986 (#1997) 2020-10-19 13:15:48 +02:00
B. Petersen
b8a55f3aa4 replace chat.is_verified() by chat.is_protected() 2020-10-13 14:59:25 +02:00
Alexander Krotov
69f159792e Only use summary for quote if text is empty
For text messages, summary joins all lines into one, so multi-line quotes
look bad in Thunderbird.
2020-10-11 01:37:24 +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
20182b027e Add quote API
Sticky encryption rule, requiring that all replies to encrypted messages
are encrypted, applies only to messages with a quote now.

Co-Authored-By: B. Petersen <r10s@b44t.com>
2020-10-10 12:41:43 +03:00
Alexander Krotov
8c82a5cbfa prepare_msg_raw: do not set GuaranteeE2ee
This code is inconsistent with EncryptHelper::should_encrypt, which uses
quorum rule.

UI does not display or use encryption state in-between preparing and
sending message anyway.

In addition, "sticky encryption" rule, which required all replies to
encrypted messages to be encrypted, is dropped. It is going to be
restored with the introduction of quoting.
2020-10-10 12:41:43 +03:00
Alexander Krotov
21b18836ca test_configure_error_msgs: do not check for "password" repetition
When run against host that is not in the provider database or has multiple
IMAP servers listed, this test fails because one error is returned for
each server.
2020-10-02 14:28:10 +03:00
Alexander Krotov
60a8b47ad0 e2ee: require quorum to enable encryption
Previously, standard Autocrypt rule was used to determine whether
encryption is enabled: if at least one recipient does not prefer
encryption, encryption is disabled.

This rule has been problematic in large groups, because the larger
is the group, the higher is the chance that one of the users does not
prefer encryption.

New rule requires a majority of users to prefer encryption. Note that it
does not affect 1:1 chats, because it is required that *strictly* more
than a half users in a chat prefer encryption.
2020-09-27 23:38:06 +03:00
Alexander Krotov
0344bc387c Add encryption preference test 2020-09-27 23:38:06 +03:00
B. Petersen
b5e1b1a2d2 test for DC_EVENT_MSGS_NOTICED 2020-09-24 11:36:40 +02:00
Hocuri
637d2661e8 Show better errors when configuring (#1917)
* Show all errors when configuring

* Shorten some overly long msgs
2020-09-21 15:06:33 +02:00
Alexander Krotov
c124eadf9d Emit chat modification event on contact rename 2020-09-20 00:45:36 +03:00
Alexander Krotov
97b1a1c392 Set contact ID in event related to contact blocking 2020-09-19 22:01:45 +03:00
Alexander Krotov
fe1c99c5e8 Set contact ID in ContactsChanged on modification 2020-09-19 22:01:45 +03:00
B. Petersen
c6339c4ae4 remove python bindings and tests for unused dc_empty_server() 2020-09-07 06:38:48 +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
f6854fd22f Add python test for contact renaming 2020-08-23 16:44:13 +03:00
Alexander Krotov
be922eef0f Format plain text as Format=Flowed DelSp=No
This avoids triggering spam filters which require that lines are wrapped
to 78 characters.
2020-08-22 13:57:10 +03:00
Hocuri
1325b2f7c6 Fix #1791 Receive group system messages from blocked users (#1823)
Fix #1791 and show all group messages if the user already is in the group, even if the sender is blocked
Also fix a comment
Co-authored-by: link2xt <ilabdsf@gmail.com>
2020-08-21 11:57:37 +02:00
Alexander Krotov
4f8e7e0166 python: fix more flaky tests
This change fixes test_immediate_autodelete and maybe other tests using
DirectImap.get_all_messages().
2020-08-08 23:04:05 +03:00
Alexander Krotov
9a21d5e9d9 Second attempt to fix flaky test
The server sometimes reorders the messages even if they were accepted
strictly in sequence.
2020-08-08 17:35:25 +03:00
Alexander Krotov
24d0382ec3 Add regression test for dc_set_chat_mute_duration panic
Panic was fixed in 3c8e60a2a3
2020-08-08 10:47:48 +03:00
Alexander Krotov
6d68fd4500 python: test get_mute_duration() 2020-08-08 10:47:48 +03:00
Alexander Krotov
528b5e9469 Attempt to eliminate test flakiness 2020-08-07 23:36:12 +03:00
Alexander Krotov
ec4d68af2b Remove xfail mark on regression test 2020-08-07 23:36:12 +03:00
Alexander Krotov
8faf397af2 Add regression test for IMAP message deletion
Test times out while trying to delete messages. Message deletion jobs
don't complete in time because IMAP response parsing is broken in the
Rust core.
2020-08-07 23:36:12 +03:00
holger krekel
2cbf2d8f65 fix bug reported by @adbenitez 2020-07-20 16:00:00 +02:00
holger krekel
06166f7956 make group left messages call the ac_member_removed hook, as per wishes from @adbenitez 2020-07-18 19:58:15 +02:00
holger krekel
933b14eedf fix #1480
make ac_member_removed and ac_member_added work if the action was triggered remotely.
also pass in the "actor" contact so one can know who did this.
2020-07-16 11:56:13 +02:00
holger krekel
650bd822bf some cleanup to finalize PR 2020-07-16 11:55:51 +02:00
holger krekel
37943d3d16 fix another flaky test 2020-07-16 11:55:51 +02:00
holger krekel
e07869ae95 improve debugging 2020-07-16 11:55:51 +02:00
Alexander Krotov
7bb6890f26 Send MDNs for messages deleted on the server
Now MarkseenMsgOnImap sends MDN even if it can't mark the message as
seen on the server.

To prevent multiple MDNs from being sent, MarkseenMsgOnImap is postponed
until the message is detected in a folder from which it is not going to
be moved.
2020-07-14 23:26:48 +03:00
Alexander Krotov
2aa808756e Add test for MDN not sent for server deleted messages 2020-07-14 23:26:48 +03:00
Alexander Krotov
6cb75114c1 Cleanup test_basic_imap_api() 2020-07-13 01:53:28 +03:00
Alexander Krotov
1e84e81e7d imap: expunge folder before IDLE if needed
This ensures Inbox is expunged timely in setups that don't watch
DeltaChat folder.
2020-07-13 00:54:20 +03:00
Alexander Krotov
d3eb209d27 Add test for immediate server deletion 2020-07-13 00:54:20 +03:00