Commit Graph

8936 Commits

Author SHA1 Message Date
Simon Laux
b959db7e2f feat: jsonrpc add BasicMessage api 2025-04-01 06:15:04 +02:00
link2xt
73095bcaff chore(release): prepare for 1.157.3 v1.157.3 2025-03-19 09:12:19 +00:00
iequidoo
ea5f778cc0 refactor(jsonrpc): Rename copy_to_blobdir() to copy_to_blob_dir() 2025-03-18 21:22:36 -03:00
link2xt
14a7e39625 refactor(deltachat-rpc-client): use wait_for_event() type argument 2025-03-18 19:47:31 +00:00
Hocuri
4a2bfe03da api: Sketch add_transport_from_qr(), add_transport(), list_transports(), delete_transport() APIs (#6589)
Four new APIs `add_transport_from_qr()`, `add_transport()`,
`list_transports()`, `delete_transport()`, as described in the draft at
"API".

The `add_tranport*()` APIs automatically stops and starts I/O; for
`configure()` the stopping and starting is done in the JsonRPC bindings,
which is not where things like this should be done I think, the bindings
should just translate the APIs.

This also completely disables AEAP for now.

I won't be available for a week, but if you want to merge this already,
feel free to just commit all review suggestions and squash-merge.
2025-03-18 14:03:01 +01:00
link2xt
8fd972a2f9 fix: use protected Date with protected Autocrypt 2025-03-18 05:44:33 +00:00
iequidoo
5d334ee6ee fix: Don't SMTP-send self-only messages if DeleteServerAfter is "immediate" (#6661) 2025-03-18 00:38:21 -03:00
Hocuri
dc17f2692c fix: Fix setting up a profile and immediately transferring to a second device (#6657)
Found and fixed a bug while investigating
https://github.com/chatmail/core/issues/6656. It's not the same bug,
though.

Steps to reproduce this bug:
- Create a new profile
- Transfer it to a second device
- Send a message from the first device
- -> It will never arrive on the second device, instead a warning will
be printed that you are using DC on multiple devices.

The bug was that the key wasn't created before the backup transfer, so
that the second device then created its own key instead of using the
same key as the first device.

In order to regression-test, this PR now changes `clone()` to use "Add
second device" instead of exporting and importing a backup. Exporting
and importing a backup has enough tests already.

This PR also adds an unrelated test `test_selfavatar_sync()`.

The bug was introduced by https://github.com/chatmail/core/pull/6574 in
v1.156.0
2025-03-17 18:12:35 +01:00
link2xt
94187f7ee1 chore: update strum dependency 2025-03-17 15:19:36 +00:00
link2xt
fa7bf179fb test: fix test_no_old_msg_is_fresh flakiness 2025-03-17 14:56:23 +00:00
dependabot[bot]
9bca0b3b90 chore(cargo): bump uuid from 1.12.1 to 1.15.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.12.1 to 1.15.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.12.1...v1.15.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 14:46:48 +00:00
Nico de Haen
4c93feeddb feat: add "delete_for_all" function in json-rpc (#6672) 2025-03-17 14:29:04 +01:00
Sebastian Klähn
3d061d1dbd feat(jsonrpc): add copy_to_blobdir api (#6660)
Add a new API to jsonrpc to copy a file over to blobdir. This enables
desktop tauri to not give global file permission.
2025-03-17 14:08:44 +01:00
link2xt
156f9642fe build: remove encoded-words dependency
mail-builder is doing its own encoding.
2025-03-16 19:49:55 +00:00
link2xt
ef008d4ca0 fix: use protected Date header for signed messages 2025-03-16 16:08:46 +00:00
Hocuri
0931d9326e fix: Never send empty To: header (#6663)
fix #6662 by adding "hidden-recipients:" if To: header would be empty
2025-03-16 09:47:57 +00:00
link2xt
65ea456bd8 build: remove websocket support from deltachat-jsonrpc
WebSocket support is not used
and is not maintained. It still uses
outdated axum 0.7 version
and does not have any authentication.

Delta Chat Desktop has a new browser target
that implements WebSocket support on top
of stdio server, supports blobs
and is tested in CI.
2025-03-16 09:04:26 +00:00
link2xt
7f55613607 test: avoid creating contacts in test_sync_{accept,block}_before_first_msg()
When it is possible to test that no unhidden contact
is creating by looking through the contact list
or get the contact ID as the from_id of received message,
do it to avoid acidentally creating a contact
or changing its origin before testing.
2025-03-16 03:47:55 +00:00
link2xt
03b0185b8e chore(release): prepare for 1.157.2 v1.157.2 2025-03-15 11:43:33 +00:00
link2xt
1fa9707317 fix: update async-compression to 0.4.21 to fix IMAP COMPRESS getting stuck
async-compression 0.4.21 fixes a bug in the encoder
where it did not flush all the internal state sometimes,
resulting in IMAP APPEND command timing out
waiting for response when uploading large sync messages.

See <https://github.com/Nullus157/async-compression/pull/333>
for details.
2025-03-15 10:39:27 +00:00
Hocuri
e10f95b3ea refactor: Extract handle_edit_delete() function for message edit/delete (#6664)
Follow-up to https://github.com/chatmail/core/pull/6576
2025-03-15 09:26:17 +01:00
iequidoo
82f61035d4 fix: Prefer hidden Message-ID header if any
Delta Chat already adds hidden Message-ID header because some servers mess up with it, so it should
be preferred.
2025-03-13 19:52:33 -03:00
link2xt
4ec20ab9dc test: return chat ID from TestContext.exec_securejoin_qr() 2025-03-13 21:08:14 +00:00
link2xt
296d2aa7f4 test(test_secure_join): Bob should not create a 1:1 chat before sending a message 2025-03-13 21:08:14 +00:00
link2xt
10e711621c chore(release): prepare for 1.157.1 v1.157.1 2025-03-13 01:34:08 +00:00
link2xt
1e3c894827 chore: update repository URLs to make npm and PyPI publishing possible 2025-03-13 00:31:54 +00:00
link2xt
da4f1b2a98 chore(release): prepare for 1.157.0 v1.157.0 2025-03-12 23:00:47 +00:00
link2xt
51bbdadfad feat: ignore encryption preferences
Encryption preference is sent in Autocrypt header,
but otherwise ignored.

Delta Chat always prefers encryption if it is available.
2025-03-12 16:44:52 +00:00
link2xt
339f695bd6 test(python): port test_no_old_msg_is_fresh to JSON-RPC 2025-03-12 16:44:52 +00:00
link2xt
f8c4662c9a fix: process Autocrypt-Gossip only after merging protected headers
Otherwise no Autocrypt-Gossip is applied if To header is protected
by replacing with "hidden-recipients".
2025-03-12 15:12:33 +00:00
dependabot[bot]
c825b2584b chore(cargo): bump smallvec from 1.13.2 to 1.14.0
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.13.2 to 1.14.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.2...v1.14.0)

---
updated-dependencies:
- dependency-name: smallvec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 03:23:50 +00:00
iequidoo
c12c4f64c4 fix: Ignore hidden headers in IMF section
Hidden headers are nonstandard, so they aren't DKIM-signed by e.g. OpenDKIM if they appear in IMF
section.
2025-03-11 23:39:36 -03:00
link2xt
b5acbaa31c api(ffi): store reference pointer to Context in dc_chat_t
This avoids problems if dc_context_t
is unreferenced, invalidating dc_chat_t
that was derived from it.
2025-03-12 02:02:53 +00:00
link2xt
b5de5d0dc0 build: build Android wheels for PyPI 2025-03-12 01:51:48 +00:00
iequidoo
fa4de8f72e test: Deletion request fails in an unencrypted chat and the message remains 2025-03-11 19:54:19 -03:00
link2xt
3b3d5767b0 build(nix): update NDK to 27.2.12479018 2025-03-11 21:51:02 +00:00
link2xt
e5a3eae531 build: update env_logger to get rid of unmaintained humantime dependency
This makes cargo-deny happy.
2025-03-11 03:08:44 +00:00
link2xt
10633531e5 build(nix): include ./fuzz into the source code 2025-03-11 02:33:30 +00:00
link2xt
d69db8f336 build: intergrate fuzz crate into workspace
This makes `fuzz` use the same lockfile
as the rest of the crates
and makes sure it fuzzes the same versions
of dependencies, e.g. `mailparse`.
2025-03-11 00:37:04 +00:00
link2xt
491d6abe49 docs(deltachat-rpc-client): document Account.import_vcard() 2025-03-10 23:54:31 +00:00
link2xt
8e9c79061f docs(deltachat-rpc-client): document Account.check_qr() 2025-03-10 23:54:31 +00:00
link2xt
94f57e786d api(deltechat-rpc-client): add Account.wait_for_msgs_noticed_event() 2025-03-10 23:54:31 +00:00
link2xt
db1a7f6084 api(deltachat-rpc-client): add Account.get_device_chat() 2025-03-10 23:54:31 +00:00
link2xt
25df14707e api(deltachat-rpc-client): add Account.device_contact 2025-03-10 23:54:31 +00:00
link2xt
26672900d5 fix: update async-imap to 0.10.23 to fix division by zero 2025-03-10 23:18:16 +00:00
link2xt
82573dc78c api(deltachat-rpc-client): make it possible to clone accounts 2025-03-10 22:43:23 +00:00
link2xt
35d4eb5168 chore(release): prepare for 1.156.3 v1.156.3 2025-03-09 20:46:22 +00:00
link2xt
b6d4d10025 chore: update iroh to 0.33 2025-03-09 18:21:24 +00:00
link2xt
53fa9ebf11 build: fixup nix flake after removing git dependency 2025-03-09 18:03:34 +00:00
link2xt
287829d385 build: use mailbuilder from crates.io
This gets rid of the last git dependency.
2025-03-09 17:53:59 +00:00