iequidoo
3f27be9bcb
refactor: Add params when forwarding message instead of removing unneeded ones
...
We periodically forget to remove new params from forwarded messages as this can't be catched by
existing tests, some examples:
bfc08abe88
a1837aeb8c
56b2361f01
This may leak confidential data. Instead, it's better to explicitly list params that we want to
forward, then if we forget to forward some param, a test on forwarding messages carrying the new
functionality will break, or the bug will be reported earlier, it's easier to notice that some info
is missing than some extra info is leaked.
2025-12-09 03:54:54 -03:00
link2xt
5902fe2cbe
refactor: remove EncryptHelper.prefer_encrypt
...
It always had the same value of EncryptPreference::Mutual
2025-12-07 15:33:36 +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
0defa117a0
refactor: use u16 instead of usize to represent progress bar
2025-12-07 13:23:31 +00:00
link2xt
3821cfab0c
fix: use u64 to count the number of bytes sent/received over the network
...
It is possible to send more than 4 GiB into network stream
or receive more than 4 GiB from it, in which case
this counter may overflow.
2025-12-07 13:23:31 +00:00
link2xt
09f159991e
fix: use u64 to represent the number of bytes in backup files
2025-12-07 13:23:31 +00:00
link2xt
014d2ace76
fix: use u64 instead of usize to calculate storage usage
...
On 32-bit systems such as old Android phones usize is 32-bit as well
and cannot store sizes that exceed 4 GiB.
2025-12-06 13:01:46 +00:00
link2xt
646728372b
chore: add RUSTSEC-2025-0134 exception to deny.toml
2025-12-06 12:56:16 +00:00
link2xt
7c30aef2ed
chore(release): prepare for 2.33.0
v2.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
iequidoo
dea1b414db
feat: Case-insensitive search for non-ASCII chat and contact names ( #7477 )
...
This makes `Contact::get_all()` and `Chatlist::try_load()` case-insensitive for non-ASCII chat and
contact names as well. The same approach as in f6f4ccc6ea "feat:
Case-insensitive search for non-ASCII messages (#5052 )" is used: `chats.name_normalized` and
`contacts.name_normalized` colums are added which store lowercased/normalized names (for a contact,
if the name is unset, it's a normalized authname). If a normalized name is the same as the
chat/contact name, it's not stored to reduce the db size. A db migration is added for 10000 random
chats and the same number of the most recently seen contacts, for users it will probably migrate all
chats/contacts and for bots which may have more data it's not important.
2025-12-05 05:11:29 -03:00
link2xt
aa5ee19340
chore(release): prepare for 2.32.0
v2.32.0
2025-12-04 21:00:59 +00:00
iequidoo
9271ecd208
feat: lookup_or_create_adhoc_group(): Add context to SQL errors ( #7554 )
2025-12-04 17:17:04 -03:00
link2xt
952f6735a2
chore(release): prepare for 2.31.0
v2.31.0
2025-12-04 19:28:31 +00:00
link2xt
a50aa3b6e9
ci: update npm before publishing packages
...
Newer npm is apparently needed for "trusted publishing".
2025-12-04 19:26:25 +00:00
link2xt
23d95df66a
feat: use v2 SEIPD when sending messages to self
2025-12-04 18:25:30 +00:00
link2xt
6db2cf6144
chore(release): prepare for 2.30.0
v2.30.0
2025-12-04 17:01:28 +00:00
link2xt
47c1e54219
ci: use "trusted publishing" for NPM packages
...
See the documentation at <https://docs.npmjs.com/trusted-publishers >.
I have removed the token that was used since <https://github.com/chatmail/core/pull/5575 >,
created two new GitHub deployment environments and configured
trusted publishing for two packages (see the environment URLs) on https://www.npmjs.com/
2025-12-04 15:40:28 +00:00
d2weber
b41c309e21
fix: shutdown shortly after call
2025-12-04 15:37:33 +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
iequidoo
676132457f
feat: Disable SNI for STARTTLS ( #7499 )
...
Many clients don't send it currently, so it is unlikely that servers depend on it:
https://mastodon.social/@cks/114690055923939576 .
For "implicit TLS", do not turn it off yet, it will serve as a fallback in case of rare server that
needs it. If the server only supports STARTTLS and requires SNI then it is really weird, likely
should not happen.
2025-12-04 05:11:50 -03:00
Simon Laux
8bce137e06
chore: remove two outdated todo comments ( #7550 )
...
remove two small outdated to do comments that are not relevant anymore
(already done or solved differently)
2025-12-02 19:08:24 +00:00
dependabot[bot]
f359a9c451
chore(cargo): bump sdp from 0.8.0 to 0.10.0
...
Bumps [sdp](https://github.com/webrtc-rs/webrtc ) from 0.8.0 to 0.10.0.
- [Release notes](https://github.com/webrtc-rs/webrtc/releases )
- [Commits](https://github.com/webrtc-rs/webrtc/compare/v0.8.0...v0.10.0 )
---
updated-dependencies:
- dependency-name: sdp
dependency-version: 0.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-02 13:51:14 -03:00
dependabot[bot]
0d97a5b511
chore(deps): bump astral-sh/setup-uv from 7.1.3 to 7.1.4
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.3 to 7.1.4.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](5a7eac68fb...1e862dfacb )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-02 10:51:20 +00:00
dependabot[bot]
7ccc021aea
chore(cargo): bump syn from 2.0.110 to 2.0.111
...
Bumps [syn](https://github.com/dtolnay/syn ) from 2.0.110 to 2.0.111.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.110...2.0.111 )
---
updated-dependencies:
- dependency-name: syn
dependency-version: 2.0.111
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-02 10:45:01 +00:00
dependabot[bot]
08e9cdc487
chore(deps): bump actions/checkout from 5 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-02 10:40:16 +00:00
link2xt
12cee23924
chore(release): prepare for 2.29.0
v2.29.0
2025-12-01 02:07:21 +00:00
link2xt
5fb118e5a3
refactor: make signing key non-optional for pk_encrypt
2025-12-01 01:16:01 +00:00
link2xt
1ec3f45dc1
refactor: use SYMMETRIC_KEY_ALGORITHM constant in symm_encrypt_message()
2025-12-01 01:16:01 +00:00
link2xt
e4e19b57b3
ci: build Python wheels in separate jobs
2025-11-30 02:59:17 +00:00
link2xt
2efb128fec
ci: do not build fake RPC server source packages
...
The source packages were needed for Android
to repack compatible Linux wheels,
but now Android is officially supported.
2025-11-30 02:59:17 +00:00
link2xt
4a5d5bdeb1
ci: do not install Python manually to bulid RPC server wheels
...
Python preinstalled in runners should be up to date by now.
2025-11-30 02:59:17 +00:00
link2xt
cde4a61be7
ci: fix a typo in deltachat-rpc-server publishing workflow
2025-11-30 02:59:17 +00:00
dependabot[bot]
ca2b4d7a6f
chore(cargo): bump tokio from 1.45.1 to 1.48.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.45.1 to 1.48.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.45.1...tokio-1.48.0)
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
2025-11-29 21:20:08 -03:00
iequidoo
ef61c0c408
test: test_remove_member_bcc: Test unencrypted group as it was initially
2025-11-29 17:44:52 -03:00
link2xt
dc5f939ac6
feat!: increase backup version from 3 to 4
...
Migration 140 merged in version 2.28.0
introduced `NOT NULL` transport_id
columns, so old versions of core not aware of it
fail e.g. when they expect conflict on `(folder)`
column rather than `(transport_id, folder)`.
2025-11-29 17:24:08 +00:00
iequidoo
2c0092738f
feat: Don't update self-{avatar,status} from received messages ( #7002 )
...
The normal way of synchronizing self-avatar and -status nowadays is sync messages.
2025-11-29 02:19:09 -03:00
dependabot[bot]
b1e6cf2052
chore(cargo): bump rand from 0.9.0 to 0.9.2 ( #7501 )
2025-11-29 00:18:03 +00:00
link2xt
343dca87f7
fix: do not use deprecated ConfiguredProvider in get_configured_provider
2025-11-29 00:17:26 +00:00
link2xt
4d06f5a8ae
fix: upload sync messages only with the primary transport
...
Currently there is a race between transports
to upload sync messages and delete them from `imap_send` table.
Sometimes mulitple transports upload the same message
and sometimes only some of them "win".
With this change only the primary transport
will upload the sync message.
2025-11-29 00:17:26 +00:00
link2xt
a4bec7dc70
refactor: remove update_icons and disable_server_delete migrations
2025-11-29 00:17:26 +00:00
link2xt
1f32c5ab40
refactor: use ConfiguredProvider config directly when loading legacy settings
2025-11-29 00:17:26 +00:00
link2xt
43e8d5cc6c
ci: unpin mypy
2025-11-29 00:16:58 +00:00
link2xt
7e4547582e
fix: do not configure folders during transport configuration
...
We do not have transport ID assigned until configuration finishes,
so we cannot save UID validitiy for folders and write
into any tables that have transport_id column yet.
2025-11-29 00:05:29 +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