Commit Graph

494 Commits

Author SHA1 Message Date
missytake
50a73666fd api(jsonrpc): process events forever by default 2026-01-31 15:56:13 +01:00
link2xt
6325a35b5b test: make test_dont_move_sync_msgs less flaky 2026-01-30 02:08:49 +00:00
iequidoo
c9026bff2c test: 2nd device receives message via new primary transport
This currently fails because we don't start I/O for new transports synced from another device.
2026-01-28 22:00:40 -03:00
link2xt
1bf24618fa feat: never create IMAP folders
Existing setups already have the folders created
and for new setups only INBOX should be used.
2026-01-28 14:55:51 +00:00
B. Petersen
448c0d2268 feat: use more fitting encryption info message 2026-01-24 08:45:39 +01:00
link2xt
baeb31b5fa chore(release): prepare for 2.39.0 2026-01-23 21:52:40 +00:00
Hocuri
008e6c4af3 chore(release): prepare for 2.38.0 2026-01-22 21:32:31 +01:00
Hocuri
f5e1e2678b fix: Make it possible to leave and immediately delete a chat (#7744)
Without this PR, if you leave and immediately delete a chat, the leave
message won't be sent.

This is needed for
https://github.com/deltachat/deltachat-android/issues/4158.
2026-01-19 15:07:19 +01:00
Hocuri
c3a5e3ac0d feat: In teamprofiles, don't mark chat as read on outgoing message (#7717)
Fix https://github.com/chatmail/core/issues/7704
2026-01-19 11:39:06 +00:00
Simon Laux
b2f31c8148 api(rust, jsonrpc): add get_message_read_receipt_count method (#7732)
closes #7728
2026-01-19 11:37:10 +00:00
missytake
47b49fd02e api(jsonrpc): add run_until parameter for bots (#7688)
This commit also makes testing hooks easier, as it allows to process
events and run hooks on them, until a certain event occurs.

---------

Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2026-01-14 19:58:44 +01:00
iequidoo
e456be4e21 fix: Send bcc-self messages to all own relays (#7656)
This fixes the bug when a new transport doesn't become primary on the 2nd device because INBOX from
the new transport isn't fully fetched. Now the `Transports` sync message is received from the old
transport, but as it has updated "From", it updates the primary transport correspondingly. NB: I/O
for the new primary transport isn't immediately started however, this needs a separate fix.
2026-01-11 16:52:39 -03:00
iequidoo
ba4055b7df test(rpc-client): Replace remaining print()s with logging (#6082)
This is to fix tests failing with `OSError: [Errno 9] Bad file descriptor`. Maybe stdout closes
earlier than stderr, before the test finishes, not sure. For reference, the previous commit removing
print()s is 800edc6fce.
2026-01-11 14:52:13 -03:00
iequidoo
d552250dc4 test: Port test_dont_move_sync_msgs to JSON-RPC (#7676) 2026-01-09 15:26:00 -03:00
Simon Laux
2631745a57 feat: pre-messages / next version of download on demand (#7371)
Closes <https://github.com/chatmail/core/issues/7367>

Co-authored-by: iequidoo <dgreshilov@gmail.com>
Co-authored-by: Hocuri <hocuri@gmx.de>
2026-01-08 22:14:32 +00:00
link2xt
46bbe5f077 chore(release): prepare for 2.37.0 2026-01-08 20:45:33 +00:00
link2xt
7e811469b3 api: add who_can_call_me config option 2026-01-07 22:00:54 +00:00
link2xt
14a59afd5d fix: do not rely on Secure-Join header to detect {vc,vg}-request 2026-01-07 15:47:16 +00:00
link2xt
8d6f4b0354 chore(release): prepare for 2.36.0 2026-01-03 18:39:16 +00:00
iequidoo
6a293aebe2 test: Port test_import_export_online_all to JSON-RPC (#7411) 2025-12-19 01:17:59 -03:00
link2xt
fd90493766 feat: add core version to receive_imf failure message 2025-12-18 14:44:49 +00:00
link2xt
ddd4fc49a2 chore(release): prepare for 2.35.0 2025-12-16 22:22:20 +00:00
link2xt
7ba4a43253 feat: add transport addresses to IMAP URLs in message info 2025-12-16 16:49:49 +00:00
Simon Laux
a09fd4577a fix: add explicit limit for adding relays (5 at the moment) (#7611)
closes https://github.com/chatmail/core/issues/7608
2025-12-15 10:35:23 +00:00
Simon Laux
5925f72316 fix: remove now redundant "used_account_settings" and "entered_account_settings" from Context.get_info() (#7587)
follow up to https://github.com/chatmail/core/pull/7583
2025-12-13 21:21:55 +00:00
link2xt
4509c1bd06 chore: prepare 2.34.0 release 2025-12-11 16:28:55 +00:00
link2xt
99775458c4 test: test setting up second device between core versions 2025-12-10 22:51:17 +00:00
link2xt
58cd133b5c fix: synchronize primary transport immediately after changing it 2025-12-09 21:43:26 +00:00
link2xt
73e0f81e83 test: port test_synchronize_member_list_on_group_rejoin to JSON-RPC 2025-12-07 14:21:48 +00:00
link2xt
cbe842735e api(rpc-client): add Chat.num_contacts() 2025-12-07 14:21:48 +00:00
link2xt
72bc9f0ae4 api(rpc-client): accept Account for Chat.{add,remove}_contact() 2025-12-07 14:21:48 +00:00
link2xt
7c30aef2ed chore(release): prepare for 2.33.0 2025-12-05 21:35:21 +00:00
link2xt
c38d02728e fix: recognize all transport addresses as own addresses
Fix get_secondary_addrs() which was using
`secondary_addrs` config that is not updated anymore.
Instead of using `secondary_addrs` config,
use the `transports` table which contains all the addresses.
2025-12-05 21:15:30 +00:00
link2xt
aa5ee19340 chore(release): prepare for 2.32.0 2025-12-04 21:00:59 +00:00
link2xt
952f6735a2 chore(release): prepare for 2.31.0 2025-12-04 19:28:31 +00:00
link2xt
6db2cf6144 chore(release): prepare for 2.30.0 2025-12-04 17:01:28 +00:00
link2xt
f7ae2abe52 feat: synchronize transports via sync messages 2025-12-04 14:40:36 +00:00
link2xt
3a7f82c66e api: add TransportsModified event 2025-12-04 14:40:36 +00:00
holger krekel
d75a78d446 feat: introduce cross-core testing along with improvements to test frameworking 2025-12-04 14:29:16 +00:00
link2xt
12cee23924 chore(release): prepare for 2.29.0 2025-12-01 02:07:21 +00:00
link2xt
0d50d8703f build: use SPDX license expression in Python package metadata
License classifiers are replaced with `license`.
This is supported since `setuptools` v77.0.0:
<https://setuptools.pypa.io/en/stable/history.html#v77-0-0>

Without this change we get
`SetuptoolsDeprecationWarning: License classifiers are deprecated.`
with a reference to
<https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license>
2025-11-28 22:14:38 +00:00
link2xt
9aba299c75 build: increase minimum supported Python version to 3.10
Python 3.9 is not supported since 2025-10-31:
https://devguide.python.org/versions/

mypy just dropped support for Python 3.9:
<1a6ff59049>
2025-11-28 22:14:38 +00:00
link2xt
7bf7ec3d32 api(deltachat-rpc-client): add Message.exists() 2025-11-28 00:30:36 +00:00
holger krekel
b9ae74fab2 feat: deltachat_rpc_client.Rpc accepts rpc_server_path for using a particular deltachat-rpc-server (#7493)
also simplifies and make more readable popen-call to rpc-server 

addresses #7428
2025-11-25 11:02:42 +01:00
link2xt
3637fe67a7 feat: Hide To header in encrypted messages 2025-11-24 02:33:56 -03:00
holger krekel
8eef79f95d refactor: strike events in rpc-client request handling, get result from queue 2025-11-23 21:23:53 +01:00
link2xt
6077499f07 chore(release): prepare for 2.28.0 2025-11-23 17:08:42 +00:00
Hocuri
2f90b55309 feat: Stock string for joining a channel (#7480)
Add a stock string `%1$s invited you to join this channel.\n\nWaiting
for the device of %2$s to reply…`, which is shown when a user starts to
join a channel.

I did _not_ add an equivalent to `%1$s replied, waiting for being added
to the group…`, which is shown when vg-auth-required was received. I
don't think that this would add any information that's interesting to
the user, other than 'something is happening, hang on'. And the more
text on the screen, the less likely that anyone reads it. But if others
think differently, we can also add it.

With this PR, joining a channel looks like this:

```
Msg#2003: info (Contact#Contact#Info): Messages are end-to-end encrypted. [NOTICED][INFO]
Msg#2004: info (Contact#Contact#Info): Alice invited you to join this channel.

Waiting for the device of Alice to reply… [NOTICED][INFO]
Msg#2007🔒:  (Contact#Contact#2001): You joined the channel. [FRESH][INFO]
```
2025-11-20 21:13:04 +00:00
link2xt
be3e202470 feat: allow adding second transport 2025-11-20 15:51:19 +00:00
Hocuri
c83c131a37 feat: Rephrase "Establishing end-to-end encryption" -> "Establishing connection" 2025-11-18 18:58:26 +01:00