link2xt
3656337d41
refactor: do not return Result from valid_signature_fingerprints()
...
This function never fails.
2025-08-18 07:47:34 +00:00
link2xt
a89b6321f1
feat: assign messages to key-contacts based on Issuer Fingerprint
2025-08-16 23:22:35 +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
iequidoo
b696a242fc
feat: wal_checkpoint(): Do wal_checkpoint(PASSIVE) and wal_checkpoint(FULL) before wal_checkpoint(TRUNCATE)
...
This way the subsequent `wal_checkpoint(TRUNCATE)` is faster. We don't want to block writers and
readers for a long period.
2025-08-15 14:00:41 -03:00
link2xt
7e4822c8ca
fix: do not reverify already verified contacts via gossip
...
If the contact is already introduced by someone,
usually by adding to a verified group,
it should not be reverified because of another
chat message is a verified group.
This usually results is verification loops
and is not meaningful because the verifier
likely got this same contact introduced
in the same group.
2025-08-14 15:19:09 +00:00
link2xt
a955cb5400
docs: remove broken link from documentation comments
...
There are many servers by now so it is not
just a workaround for one server or location.
Stated reason is clear enough without
pointing to an issue.
2025-08-13 07:03:45 +00:00
link2xt
2e2cfc4cb3
chore(release): prepare for 2.11.0
v2.11.0
2025-08-13 00:40:18 +00:00
iequidoo
4157d1986f
fix: Add messages that can't be verified as DownloadState::Available ( #7059 )
...
We haven't dropped verified groups yet, so we need to do smth with messages that can't be verified
yet which often occurs because of messages reordering, particularly in large groups. Apart from the
reported case #7059 , i had other direct reports that sometimes messages can't be verified for
various reasons, but when the reason is already fixed, it should be possible to re-download failed
messages and see them.
Also remove the code replacing the message text with a verification error from
`apply_group_changes()` as `add_parts()` already does this.
2025-08-12 20:52:14 -03:00
iequidoo
d13eb2f580
feat: receive_imf::add_parts(): Get rid of extra Chat::load_from_db() calls
2025-08-12 20:52:14 -03:00
link2xt
5476f69179
fix: don't break long group names with non-ASCII characters
...
The fix is in mail-builder 0.4.4.
2025-08-12 23:50:58 +00:00
dependabot[bot]
dcdf30da35
Merge pull request #7103 from chatmail/dependabot/github_actions/actions/download-artifact-5
2025-08-12 23:00:40 +00:00
dependabot[bot]
55746c8c19
Merge pull request #7104 from chatmail/dependabot/github_actions/actions/checkout-5
2025-08-12 23:00:03 +00:00
iequidoo
dbdf5f2746
feat: get_securejoin_qr(): Log error if group doesn't have grpid
...
This doesn't fix anything in UIs currently because they don't call `get_securejoin_qr()` for
unencrypted groups, but it's still better to log an error which will be shown in this case.
2025-08-12 19:59:00 -03:00
iequidoo
b4e28deed3
feat: lookup_key_contact_by_address(): Allow looking up ContactId::SELF without chat id
...
This doesn't fix anything currently, but let's allow such lookups to avoid future bugs.
2025-08-12 19:59:00 -03:00
iequidoo
f4a604dcfb
refactor: Chat::is_encrypted(): Make one query instead of two for 1:1 chats
2025-08-12 19:59:00 -03:00
Hocuri
b3c5787ec8
test: Log the number of the test account if there are multiple alices ( #7087 )
...
In order to debug some test failures wrt broadcast channels, I need to
read the log of some tests that have an alice0 and an alice1.
It's currently not possible to tell whether a line was logged by alice0
or alice1, so, I would like to change that with this PR.
Edit: Turns out that there are more tests that call their profiles
"alice1"/"alice2" (or "alice"/"alice2") than "alice0"/"alice1". So, I
changed the logging to count "alice", "alice2", "alice3", ….
Not sure whether I should adapt old tests; it might save someone some
confusion in the future, but I might also make a mistake and make it so
that the test doesn't properly test anymore.
2025-08-12 08:51:23 +00:00
dependabot[bot]
471d0469dd
chore(deps): bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [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/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 08:21:41 +00:00
dependabot[bot]
113eda575f
chore(deps): bump actions/download-artifact from 4 to 5
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 05:32:37 +00:00
link2xt
45f1da82fe
fix: take Chat-Group-Name into account when matching ad hoc groups
2025-08-12 01:10:49 +00:00
link2xt
5f45ff77e4
chore: typo fix
2025-08-12 01:10:49 +00:00
link2xt
1c0201ee3d
fix: assign messages to a group if there is a Chat-Group-Name
...
Otherwise messages sent to small groups
with only two members are incorrectly assigned
to 1:1 chat.
2025-08-12 01:10:49 +00:00
link2xt
c7340e04ec
feat: do not require resent messages to be from the same chat
...
Chat was only loaded to avoid removing GuaranteeE2ee
for protected chats, but resending a message
in protected chat is guaranteed to be encrypted anyway.
2025-08-11 20:11:43 +00:00
link2xt
0a32476dc5
fix: do not reset GuaranteeE2ee in the database when resending messages
...
Otherwise if the message is loaded by the UI
after GuaranteeE2ee is reset but before SMTP queue item
is created, the message may appear as unencrypted
even if it was actually resent as encrypted.
2025-08-11 20:11:43 +00:00
link2xt
e02bc6ffb5
ci: update Rust to 1.89.0
2025-08-11 19:40:07 +00:00
link2xt
f41a3970b2
fix: do not add key-contacts to unencrypted groups
...
Encrypted message may create unencrypted groups
if the message does not have a Chat-Group-ID.
This can happen if v1 client sends an encrypted
message to opportunistically encrypted ad hoc group.
In this case `from_id` corresponds to the key-contact,
but we should add address-contact of the sender
to the member list.
2025-08-11 10:33:27 +00:00
bjoern
6c536f3a9b
fix: log and set imex progress error ( #7091 )
...
IMEX_PROGRESS(0) event is fired in case of errors, however, the last
error was not set in this case.
this is similar to the fix at #4195
and improves the error shown in the dialog for android and iOS; desktop
does not show an error dialog at all.
<img width="320" alt="IMG_9995"
src="https://github.com/user-attachments/assets/7065fc3d-3f30-4691-b1b2-1950564a25e2 "
/>
relates to https://github.com/deltachat/deltachat-android/issues/3533
2025-08-09 01:17:27 +02:00
link2xt
4b24b6a848
refactor: skip loading the contact of 1:1 unencrypted chat to show the avatar
...
If the chat is unencrypted, it gets unencrypted icon.
There is no need to load the address-contact to get the same icon.
2025-08-08 19:08:23 +00:00
link2xt
5f254a929f
refactor: rename icon-address-contact to icon-unencrypted
...
The icon is mainly used to identify unencrypted chats
in the chatlist where encrypted and unencrypted chats are mixed.
It is used for group chats rather than only for 1:1 chats
with address-contacts.
2025-08-08 19:08:23 +00:00
B. Petersen
8df1a01ace
feat: better string when using disappearing messages of one year (365..367 days, so it can be tweaked later)
2025-08-08 18:45:35 +00:00
link2xt
27b5ffb34f
fix: do not remove query parameters from URLs
...
The fix is similar to the one done in
4ca0ce2fb2 ,
but now extended to requests other than empty POST requests as well.
2025-08-07 14:49:18 +00:00
link2xt
80af012962
fix: set correct sent_timestamp for saved outgoing messages
2025-08-07 07:58:53 +00:00
iequidoo
615c80bef4
feat: Contact::lookup_id_by_addr_ex: Prefer returning accepted contacts
...
We don't want to prefer returning verified contacts because e.g. if a bot was reinstalled and its
key changed, it may not be verified, and we don't want to bring the user to the old chat if they
click on the bot email address. But trying to return accepted contacts increases security and
doesn't break the described scenario.
2025-08-06 17:37:17 -03:00
iequidoo
f5f4026dbb
feat: Contact::lookup_id_by_addr_ex: Prefer returning key-contact
...
If an address-contact and a key-contact were seen at exactly the same time, that doesn't necessarily
mean that it's a random event, it might occur because some code updates contacts this way in some
scenario. While this is unlikely, prefer to look up the key-contact.
2025-08-06 17:37:17 -03:00
link2xt
b431206ede
fix: allow receiving empty files
2025-08-06 13:33:04 +00:00
iequidoo
c4878e9b49
fix: Run wal_checkpoint during housekeeping ( #6089 )
...
Work around possible checkpoint starvations (there were cases reported when a WAL file is bigger
than 200M) and also make sure we truncate the WAL periodically. Auto-checkponting does not normally
truncate the WAL (unless the `journal_size_limit` pragma is set), see
https://www.sqlite.org/wal.html .
2025-08-05 14:58:32 -03:00
B. Petersen
aa452971a6
fix: ignore case when trying to detect 'invalid unencrypted mail' and add an info-message
2025-08-05 15:58:43 +02:00
dependabot[bot]
2d798f7cfe
Merge pull request #7066 from chatmail/dependabot/cargo/toml-0.9.4
2025-08-04 23:53:05 +00:00
link2xt
08bb0484eb
chore(release): prepare for 2.10.0
v2.10.0
2025-08-04 22:33:59 +00:00
link2xt
b0b7337f5a
chore: upgrade async-imap to 0.11.1
2025-08-04 21:42:28 +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
iequidoo
4f1bf1f13c
chore(deny.toml): add exception for duplicate toml_datetime 0.6.11 dependency
2025-08-02 16:16:43 -03:00
iequidoo
2d0b7b5bd8
chore(cargo): bump human-panic from 2.0.2 to 2.0.3
2025-08-02 16:14:48 -03:00
dependabot[bot]
8fe3ce5cab
chore(cargo): bump strum_macros from 0.27.1 to 0.27.2
...
Bumps [strum_macros](https://github.com/Peternator7/strum ) from 0.27.1 to 0.27.2.
- [Release notes](https://github.com/Peternator7/strum/releases )
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/compare/v0.27.1...v0.27.2 )
---
updated-dependencies:
- dependency-name: strum_macros
dependency-version: 0.27.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 14:15:55 -03:00
dependabot[bot]
59a0f1d94f
chore(cargo): bump strum from 0.27.1 to 0.27.2
...
Bumps [strum](https://github.com/Peternator7/strum ) from 0.27.1 to 0.27.2.
- [Release notes](https://github.com/Peternator7/strum/releases )
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/compare/v0.27.1...v0.27.2 )
---
updated-dependencies:
- dependency-name: strum
dependency-version: 0.27.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 13:55:09 -03:00
dependabot[bot]
5175dc3450
chore(cargo): bump criterion from 0.6.0 to 0.7.0
...
Bumps [criterion](https://github.com/bheisler/criterion.rs ) from 0.6.0 to 0.7.0.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.6.0...0.7.0 )
---
updated-dependencies:
- dependency-name: criterion
dependency-version: 0.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 13:39:05 -03:00
dependabot[bot]
9a22ccd058
chore(cargo): bump hyper-util from 0.1.14 to 0.1.16
...
Bumps [hyper-util](https://github.com/hyperium/hyper-util ) from 0.1.14 to 0.1.16.
- [Release notes](https://github.com/hyperium/hyper-util/releases )
- [Changelog](https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper-util/compare/v0.1.14...v0.1.16 )
---
updated-dependencies:
- dependency-name: hyper-util
dependency-version: 0.1.16
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 13:38:26 -03:00
dependabot[bot]
c06ed49a2a
chore(cargo): bump async-channel from 2.3.1 to 2.5.0
...
Bumps [async-channel](https://github.com/smol-rs/async-channel ) from 2.3.1 to 2.5.0.
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.3.1...v2.5.0 )
---
updated-dependencies:
- dependency-name: async-channel
dependency-version: 2.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 13:33:11 -03:00
dependabot[bot]
2e51a5a454
chore(cargo): bump bolero from 0.13.3 to 0.13.4
...
Bumps [bolero](https://github.com/camshaft/bolero ) from 0.13.3 to 0.13.4.
- [Changelog](https://github.com/camshaft/bolero/blob/master/CHANGELOG.md )
- [Commits](https://github.com/camshaft/bolero/commits )
---
updated-dependencies:
- dependency-name: bolero
dependency-version: 0.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 12:59:56 -03:00
dependabot[bot]
75cc353528
chore(cargo): bump serde_json from 1.0.140 to 1.0.142
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.140 to 1.0.142.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.140...v1.0.142 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.142
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 12:51:47 -03:00
dependabot[bot]
3977580426
chore(cargo): bump toml from 0.8.23 to 0.9.4
...
Bumps [toml](https://github.com/toml-rs/toml ) from 0.8.23 to 0.9.4.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.23...toml-v0.9.4 )
---
updated-dependencies:
- dependency-name: toml
dependency-version: 0.9.4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-01 22:00:13 +00:00