Stefan Ceriu
1fe71acbcb
change(room_list): request space rooms through sliding sync and expose a room list filter for them ( #5479 )
...
This is a breaking change as spaces are now requested through sliding sync and they need to manually be excluded from the room list by using the newly introduced non-space filter.
2025-08-04 16:39:02 +02:00
Kévin Commaille
0e054deb19
fix(sdk): Allow legacy push rules to be missing when changing NotificationSettings
...
They are being removed from the spec with MSC4210, so we can't error if they are not found.
2025-08-04 13:40:01 +00:00
Doug
d2b7dc6116
ffi: Export TimelineDiff as uniffi:Enum to match RoomDirectorySearchEntryUpdate & RoomListEntriesUpdate.
...
The difference in API shape has been weird for long enough.
2025-08-04 12:01:24 +02:00
Ivan Enderlin
1089a25588
fix(xtask): Use --package instead of -p on cargo ndk.
...
We use `cargo ndk -p {package_name}`, where `-p` is short for
`--package`. However, `cargo ndk` has introduced the `-p` option (see
c6b93a89a2 ),
short for `--platform`. It creates a confusion and the command line
doesn't execute properly. Let's use the long option `--package` to
clarify everything.
2025-08-04 10:41:17 +02:00
Kévin Commaille
3276bc87ad
refactor(base): Don't drop whole m.room.create if predecessor is invalid
...
The `m.room.create` event contains at lot of important information for a
room, like its type (i.e. whether it is a space), its version and its
creator(s) (which are important in room version 12). So ignoring the
event completely might break a room.
Instead what we do here is simply ignore the `predecessor` field if it
is considered invalid, allowing us to access the other fields.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-08-04 10:09:52 +02:00
Hubert Chathi
a4da6ba7c8
Exclude insecure devices on Olm encryption ( #5457 )
...
Fixes the encrypting part of
https://github.com/matrix-org/matrix-rust-sdk/issues/4147
Probably easiest to review commit-by-commit
<!-- description of the changes in this PR -->
- [x] Public API changes documented in changelogs (optional)
<!-- Sign-off, if not part of the commits -->
<!-- See CONTRIBUTING.md if you don't know what this is -->
Signed-off-by:
2025-08-04 08:50:32 +01:00
Kévin Commaille
033c6bd6a4
Add changelog
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-08-01 14:07:28 +02:00
Kévin Commaille
b02e1da471
Upgrade Ruma
...
This brings in a new breaking change from Ruma, because not all events
are stripped in a room's stripped state. For simplicity, this still
considers the events as stripped during deserialization for now, since
this format is compatible with the other possible formats.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-08-01 14:07:28 +02:00
Damir Jelić
5ad477ac96
tests: Rename some more benchmarks
2025-08-01 11:33:08 +02:00
Damir Jelić
975432565d
tests: Enable timers for the runtime of the store bench
2025-08-01 11:33:08 +02:00
Damir Jelić
46b0113765
tests: Rename some crypto benchmarks
...
This is mostly due to codspeed not showing the group name, so we're
repeating this info in the benchmark ID.
2025-08-01 11:33:08 +02:00
Damir Jelić
09eff8c6bd
ci: Lower the amount of events we benchmark against on the CI
2025-08-01 11:33:08 +02:00
Damir Jelić
7ee546a3d9
ci: Enable more benchmarks
2025-08-01 11:33:08 +02:00
Benjamin Bouvier
b164cd6a51
refactor(timeline): remove a few unused Self in some read-receipt related methods
2025-07-31 14:14:27 +02:00
Benjamin Bouvier
6d95abfb36
refactor(send queue): move the AbstractProgress to the new progress module
2025-07-31 13:04:28 +02:00
Benjamin Bouvier
33f09d6d26
refactor(send queue): move upload progress functionality to its own file
2025-07-31 13:04:28 +02:00
Benjamin Bouvier
8c01e99144
refactor(send queue): misc improvements to media upload progress reporting
...
Notable changes: don't send a global update whenever a media upload
progress happened, since this doesn't really matter for global
listeners.
2025-07-31 13:04:28 +02:00
Benjamin Bouvier
277cb7ac49
refactor(send queue): rename variables around the thumbnail file size cache
2025-07-31 11:16:48 +02:00
Johannes Marbach
fc7124fd1a
feat(send_queue): communicate media upload progress in RoomSendQueueUpdate::MediaUpload
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
30c0420f83
chore(send_queue): rename RoomSendQueueUpdate::UploadedMedia to MediaUpload to prepare it for communicating upload progress
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
cb13c345ad
feat(sdk): introduce AbstractProgress for tracking media progress in pseudo units
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
cd26973082
feat(send_queue): enable progress monitoring in RoomSendQueue::handle_request
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
0edcdd33b2
chore(send_queue): Make parent_is_thumbnail_upload available outside of unstable-msc4274 to use it during media progress reporting later
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
c191eb7cd1
feat(send_queue): cache thumbnail sizes to use them in progress reporting later
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
fa6f270812
chore(send_queue): collect thumbnail-related metadata in a dedicated QueueThumbnailInfo struct for easier extension
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Johannes Marbach
d4e96595d9
feat(send_queue): add global setting for sending media progress updates
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-31 11:16:48 +02:00
Jakob Lachermeier
540a11e7a8
fix(sqlite): made open_with_pool public again.
2025-07-31 09:15:47 +02:00
Damir Jelić
92192c549b
fix(timeline): Remove UTD items that have been decrypted into unsupported events
2025-07-30 12:46:04 +02:00
Damir Jelić
88360040fb
test(timeline): Add some integration tests for the redecryption logic
...
These tests now fully mock all the end-to-end encryption server
endpoints to test the redecryption and UTD item replacement logic of the
timeline without any manual room key insertions.
We test that the item replacement correctly handles supported event
types as well as unsupported ones.
2025-07-30 12:46:04 +02:00
Damir Jelić
4184e245a4
ci: Attempt to free up even more space for the coverage job
2025-07-30 12:10:12 +02:00
Benjamin Bouvier
f37bf2f5d1
feat(store): also delete thread subscriptions when deleting a room in db
2025-07-30 12:07:07 +02:00
Benjamin Bouvier
d57d3c4124
feat(sdk): save the unsubscribed status in the store, and use it to return something more precise than unknown when fetching a subscription
2025-07-30 12:07:07 +02:00
Benjamin Bouvier
1a5cb2beb8
feat(stores): allow saving thread subscriptions
2025-07-30 12:07:07 +02:00
Benjamin Bouvier
b645c1101f
refactor(test): avoid proliferation of builder submethods in the MockClientBuilder
...
Instead of having one static method duplicating an underlying
`ClientBuilder` method, we can pass the builder directly to a closure,
that will replace it. Call sites are a bit more verbose, but that would
avoid having to add duplicate `MockClientBuilder` methods for each
`ClientBuilder` method.
2025-07-30 11:56:31 +02:00
Robin
8091094bbc
refactor(room): Remove methods for sending call notifications
...
As noted in the changelog entry, the event type they send is outdated, and Client is not actually supposed to be able to join MatrixRTC sessions at this time. A MatrixRTC client implementation which actually participates in sessions should be able to send these notifications without the SDK's help.
2025-07-29 15:04:25 +02:00
Robin
feadfde1b5
feat(element-call): Support the sendNotificationType URL parameter
...
This URL parameter allows us to request Element Call widgets to send a notification when starting a call.
2025-07-29 15:04:25 +02:00
Damir Jelić
e2ad07881c
Merge pull request #5443 from matrix-org/poljar/ci/benchmarks
...
Enable benchmarks on the CI
matrix-sdk-ffi/20250728
2025-07-28 13:07:00 +02:00
Jorge Martín
1be8b42d03
refactor(ffi): expose privileged_creators_role in the FFI RoomInfo
2025-07-28 12:05:48 +02:00
Jorge Martín
7a5f83f6ec
refactor(ffi): expose room_version in the FFI RoomInfo
2025-07-28 12:05:48 +02:00
Jorge Martín
88bb7a366f
feat(ffi): enable unstable-hydra feature for the SDK bindings
2025-07-28 11:42:21 +02:00
Benjamin Bouvier
7d9bf56581
feat(ffi): add support for MSC4036 thread subscriptions
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
770f65ede0
feat(multiverse): add support for subscribing/unsubscribing/showing the current sub status
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
1f33e0f4d1
test(threads): add test for the thread subscription endpoints
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
117f76102d
test(threads): add mocks for the thread subscription endpoint
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
fd04ebfaba
feat(sdk): add support for threads subscription CRUD (msc4306)
...
This doesn't store the subscriptions locally, nor does it implement the
automatic thread subscription.
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
afe9f7a979
chore: upgrade ruma for msc4306
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
27a002c8e2
chore: add changelog entry for the breaking change in RelationalLinkedChunk::items
2025-07-28 10:34:56 +02:00
Benjamin Bouvier
b8ab0972b3
fix(event cache store): return events from all linked chunks in a room, in find_event and find_event_with_relations of the memory store
2025-07-28 10:34:56 +02:00
Benjamin Bouvier
d3419ea4ac
test(event cache store): add tests for a thread's vs a room's linked chunk id
2025-07-28 10:34:56 +02:00
Benjamin Bouvier
019adb9a56
feat(common): implement the thread variants for LinkedChunkId and OwnedLinkedChunkId
2025-07-28 10:34:56 +02:00