link2xt
079fb352e3
refactor: remove set_modseq() function
...
This is a follow-up to 8f51c7b9d5
which removed sync_seen_flags().
MODSEQ is a message attribute related to
CONDSTORE IMAP extension and is not used anymore
since CONDSTORE is not used.
2026-07-12 06:16:01 +00:00
Hocuri
823b0741df
docs: Update STYLE.md: macros should be used only when necessary ( #8410 )
2026-07-10 10:52:33 +02:00
Hocuri
6322758482
api!: list_transports() doesn't return unpublished relays anymore
...
BREAKING CHANGE: UIs should use `list_transports()` rather than `list_transports_ex()`, because unpublished transports count as removed from the user point of view, and should not be shown in the relay list anymore.
2026-07-09 15:24:53 +02:00
Hocuri
90ac058043
api!: delete_transport() must not be used by UIs anymore. Instead, set_transport_unpublished() must be called when a user clicks on "Remove"
...
I marked this as a breaking change so that it visibly appears in the changelog.
2026-07-09 15:24:53 +02:00
dependabot[bot]
212aaaad77
chore(deps): bump taiki-e/install-action from 2.81.11 to 2.82.6
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.81.11 to 2.82.6.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](15449e3094...9bcaee1dca )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.82.6
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-08 22:07:06 +00:00
link2xt
31b2d7961a
fix: ensure public key signatures are not in the past compared to the public key
...
We use the timestamp of the latest transport modification
as the timestamp of the Direct Key Signature.
However, first transport is created before the public key
and existing transports may even have zero timestamp
if they were created before migration 142.
For interoperability with Sequoia-PGP,
make sure signatures always have a timestamp
that is not in the past compared to the timestamp
of the primary key.
2026-07-08 17:41:45 +00:00
missytake
2b6515e3b5
ci: rrsync prepends the restricted upload path, we need to leave it out ( #8405 )
...
This is necessary because
https://github.com/deltachat/sysadmin/issues/270 switches our
server-side authentication to rrsync, and that uploads to a restricted
path already; keeping it like this will result in a destination path
like `/var/www/html/var/www/html`.
Co-authored-by: j4n <j4n@systemli.org >
2026-07-08 17:30:11 +02:00
Jagoda Estera Ślązak
cac8c06c78
fix: RUSTSEC-2026-0204 ( #8403 )
...
https://github.com/crossbeam-rs/crossbeam/pull/1276
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-07-07 17:13:25 +02:00
dependabot[bot]
446cdabd21
chore(cargo): bump smallvec from 1.15.1 to 1.15.2
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.15.1 to 1.15.2.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.15.1...v1.15.2 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-version: 1.15.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-04 15:12:57 +00:00
iequidoo
d9ab7a7a43
test: securejoin: Check that "vc-{,request-}pubkey" messages don't contain displayname
...
These messages are AUTH-encrypted and shalln't contain profile data as per the SecureJoin v3 spec,
otherwise the profile data can be seen e.g. by other broadcast subscribers.
2026-07-03 22:42:01 -03:00
dependabot[bot]
e5d56a3b70
chore(cargo): bump brotli from 8.0.2 to 8.0.4
...
Bumps [brotli](https://github.com/dropbox/rust-brotli ) from 8.0.2 to 8.0.4.
- [Release notes](https://github.com/dropbox/rust-brotli/releases )
- [Commits](https://github.com/dropbox/rust-brotli/compare/8.0.2...8.0.4 )
---
updated-dependencies:
- dependency-name: brotli
dependency-version: 8.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-04 01:21:00 +00:00
link2xt
ee1095be9d
chore: update quick-xml to 0.41.0
...
Fixes cargo-deny complaining about https://rustsec.org/advisories/RUSTSEC-2026-0194
2026-07-03 16:21:02 +00:00
dependabot[bot]
520ede1fa5
chore(cargo): bump chrono from 0.4.44 to 0.4.45
...
Bumps [chrono](https://github.com/chronotope/chrono ) from 0.4.44 to 0.4.45.
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.44...v0.4.45 )
---
updated-dependencies:
- dependency-name: chrono
dependency-version: 0.4.45
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 11:53:04 +00:00
link2xt
89a1f55a87
feat: increase max idle timeout for backup receiver to 60 seconds
...
Default is 30 seconds according to
<https://docs.rs/iroh/0.35.0/iroh/endpoint/struct.TransportConfig.html#method.max_idle_timeout >
2026-07-02 05:00:38 +00:00
dependabot[bot]
90e6fa055f
chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7
...
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action ) from 0.5.6 to 0.5.7.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases )
- [Commits](5f14fd08f7...192e21d79a )
---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
dependency-version: 0.5.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:55:32 +00:00
dependabot[bot]
093ebe537f
chore(cargo): bump hyper from 1.9.0 to 1.10.1
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 1.9.0 to 1.10.1.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v1.9.0...v1.10.1 )
---
updated-dependencies:
- dependency-name: hyper
dependency-version: 1.10.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:54:50 +00:00
dependabot[bot]
fa91b168a9
chore(cargo): bump log from 0.4.31 to 0.4.33
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.31 to 0.4.33.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.31...0.4.33 )
---
updated-dependencies:
- dependency-name: log
dependency-version: 0.4.33
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:54:27 +00:00
dependabot[bot]
8c12804257
chore(cargo): bump regex from 1.12.3 to 1.12.4
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.12.3 to 1.12.4.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.12.3...1.12.4 )
---
updated-dependencies:
- dependency-name: regex
dependency-version: 1.12.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:54:06 +00:00
dependabot[bot]
5beef1a2d0
chore(cargo): bump bytes from 1.11.1 to 1.12.0
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases )
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.11.1...v1.12.0 )
---
updated-dependencies:
- dependency-name: bytes
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:53:40 +00:00
dependabot[bot]
cc08d5de81
chore(cargo): bump quote from 1.0.45 to 1.0.46
...
Bumps [quote](https://github.com/dtolnay/quote ) from 1.0.45 to 1.0.46.
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.45...1.0.46 )
---
updated-dependencies:
- dependency-name: quote
dependency-version: 1.0.46
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:53:21 +00:00
dependabot[bot]
ba1063ad0f
chore(cargo): bump syn from 2.0.117 to 2.0.118
...
Bumps [syn](https://github.com/dtolnay/syn ) from 2.0.117 to 2.0.118.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.117...2.0.118 )
---
updated-dependencies:
- dependency-name: syn
dependency-version: 2.0.118
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 04:53:00 +00:00
link2xt
30bdcd6809
fix: do not put locations into pre-messages
2026-07-01 12:02:53 +00:00
link2xt
5eb5d22d7b
fix: replace last_added_location_id with last_added_location_timestamp
...
Stored location ID was not actually used
and locations_last_sent timestamp was updated
with the current time, possibly skipping
locations.
2026-07-01 12:02:53 +00:00
dependabot[bot]
a22ba021e5
chore(deps): bump actions/checkout from 6 to 7
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6 to 7.
- [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/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-01 11:49:38 +00:00
iequidoo
6e633eebe1
chore(deps): bump anyhow to 1.0.103
2026-06-29 19:08:41 -03:00
link2xt
a14e617059
feat: remove ?emailaddress argument from autoconfig URL that is not using a dedicated domain
...
This brings the implementation closer to the specification <https://datatracker.ietf.org/doc/draft-ietf-mailmaint-autoconfig/06/ >
as it is confirmed that `?emailaddress` should not be included.
2026-06-29 18:07:17 +00:00
iequidoo
b4471f2434
feat: Remove trailing '.' from device message about receive_imf failure
...
This is to avoid from the Android UI treating it as a part of URL.
2026-06-29 14:33:52 -03:00
iequidoo
abaa48d0a1
fix: Return early from receive_imf to not tombstone Iroh-Node-Addr message if webxdc instance isn't found ( #8372 )
...
An Iroh-Node-Addr message (realtime advertisement) may arrive earlier than the referenced webxdc in
case of multi-transport. By not creating a tombstone we still can receive it later on another
transport.
2026-06-29 14:33:52 -03:00
link2xt
1b2ec2e88c
chore: update astral-tokio-tar from 0.6.2 to 0.6.3
2026-06-27 06:04:18 +00:00
Hocuri
f6e819d2a5
refactor: improve comment ( #8366 )
...
It's unclear whether this logic works, but I think we should at least
properly document why it exists (I already sent this text while figuring
out what the code does, so it was easy making this PR now)
Could add a XXX note that it's unsure whether this works
2026-06-25 17:06:22 +00:00
Hocuri
abb84efc37
fix: Rerun the full securejoin protocol if the address was outdated ( #8358 )
...
Alternative to https://github.com/chatmail/core/pull/8355/ , fixes
https://github.com/chatmail/core/issues/8329
This fixes the following bug:
Scanning QR for existing contact doesn't update relay list
Two chat partners suddenly lost connectivity to all of their relays. They added another relay, which is accessible, and set it as main. Of course, they still couldn't communicate, because there was no way to announce a new relay list to each other (clients know only about old relays so they try to send updates there).
That's why the friends used a different channel (e.g. met IRL) to send their QR codes once again.
Expected behavior: They would expect that clients update their relay lists according to the contact info inside the QR codes, and they can continue talking in Delta.
Actual behavior: But Delta Chat client doesn't update a list of announced relays on scanning a QR in case a contact already exists. It simply opens the existing chat without altering any contact info.
---------
Co-authored-by: holger krekel <holger@merlinux.eu >
2026-06-25 16:59:08 +00:00
link2xt
09d5d0bddf
chore: update rPGP from 0.19.0 to 0.20.0
2026-06-25 16:17:24 +00:00
link2xt
b38277c294
feat: log transport ID in store_seen_flags_on_imap
2026-06-23 05:05:19 +00:00
dependabot[bot]
975fd8aee3
chore(deps): bump taiki-e/install-action from 2.81.8 to 2.81.11
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.81.8 to 2.81.11.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](0631aa6515...15449e3094 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.81.11
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-23 04:41:22 +00:00
link2xt
5a54e18fee
fix: recreate imap_markseen with PRIMARY KEY constraint
...
It is needed to speed up "DELETE FROM imap_markseen_new WHERE id = ?".
Otherwise if imap_markseen table grows large,
marking a lot of messages at once as seen and trying to delete them one by one
from imap_markseen table may have quadratic complexity.
2026-06-23 03:33:33 +00:00
iequidoo
8b80ac146f
fix: Tombstone MDN before sending it ( #8252 )
...
Otherwise, when it appears on IMAP, it will mark chat messages as seen/noticed even if
markfresh_chat() is called meanwhile.
2026-06-22 13:52:04 -03:00
Hocuri
d1f4e59d82
api: Deprecate is_chatmail
...
BREAKING CHANGE: UIs should not behave differently for chatmail relays than for classical email servers; most usages of `is_chatmail` can be replaced by `force_encryption`
2026-06-22 17:48:56 +02:00
link2xt
0a82d73eb5
refactor: move ensure_secret_key_exists into key.rs
2026-06-21 04:18:39 +00:00
link2xt
c026910fa7
chore: deprecate unused SkipAutocrypt param
...
I renamed SkipAutocrypt into DeprecatedSkipAutocrypt
instead of removing to make sure the letter is not reused.
2026-06-21 04:18:20 +00:00
link2xt
2aba6aa339
refactor: make crate::pgp::symm_encrypt_message non-async
2026-06-20 00:36:05 +00:00
link2xt
93a6f35ef7
refactor: remove the ability to send messages with non-standard header protection
2026-06-20 00:09:48 +00:00
iequidoo
cd38aae4d6
doc: create_group_chat_unencrypted() may lead to chat split on the first device
2026-06-18 17:36:02 -03:00
link2xt
3f371b3895
refactor: remove commented out RenderedEmail.envelope
2026-06-18 17:59:56 +00:00
Jagoda Estera Ślązak
8a1d97d925
fix: Hide synced chat if we only know its visibility ( #8343 )
...
Prevents showing "empty" chat on other devices,
when pinning a chat that did not complete securejoin yet.
Fixes : #7713
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-06-18 11:42:28 +00:00
iequidoo
8f51c7b9d5
feat: Remove imap::Session::sync_seen_flags() ( #7742 )
2026-06-17 21:02:27 -03:00
iequidoo
fd4bf98776
feat: Add silent group changes messages as InNoticed, not InSeen
...
This way they also can be processed by `markseen_msgs()` resulting in self-MDNs which improves
multi-device synchronization. MDNs to contacts won't really be sent because silent group changes
messages are self-removal messages which don't request MDNs.
2026-06-17 21:02:27 -03:00
iequidoo
81dc56877c
fix: Make truncated edited messages have HTML for receivers ( #8249 )
...
Otherwise it's not possible to see the full message text if it's too long in a received edit. On the
sender side let it still be text so that the message can be edited again.
2026-06-17 20:39:54 -03:00
iequidoo
58b3f0e89b
fix: Make pre-messages w/o text want MDNs ( #8004 )
...
Maybe it's even good that MDNs will be sent for pre-messages only having placeholder text with the
viewtype and size, at least this way we notify the contact that we've noticed the message. Anyway,
with adding message previews the problem will be solved for the corresponding viewtypes.
2026-06-17 00:02:07 -03:00
link2xt
b860583f8d
fix: request MDNs for resent channel messages
2026-06-16 14:49:49 +00:00
Hocuri
d39b79f6fc
feat: Implement support for populating and maintaining a list of default relays ( #8341 )
2026-06-16 14:02:27 +02:00