Commit Graph

14997 Commits

Author SHA1 Message Date
Benjamin Bouvier
8ea55b30bc refactor(tests): make use of MatrixMockServer in timeline/sliding_sync
We could do better, and have even a specialized sliding sync endpoint
helper, but that'll be for another day :)
2026-04-13 17:20:57 +02:00
Benjamin Bouvier
d438ee2ca0 refactor(tests): add a test helper to send with a delay, use it in timeline/queue 2026-04-13 17:20:57 +02:00
Benjamin Bouvier
a3fe9eef12 refactor(tests): make use of MatrixMockServer in timeline/queue 2026-04-13 17:20:57 +02:00
Benjamin Bouvier
60056ba205 refactor(tests): make use of MatrixMockServer in timeline/subscribe 2026-04-13 17:20:57 +02:00
Benjamin Bouvier
ff62ed667c refactor(tests): make use of MatrixMockServer in timeline/pinned_event 2026-04-13 17:20:57 +02:00
Benjamin Bouvier
4168362912 refactor(tests): make use of MatrixMockServer in the timeline/profiles tests 2026-04-13 17:20:57 +02:00
ganfra
96d63b7c8d doc: update changelogs 2026-04-13 16:57:57 +02:00
ganfra
260eaeea2b feat (live location): rewrite live location shares subscription logic 2026-04-13 16:57:57 +02:00
ganfra
f7442fa279 fix(live location): include BeaconInfo in required state 2026-04-13 16:57:57 +02:00
ganfra
da3cf3d54b doc: update changelog 2026-04-13 16:57:06 +02:00
ganfra
872861e90e Handle beacon stop aggregation in latest event
Support BeaconStop aggregation to properly display stopped
live location sharing in the latest event timeline content.
2026-04-13 16:57:06 +02:00
Hubert Chathi
36cca4e444 add comment 2026-04-10 14:52:39 +01:00
Hubert Chathi
bb6202c76b fix lint 2026-04-10 14:52:39 +01:00
Hubert Chathi
5458a5afd2 add changelog 2026-04-10 14:52:39 +01:00
Hubert Chathi
45fa860b6b add secret pushing feature to FFI 2026-04-10 14:52:39 +01:00
Hubert Chathi
4ad25e32af handle the backup key being pushed from other devices 2026-04-10 14:52:39 +01:00
Hubert Chathi
423ebf9502 push the backup key to our other devices when we create a new backup 2026-04-10 14:52:39 +01:00
Damir Jelić
7fbb8cf9e5 fix(spaces): Ensure space children ordering is transitive
This patch fixes the SpaceRoom::compare_rooms method to be transitive
(If A ≤ B and B ≤ C then A ≤ C). The transitive property of a comparison
function is required by the sorting functions we are using.

If the property doesn't hold, sorting will panic.

The previous logic violated strict weak ordering by falling back towards
room ID comparison as soon as one of the values doesn't have a
SpaceRoomChildState.

This introduced inconsistent ordering paths where:
    - A and B would be compared using the SpaceRoomChildState
    - B and C would be compared using only the room ID
    - A and C would be compared using only the room ID

Leading to the case where:
    - A < B due to the state
    - B < C due to the room ID
    - and finally A > C due to the room ID.

As a result, transitivity could be broken (A < B, B < C, but C < A),
leading to a panic during the sorting.
2026-04-10 15:49:26 +02:00
Damir Jelić
e0cac4eb7a test(spaces): Check that space children ordering is total 2026-04-10 15:49:26 +02:00
Damir Jelić
aa9cc67f32 refactor(spaces): Make the space children comparison function simpler 2026-04-10 15:49:26 +02:00
Damir Jelić
7d6569ff27 test(spaces): Test that the top-level space ordering is total 2026-04-10 15:49:26 +02:00
Damir Jelić
4d7b19999b refactor(space): Move the top-level space comparison logic into a separate function 2026-04-10 15:49:26 +02:00
Daniel Salinas
d47306045f Add cfg around inadvertent use of sqlite in matrix-sdk-ffi crate
Several new functions implicitly rely on the sqlite config.
sqlite might not be present if you are using the indexedb store, in which case
these functions are likely irrelevant.

This change conditionalizes their compilation.
2026-04-10 14:11:36 +02:00
Philippe Bertin
ba461598b2 feat(ffi): expose latest json
Signed-off-by: Philippe Bertin <pbertin@teladochealth.com>
2026-04-09 15:57:29 +02:00
Stanislav Skobelkin
0233d03d4e fix(ffi): Export Eq and Hash traits in enums used as HashMap keys
matrix_sdk_ffi::ruma::TagName and matrix_sdk_ffi::event::TimelineEventType enums
that are used as HashMap keys by matrix_sdk_ffi::ruma::Tag and
matrix_sdk_ffi::room::power_levels::RoomPowerLevels respectively should probably
export Eq and Hash traits, so that we can generate bindings for languages that
implement uniffi's record/HashMap type using a hash table (e.g.
std::unordered_map in C++)

