Commit Graph
5473 Commits
Author SHA1 Message Date
jikstra bc4eea0c28 cargo fmt 2022-11-18 02:44:19 +01:00
jikstra d8844a0524 Propagate encryption_mode from Chat to Message 2022-11-18 02:44:02 +01:00
jikstra a714a4c2da - Add encryption_modus field for msgs table and expose getters/setters on
Message
- Mind the encryption modus in RenderedEmail
2022-11-18 01:26:08 +01:00
jikstra cb03e93570 Start working on encryption_modus 2022-11-17 22:32:16 +01:00
iequidoo 25be8ccd05 fetch_new_messages(): fetch messages sequentially (#3688)
If we fetch messages out of order, then f.e. reactions don't work because if we process a reaction not yet having the corresponding message processed, the reaction is thrown away.
2022-11-17 15:51:59 -03:00
link2xt da6c68629d jsonrpc: do not return a result from deleteContact()
It was always true anyway.
2022-11-17 18:36:38 +00:00
link2xt b63baf939e Ignore two typescript errors
`as any` is not enough anymore.
2022-11-16 14:06:17 +00:00
link2xt 90d8e0cedc Fix detection of Trash, Junk, All etc. folders
imap_proto has been updated, so attributes like `\All`,
`\Junk` from RFC 3501 and RFC 6154 are no longer considered
extensions.
2022-11-15 23:40:07 +00:00
link2xt 1c2d4c518e Fix typos 2022-11-15 23:23:44 +00:00
bjoern 0c030e811f prepare 1.101.0 (#3757)
* update changelog for core101

* bump version to 1.101.0
py-1.101.0 1.101.0
2022-11-15 16:08:29 +01:00
link2xt 428ef11157 Add IMAP UIDs to message info (#3755) 2022-11-15 15:19:32 +01:00
link2xt ee34b64f5d Pop recently seen loop event out of the queue when it's in the past 2022-11-15 11:29:13 +00:00
bjoern c1f9d8f7a1 allow deleting referenced contacts in UI (#3751)
* allow deleting referenced contacts in UI

we are quite often getting requests of users
who want to get rid of some contact in the "new chat" list.
there is already a "delete" option,
but it does not work for referenced contacts -
however, it is not obvious for users that a contact is in use,
esp. of some mailing list or larger chat, old contacts, whatever.

this pr revives an old idea [^1] of "soft deleting" referenced contacts -
this way, the user can remove the annoying entry
without the need to understand complicated things
and finally saying that deletion is impossible :)

once the contact is reused, it will reappear,
however, this is already explained in the confirmation dialog of the UIs.

technically, this pr was simpler as expected as we already have
a Origin::Hidden, that is just reused here.

[^1]: https://github.com/deltachat/deltachat-core/pull/542

* update rust doccomment

* update changelog

* avoid races on contact deletion

chats may be created between checking for "no chats" and contact deletion.

this is prevented by putting the statement into an EXCLUSIVE transaction.

* fix failing python test
2022-11-15 11:02:47 +01:00
link2xt 996be5d247 Improve IMAP logging
https://github.com/deltachat/deltachat-core-rust/pull/3749
2022-11-14 11:41:52 +00:00
link2xt 7d45419724 Convert anyhow errors to select_folder errors with alternate fmt 2022-11-14 11:40:40 +00:00
link2xt c0ae5c0fb7 Use anyhow for close_folder() errors 2022-11-13 23:49:34 +00:00
link2xt 09042d12d4 Changelog 2022-11-13 20:35:05 +00:00
link2xt 7db147da14 Log fake IDLE interruptions 2022-11-13 20:35:05 +00:00
link2xt 1324b5da13 Rename folder argument into folder_config 2022-11-13 20:35:05 +00:00
link2xt 4ee14e6e77 Add more contexts to IMAP errors 2022-11-13 20:35:05 +00:00
link2xt e1d50757b3 Better format for scan_folders errors 2022-11-13 20:35:05 +00:00
link2xt 9a447e8554 Log IDLE errors with all contexts 2022-11-13 20:35:05 +00:00
link2xt 516a5e9c5f Add contexts to both the timeout and actual IDLE error
Note that `IMAP IDLE protocol timed out` was previously
added to the wrong error: not the timeout error (first `?`)
but actual error happened during IDLE, such as a network error.
2022-11-13 20:35:05 +00:00
link2xt 4744f5eecf Add folder name to IMAP IDLE interrupt logs 2022-11-13 22:11:47 +03:00
link2xt 33839b5667 imap: log disconnection attempts 2022-11-13 17:59:28 +00:00
link2xt 43f2d64a6f imap: flatten fetch_idle() 2022-11-13 17:59:28 +00:00
link2xt 13f30c3167 Add configured_inbox_folder to account info
This goes into the log on Android.
2022-11-13 16:21:44 +00:00
Hocuri 749f00766f Go back to standard async_zip, fix build failures (#3747)
If building DC failed with some long error message about "spurious
network error" and "async_io_utilities", then this PR fixes that.

Majored deleted the rs-async-io-utilities repo because he [doesn't need it anymore](https://github.com/Majored/rs-async-zip/commit/618f700811362189bb46d9e736c7ea983ecf6266), so that https://github.com/dignifiedquire/rs-async-zip doesn't have its dependency anymore. The latter was a hotfix-fork of https://github.com/Majored/rs-async-zip because https://github.com/Majored/rs-async-zip/pull/27, fixing https://github.com/deltachat/deltachat-core-rust/issues/3476, wasn't merged.

But apparently the problem of
https://github.com/deltachat/deltachat-core-rust/issues/3476 is fixed in
`async_zip = "0.0.9"`, at least all the webxdcs from https://webxdc.org/
worked fine for me. So, let's just go back to the official async_zip.
2022-11-12 22:01:04 +01:00
bjoern d2cc343649 prepare 1.100.0 💯 (#3745)
* update changelog for core100

* bump version to 1.100.0
py-1.100.0 1.100.0
2022-11-09 16:19:17 +00:00
Simon Laux f20c3e08d4 jsonrpc: show sticker image in quote (#3744)
* jsonrpc: show sticker image in quote

* add pr number to changelog
2022-11-09 16:43:57 +01:00
Simon Laux ae4c7b635d jsonrpc: add miscSaveSticker method (#3743)
* jsonrpc: add `miscSaveSticker` method

* apply suggestions from link2xt
2022-11-09 16:43:34 +01:00
link2xt b9f1f9c41e jsonrpc: add invalid key to {get,set}_config error 2022-11-08 21:55:25 +00:00
Simon Laux b46d40aa07 use dc fork of tiny emitter (#3741)
* use dc fork of tiny emitter

* add pr number to changelog
2022-11-08 21:22:58 +01:00
Simon Laux 11a6991b5c jsonrpc: ts-client use object instead of array for contextEmitters (#3740)
reason:
the array solution has many empty elements in between accounts in practice,
which is annoying when debugging desktop
2022-11-08 21:22:51 +01:00
link2xt fcf0cb5d69 MSRV is now 1.57 2022-11-07 18:24:54 +00:00
link2xt a271baa1ae Update rpgp to 0.9 and bump MSRV to 1.57.0 2022-11-07 18:23:26 +00:00
Hocuri 0194c7fcbc Typo fix (#3738) 2022-11-07 18:07:22 +01:00
link2xt 5ee6cba557 Update Cargo.lock 2022-11-06 21:27:21 +00:00
link2xt 475d18bd37 Update deltachat-rpc-server version 2022-11-06 21:26:05 +00:00
link2xt 75ed4fe398 JSON-RPC stdio server
It speaks JSON-RPC serialized into JSON Lines over stdio.
2022-11-06 20:33:24 +00:00
link2xt d29b0baa25 Prepare core release 1.99.0 py-1.99.0 1.99.0 2022-11-06 17:41:47 +00:00
ffd57772e9 Add DC_EVENT_INCOMING_MSG_BUNCH event (#3643)
* Add DC_EVENT_INCOMING_MSG event

* Fix lots of compile errors

* Docs

* Changelog

* Fix python tests

Adding DC_EVENT_INCOMING_MSG_BUNCH made the python tests fail because they use `get_matching("DC_EVENT_INCOMING_MSG")`, which also matches DC_EVENT_INCOMING_MSG_BUNCH, so the tests got confused.

This fixes `get_matching()` to only match whole event names.

* Also fix test_ac_setup_message_twice()

The built regex was ^EVENT_NAME1|EVENT_NAME2$, which becomes parsed as
"^EVENT_NAME1" OR "EVENT_NAME2$". Introduce a group (parentheses) to fix
this.

* desktop will use DC_EVENT_INCOMING_MSG_BUNCH,
so I would not call it experimental anymore

* add generated node constants

* msg_ids in the event as Vec<u32>
number[] in js land

this is way more convinient than a json encoded string.

* Apply suggestions from code review

Co-authored-by: bjoern <r10s@b44t.com>

Co-authored-by: Simon Laux <mobile.info@simonlaux.de>
Co-authored-by: Simon Laux <Simon-Laux@users.noreply.github.com>
Co-authored-by: bjoern <r10s@b44t.com>
2022-11-06 17:17:48 +00:00
link2xt e648e4fb29 DKIM-Checking: Don't disallow keychanges for now (#3728) 2022-11-06 16:18:21 +00:00
Hocuri ecab62a56b Fix flaky test_block_mailing_list() (#3733)
Seems like consume_events() didn't work properly, i.e. in some cases it
didn't see the latest events and failed to consume them. So, the
IncomingMsg event from receiving DC_MAILINGLIST stayed in the events
channel, which made this fail:

```rust
        // Check that no notification is displayed for blocked mailing list message.
        while let Ok(event) = t.evtracker.try_recv() {
            assert!(!matches!(event.typ, EventType::IncomingMsg { .. }));
        }
```

Fix it by explicitly waiting for the first IncomingMsg event.
2022-11-05 14:27:39 +00:00
Hocuri e21ea739d9 Ignore now-failing test 2022-11-05 10:10:50 +01:00
Hocuri 659bb08389 Also don't disallow going back to cleartext 2022-11-05 10:10:35 +01:00
Hocuri f8da264e2b changelog 2022-11-05 01:47:27 +00:00
Hocuri db84317be0 DKIM-Checking: Don't disallowing keychanges for now
To get back to a releaseable state - the info stays accessible in the
Message-info.

We can re-enable it as soon as it has been tested thoroughly.
2022-11-05 01:47:03 +00:00
link2xt e93dc33ef8 Do not allow peerstate reset if DKIM check failed
The problem was that a message without Autocrypt key or with a wrong
signature resets peerstate regardless of what DKIM check says. I
inserted sleep(1.1) to make sure reset always happens and make the bug
reproducible, then fixed it by forbidding reset if DKIM check fails.

https://github.com/deltachat/deltachat-core-rust/pull/3731
2022-11-05 01:44:37 +00:00
link2xt cb1a4291d0 Accept ToString instead of AsRef<str> in Params.set() (#3732) 2022-11-05 02:17:29 +01:00