Richard van der Hoff
eda8d1df38
Enable encrypted-history-sharing-on-invite by default ( #6497 )
...
MSC4268 is now canon, and we are ready to roll it out.
Part of https://github.com/element-hq/element-meta/issues/3208
<!-- description of the changes in this PR -->
- [X] I've documented the public API Changes in the appropriate
`CHANGELOG.md` files.
- [ ] This PR was made with the help of AI.
2026-04-27 06:55:11 +01:00
dependabot[bot]
bf4c35e9ab
chore(deps): bump rustls-webpki from 0.103.12 to 0.103.13
...
Bumps [rustls-webpki](https://github.com/rustls/webpki ) from 0.103.12 to 0.103.13.
- [Release notes](https://github.com/rustls/webpki/releases )
- [Commits](https://github.com/rustls/webpki/compare/v/0.103.12...v/0.103.13 )
---
updated-dependencies:
- dependency-name: rustls-webpki
dependency-version: 0.103.13
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-24 19:59:47 +02:00
Ivan Enderlin
b127fa73a1
chore(sdk): reload_from_storage emits an EventsOrigin::Cache.
...
This patch updates
`PinnedEventCacheStateLockWriteGuard::reload_from_storage`. It calls
`notify_subscribers` with `EventsOrigin::Sync`. This patch changes for
`EventsOrigin::Cache`. All events are indeed loaded from the store, so
the cache.
2026-04-24 12:55:10 +02:00
Michael Goldenberg
4599c0ce53
doc(sdk): update change log
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2026-04-24 12:40:10 +02:00
Michael Goldenberg
96e9efc2e4
doc(crypto): update change log
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2026-04-24 12:40:10 +02:00
Michael Goldenberg
7ca8cbbb81
refactor(sdk): re-introduce old crypto store generation logic
...
This (partially) reverts commit 7a45e91d40
This (partially) reverts commit f64f740972
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2026-04-24 12:40:10 +02:00
Michael Goldenberg
ca1f2ac28e
Revert "refactor(crypto): remove old store generation logic"
...
This reverts commit 946179fd28 .
2026-04-24 12:40:10 +02:00
ganfra
ba68c450f3
feat(sdk): stop_live_location_share checks beacon_info.live ( #6493 )
...
Cannot stop a not-live location share.
2026-04-24 07:39:26 +00:00
Joonas Tuomi
211c9a7e05
fix: set recursion limit to 256 ( #6489 )
...
Signed-off-by: Joonas Tuomi <github@joonastuomi.fi >
2026-04-24 07:01:24 +00:00
Jorge Martín
ee9c5c98b9
doc: Add changelog entries
2026-04-24 08:35:18 +02:00
Jorge Martín
b46c808d4f
refactor: handle possible StoreError from Room::active_service_members
2026-04-24 08:35:18 +02:00
Jorge Martín
5cc1dca7fa
feat(ffi): Expose active_service_members_count in the room infos
2026-04-24 08:35:18 +02:00
Jorge Martín
60eab6344c
feat(sdk-base): Add Room::active_service_members
...
There is an existing `Room::service_members` function that returns the set of user ids for member events in a room. However, those are just extracted from the associated member hints event and don't check if the service members are in the room.
For service members being useful to tell apart rooms from DMs we need to know how many service members are active in the room, so we needed this new function.
2026-04-24 08:35:18 +02:00
ganfra
fb9e110ba4
feat(ffi): expose beacon_id through ffi so client can identify the current share
2026-04-23 21:41:39 +03:00
Mauro
823bc60498
chore: rename LiveLocationShares to LiveLocationObserver ( #6446 )
...
name says it all. The previous name was just too confusing, and since
this object acts as a service for the room to publish live location
share updates, I think the `RoomLiveLocationService` is a more
appropriate name
2026-04-23 15:19:07 +02:00
ganfra
f92ccd8d40
feat(ffi): expose BeaconError from sdk to ffi
2026-04-23 11:25:24 +02:00
Jorge Martín
2c2e0f1b15
doc: Add doc comments and changelog entries
2026-04-22 17:26:51 +02:00
Jorge Martín
f314578df5
feat(ffi): Add Client::get_dm_rooms
...
Expose the new function in the FFI layer
2026-04-22 17:26:51 +02:00
Jorge Martín
739289cd82
feat(ui): Add Client::get_dm_rooms
...
This function returns an iterator with all the available rooms that match the behaviour previously in `Client::get_dm`. `Client::get_dm` now just calls this function and returns the first item.
2026-04-22 17:26:51 +02:00
Kévin Commaille
1d7d6c943b
feat(sdk): Add an expiry to the cached homeserver capabilities
...
I believe that it is a footgun to cache the data indefinitely by default
so this copies the same behavior as for the supported versions in the
ClientCaches: it sets an expiry duration of 1 day and refreshes the data
in the background when it has expired.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-22 14:21:34 +03:00
Damir Jelić
917f9ee298
chore: Bump vodozemac
2026-04-22 12:30:38 +02:00
Andy Balaam
c7d44ddad3
Change in to into
...
Signed-off-by: Andy Balaam <mail@artificialworlds.net >
2026-04-22 10:52:25 +01:00
Kévin Commaille
1a170ddf90
fix(common): The expiry duration of TtlValue is 1 day
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-22 10:52:25 +01:00
Kévin Commaille
696d1cacbe
refactor(common): Don't check expiry for TtlValue::into_data()
...
This API is no longer in use so we can remove it. We also rename
`into_data_unchecked()` to `into_data()`.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-22 10:52:25 +01:00
Kévin Commaille
c6d1cf20b6
feat(sdk): Refresh well-known cache in the background
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-22 10:52:25 +01:00
Jonas Platte
38f34e66eb
Collapse an else { if ... }
...
as suggested by clippy.
2026-04-22 08:52:04 +02:00
Jonas Platte
8fa411aaa0
Clean up a lint
2026-04-22 08:52:04 +02:00
Jonas Platte
b4b3b5258c
Clean up some imports
2026-04-22 08:52:04 +02:00
Andy Balaam
fd6cb6647f
Support stable prefix for MSC4287 m.key_backup
2026-04-21 14:17:26 +01:00
Andy Balaam
103ff7d3ec
Use stable identifier for m.shared_history
2026-04-21 13:47:19 +01:00
Andy Balaam
efa28a1ffd
Use stable identifiers for m.room_key_bundle and m.history_not_shared
2026-04-21 13:47:19 +01:00
Andy Balaam
c4640897d4
Test for serialization and deserialization of a room key bundle
2026-04-21 13:47:19 +01:00
Benjamin Bouvier
0487a143ed
test(integration): workaround non-working subscription to make the test pass in CI
2026-04-21 14:43:55 +02:00
Benjamin Bouvier
7ab97d59b8
test(integration): add an integration test for computing latest events in a few rooms
2026-04-21 14:43:55 +02:00
Benjamin Bouvier
940862ebed
chore: bump the integration testing synapse version to v1.151.0
2026-04-21 14:43:55 +02:00
Jorge Martín
e507eaabf6
feat(ffi): Expose ffi::NotificationRoomInfo::service_members
...
This is needed in some clients to know if a direct room is a DM or not
2026-04-21 13:22:58 +02:00
Jorge Martín
a2bbc33920
doc(ffi): Add changelog entry
matrix-sdk-ffi/20260421
2026-04-21 10:38:14 +01:00
Jorge Martín
db787c28b8
refactor(sdk-crypto): Fix several issues related to the newly enabled experimental-push-secrets feature
2026-04-21 10:38:14 +01:00
Jorge Martín
a3d6114ddd
refactor(ffi): Use the shared default features for the Kotlin bindings
...
This should align them with iOS.
2026-04-21 10:38:14 +01:00
Jorge Martín
58a139bf96
feat(ffi): Enable experimental-push-secrets feature by default
2026-04-21 10:38:14 +01:00
Kévin Commaille
012bc03014
refactor: Use TaskMonitor::spawn_finite_task
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-21 11:18:43 +02:00
Kévin Commaille
38adf952bd
chore: Fix typo
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-21 11:18:43 +02:00
Kévin Commaille
99d675d85a
feat(sdk): Refresh supported versions cache in the background
...
The previous behavior was making the data unavailable as soon as it is
expired, forcing the user to make a request to access fresh data. This
change keeps the data after it is expired, allowing the function to
return quickly, and triggers a background task to refresh it so that
later calls will be able to use the updated data.
This is a step towards #6090 . While it's not clear in the issue what
should be the trigger for the background refreshes, this implements at
least the background refresh while keeping the expiry time as a trigger.
The next steps are to apply this to other cached values and shorten the
expiry time to something like 1 day, which should be more helpful.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-21 11:18:43 +02:00
Kévin Commaille
be5eebaa35
refactor(base): Move and rename TtlStoreValue
...
Its is now available as `matrix_sdk_common::ttl_cache::TtlValue`,
allowing to use it outside of a store.
It also supports deserializing data without a timestamp, to allow to
add an expiration time to data that was already persisted.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-04-21 11:18:43 +02:00
Benjamin Bouvier
cf4d3cb492
doc(ffi): clarify when to call Client::enable_automatic_backpagination
...
Since the boolean is read only once when subscribing the event cache,
let's make it clear when the FFI function should be called (based on
most prominent types used at the FFI layer).
2026-04-21 10:14:52 +02:00
dependabot[bot]
ad5241b2e5
chore(deps): bump bnjbvr/cargo-machete
...
Bumps [bnjbvr/cargo-machete](https://github.com/bnjbvr/cargo-machete ) from e82b6af0d3610e62ddf49bf7c62e662d7e31db0d to ac30a525c0a8d163a92d727b3ff079ee3f6ecb08.
- [Release notes](https://github.com/bnjbvr/cargo-machete/releases )
- [Changelog](https://github.com/bnjbvr/cargo-machete/blob/main/CHANGELOG.md )
- [Commits](e82b6af0d3...e82b6af0d3 )
---
updated-dependencies:
- dependency-name: bnjbvr/cargo-machete
dependency-version: e82b6af0d3610e62ddf49bf7c62e662d7e31db0d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-21 10:13:59 +02:00
dependabot[bot]
d083c56ccb
chore(deps): bump codecov/codecov-action from 5.5.2 to 6.0.0
...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from 5.5.2 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md )
- [Commits](671740ac38...57e3a136b7 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-21 10:02:08 +02:00
dependabot[bot]
eb493de1b8
chore(deps): bump actions/cache from 5.0.4 to 5.0.5
...
Bumps [actions/cache](https://github.com/actions/cache ) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](668228422a...27d5ce7f10 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-21 10:01:44 +02:00
dependabot[bot]
6aa4fdaed4
chore(deps): bump actions/upload-pages-artifact from 4.0.0 to 5.0.0
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](7b1f4a764d...fc324d3547 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-21 09:59:22 +02:00
dependabot[bot]
9c6bbd98a7
chore(deps): bump taiki-e/install-action from 2.68.26 to 2.75.10
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.68.26 to 2.75.10.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/v2.68.26...85b24a67ef0c632dfefad70b9d5ce8fddb040754 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.75.10
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-21 09:47:28 +02:00