Commit Graph

1028 Commits

Author SHA1 Message Date
iequidoo e34fee72a0 feat: lookup_host_with_cache(): Don't return empty address list (#7596)
All users of this function expect a nonempty list to be returned, otherwise they fail with hard to
understand errors like "No connection attempts were made", so it's better to fail early if DNS
resolution failed and the cache doesn't contain resolutions as well.
2025-12-16 16:03:17 -03:00
link2xt 4509c1bd06 chore: prepare 2.34.0 release 2025-12-11 16:28:55 +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 7c30aef2ed chore(release): prepare for 2.33.0 2025-12-05 21:35:21 +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 12cee23924 chore(release): prepare for 2.29.0 2025-12-01 02:07:21 +00:00
link2xt 43e8d5cc6c ci: unpin mypy 2025-11-29 00:16:58 +00:00
link2xt 721b9cebef build: pin mypy to 1.18.2
mypy depends on librt since 1.19.0
and it fails to build with PyPy 3.10.
2025-11-28 22:14:38 +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:
<https://github.com/python/mypy/commit/1a6ff5904995c1d4c2ce0f0eab296475788fddf0>
2025-11-28 22:14:38 +00:00
link2xt 6077499f07 chore(release): prepare for 2.28.0 2025-11-23 17:08:42 +00:00
link2xt e7e31d7914 ci: do not use --encoding option for rst-lint
It was removed in rst-lint 2.0:
https://github.com/twolfson/restructuredtext-lint/commit/7b43036b4d2175d2f339a26cf3383d0c512d7add
2025-11-22 05:26:03 +00:00
link2xt be3e202470 feat: allow adding second transport 2025-11-20 15:51:19 +00:00
link2xt 22ebd6436f feat: default bcc_self to 0 for new accounts 2025-11-16 10:00:00 +00:00
link2xt cdfe436124 chore(release): prepare for 2.27.0 2025-11-16 06:34:11 +00:00
link2xt 7b54954401 test: port folder-related CFFI tests to JSON-RPC
Created new test_folders.py

Moved existing JSON-RPC tests:
- test_reactions_for_a_reordering_move
- test_delete_deltachat_folder

Ported tests:
- test_move_works_on_self_sent
- test_moved_markseen
- test_markseen_message_and_mdn
- test_mvbox_thread_and_trash (renamed to test_mvbox_and_trash)
- test_scan_folders
- test_move_works
- test_move_avoids_loop
- test_immediate_autodelete
- test_trash_multiple_messages