Signed-off-by: Stanislav Skobelkin <stanislav@skobelk.in>
2026-04-09 12:12:57 +02:00
Damir Jelić
725f74cbe8 fix(ffi): Correctly return that the backup is complete if the backup key is valid 2026-04-09 12:01:04 +02:00
Benjamin Bouvier
98aceb40c2 refactor(timeline): make sure all the timeline background tasks are aborted on drop
Otherwise, we might run into leaks!
2026-04-08 16:19:09 +02:00
Damir Jelić
34a35ad32a feat(ffi): Allow passing in a SecretsBundle after logging in (#6212)
This allows people to get a secrets bundle out of band or out of a database and import it
after logging in a new client.

Mainly targeted to support the Element Classic -> Element X migration.

Signed-off-by: Damir Jelić <poljar@termina.org.uk>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
2026-04-08 14:07:57 +00:00
Benjamin Bouvier
99971a2347 chore(sdk): add a changelog entry for the task monitor 2026-04-08 15:14:44 +02:00
Benjamin Bouvier
b5f5a9c90e refactor(sdk): rename functions to spawn background tasks 2026-04-08 15:14:44 +02:00
Benjamin Bouvier
ec4e228620 feat(sdk): use the new method in the context of two background jobs 2026-04-08 15:14:44 +02:00
Benjamin Bouvier
a2c254d7da feat(sdk): add a way to spawn one-off jobs 2026-04-08 15:14:44 +02:00
Kevin Boos
557c0698ba Spaces: add suggested field to SpaceRoom (#6417)
Previously there wasn't a way to determine whether a given sub-space or
room within a given space had been marked as "suggested".
This was one of the things missing in support for spaces (#227) even
though it wasn't explicitly mentioned.
   
I tested that this fix does work properly in
[Robrix](https://github.com/project-robius/robrix).

Signed-off-by: Kevin Boos kevinaboos@gmail.com
2026-04-08 13:58:56 +02:00
Bryant Mairs
99a5568dbf feat: add missing APIs to HomeserverCapabilities
Add `m.room_versions` & `m.account_moderation` that were missed in the
first implementation.

Signed-off-by: Bryant Mairs <bryant@mai.rs>
2026-04-08 13:48:20 +02:00
Jonas Platte
94d8674709 refactor(ffi): Deduplicate thumbnail conversion code 2026-04-08 07:58:36 +02:00
Jonas Platte
dfc4e03d5b refactor(ffi): Replace nested match with if-let chain 2026-04-08 07:58:36 +02:00
Jonas Platte
14b8248e4b refactor(ffi): Extract closure as fn to reduce indentation 2026-04-08 07:58:36 +02:00
Jonas Platte
447c89aed4 refactor(ffi): Merge separate impl blocks 2026-04-08 07:58:36 +02:00
Jonas Platte
894f94c383 Finish Rust Edition 2024 migration 2026-04-08 07:56:03 +02:00
Johannes Marbach
1f3dea778b feat(send_queue): send redactions via the send queue (#6250)
This is a first step towards
https://github.com/matrix-org/matrix-rust-sdk/issues/4162 and adds a way
to send redactions (including their local echoes) via the send queue.

I had to introduce new variants for `SentRequestKey` and
`LocalEchoContent` because in some room versions the redacted event ID
sits at the top-level of the event rather than in `content`.

At the timeline level redactions are handled via a new boolean flag in
`AggregationKind::Redaction`. Local echoes of redactions merely set a
flag on the timeline event whereas remote echoes of redactions lead to
actual redactions as before.

The FFI bindings will be updated in a follow-up PR.

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-04-07 18:02:59 +02:00
Damir Jelić
b07069170f Merge pull request #6409 from mgoldenberg/remove-native-tls
Remove support for `native-tls`
2026-04-07 16:03:09 +02:00
Michael Goldenberg
f685feed40 doc(sdk): update change log
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:45:29 -04:00
Michael Goldenberg
610d4ca4e5 doc(ui): update change log
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:45:27 -04:00
Michael Goldenberg
41edb08283 doc(ffi): update change log
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:34 -04:00
Michael Goldenberg
44aad14732 doc: update references to tls features
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:34 -04:00
Michael Goldenberg
b1fbf31c2e feat(sdk): remove rustls-tls feature flag
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:33 -04:00
Michael Goldenberg
2bcab72dbb ci: remove reference to matrix-sdk/rustls-tls feature flag
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:33 -04:00
Michael Goldenberg
3bac5d250d refactor(benchmarks): remove reference to matrix-sdk/rustls-tls feature flag
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:33 -04:00
Michael Goldenberg
4ec75b5b5c feat(ui): remove rustls-tls feature flag
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:33 -04:00
Michael Goldenberg
c8c9a94995 feat(ffi): remove rustls-tls feature flag
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-04-07 09:44:33 -04:00