The change also contains fixes for direct_imap fixture
needed to use IMAP IDLE in JSON-RPC tests.
2025-11-12 08:07:40 +00:00
link2xt d39ed9d0f1 test: fix flaky test_send_receive_locations 2025-11-12 05:50:00 +00:00
link2xt 69a3a31554 chore(release): prepare for 2.26.0 2025-11-11 17:30:19 +00:00
Hocuri ee75094bef chore(release): prepare for 2.25.0 2025-11-05 17:27:00 +01:00
Hocuri e34687ba42 core(release): prepare for v2.24.0 2025-11-03 22:12:36 +01:00
link2xt c9b3da4a1a chore(release): prepare for 2.23.0 2025-11-01 16:03:01 +00:00
link2xt f34311d5c4 build: do not install pdbpp in the test environment for CFFI Python bindings
Closes <https://github.com/chatmail/core/issues/7376>
2025-10-31 12:33:23 +00:00
link2xt 885a5efa39 fix: stop notifying about messages in contact request chats 2025-10-31 07:31:35 +00:00
Hocuri 8b4c718b6b feat(backwards-compat): For now, send Chat-Verified header (instead of _verified) again 2025-10-29 14:52:54 +00:00
iequidoo a06ba35ce1 feat: Remove Config::ConfiguredSentboxFolder and everything related
It's used in `fetch_existing_msgs()`, but we can remove it and tell users that they need to
move/copy messages from Sentbox to Inbox so that Delta Chat adds all contacts from them. This way
users will be also informed that Delta Chat needs users to CC/BCC/To themselves to see messages sent
from other MUAs.
2025-10-26 14:17:07 -03:00
iequidoo 18445c09c2 feat: Remove Config::SentboxWatch (#7178)
The motivation is to reduce code complexity, get rid of the extra IMAP connection and cases when
messages are added to chats by Inbox and Sentbox loops in parallel which leads to various message
sorting bugs, particularly to outgoing messages breaking sorting of incoming ones which are fetched
later, but may have a smaller "Date".
2025-10-26 14:17:07 -03:00
link2xt 2f2a147efb feat: move the messages only from INBOX and Spam folders
We do not try to delete resent messages
anymore. Previously resent messages
were distinguised by having duplicate Message-ID,
but future Date, but now we need to download
the message before we even see the Date.
We now move the message to the destination folder
but do not fetch it.

It may not be a good idea to delete
the duplicate in multi-device setups anyway,
because the device which has a message
may delete the duplicate of a message
the other device missed.

To avoid triggering IMAP busy move loop
described in the comments
we now only move the messages
from INBOX and Spam folders.
2025-10-23 15:29:14 +00:00
link2xt 498a831873 api!: remove APIs to create protected chats
Create unprotected group in test_create_protected_grp_multidev
The test is renamed accordingly.

SystemMessage::ChatE2ee is added in encrypted groups
regardless of whether they are protected or not.
Previously new encrypted unprotected groups
had no message saying that messages are end-to-end encrypted
at all.
2025-10-19 11:35:09 +00:00
link2xt c6722d36de api!: remove public APIs to check if the chat is protected 2025-10-19 11:35:09 +00:00
link2xt 41c80cf3f2 chore(release): prepare for 2.22.0 2025-10-17 10:51:26 +00:00
link2xt 4a0b180d86 chore(release): prepare for 2.21.0 2025-10-16 18:18:10 +00:00
link2xt 8dd7c42f69 chore(release): prepare for 2.20.0 2025-10-13 11:34:44 +00:00
link2xt ab9fd3d5ed chore(release): prepare for 2.19.0 2025-10-12 17:33:43 +00:00
link2xt 0bc9fe841a chore(release): prepare for 2.18.0 2025-10-08 02:01:02 +00:00
link2xt 23bfa4fc43 api!: remove APIs for video chat invitations 2025-10-05 12:19:10 +00:00
link2xt 58d40c118c chore(release): prepare for 2.17.0 2025-10-04 00:41:56 +00:00
link2xt 570a9993f7 chore(release): prepare for 2.16.0 2025-10-01 13:34:45 +00:00
iequidoo 2260156c40 feat: Don't fetch messages from unknown folders (#7190)
Actually this leads to fetching messages only from watched folders and Spam. Motivation:
- At least Gmail has virtual folders which aren't correctly detected as such, e.g. "Sent".
- At least Gmail has many virtual folders and scanning all of them takes significant time, 5-6 secs
  in median for me. This slows down receiving new messages and consumes battery.
- Delta Chat shouldn't fetch messages from folders potentially created by other apps for their own
  purposes. NB: All compatible Delta Chat forks should use the "DeltaChat" folder as mvbox.
- Fetching from folders that aren't watched, e.g. from "Sent", may lead to message ordering issues.
2025-09-18 00:59:18 -03:00
link2xt 6d860f7eae chore(release): prepare for 2.15.0 2025-09-15 15:28:41 +00:00
link2xt 5d9b887624 chore(release): prepare for 2.14.0 2025-09-12 06:06:36 +00:00
link2xt 75bcf8660b chore(release): prepare for 2.13.0 2025-09-09 05:46:13 +00:00
link2xt 66c9982822 fix: add "Messages are end-to-end encrypted." to non-protected groups
The messages are end-to-end encrypted
in encrypted group regardless
of whether the group is protected or not.
2025-09-02 18:29:53 +00:00
bjoern 0bbd910883 feat: add call ringing API (#6650)
this PR adds a "ringing" api that can be used for calls later.

see deltachat.h for details about the API; jsonrpc is left out until
things are settled for the needs of android/iOS

UI using this PR already successfully are
https://github.com/deltachat/deltachat-ios/pull/2638 and
https://github.com/deltachat/deltachat-android/pull/3785 ; the "payload"
passed forth and back is optimised for
https://github.com/deltachat/calls-webapp

---------

Co-authored-by: l <link2xt@testrun.org>
2025-08-30 23:48:38 +02:00
link2xt 6372b677d2 chore(release): prepare for 2.12.0 2025-08-26 21:22:39 +00:00
link2xt ac10103b18 api!(python): remove remaining broken API for reactions
CFFI for reactions has been previously deprecated and removed,
so legacy python bindings using it don't work anymore.
2025-08-16 19:50:04 +00:00
link2xt 2e2cfc4cb3 chore(release): prepare for 2.11.0 2025-08-13 00:40:18 +00:00
link2xt 08bb0484eb chore(release): prepare for 2.10.0 2025-08-04 22:33:59 +00:00
Hocuri 93241a4beb feat: Also lookup key contacts in lookup_id_by_addr() (#7073)
If there is both a key and an address contact, return the most recently
seen one.
2025-08-04 21:32:09 +02:00