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
Kévin Commaille
ca89700dfe
refactor(ffi): Fix clippy lint
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-25 17:55:31 +02:00
Kévin Commaille
a0c87cfe4f
Add changelog
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-25 17:36:19 +02:00
Kévin Commaille
9ddc892aa0
fix(sdk): Support event types with variable suffix for event handlers
...
Previously they would just not work as we were trying to match a full
event type with a prefix.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-25 17:36:19 +02:00
Kévin Commaille
0a7ac18d9f
refactor: Add IsPrefix = False bound on StaticEventContent bounds
...
Since those APIs only support a full event type, not an event type prefix.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-25 17:36:19 +02:00
Robin
d8b6966c0a
Allow Element Call to send call notifications
...
For clients which integrate Element Call: Currently matrix-rust-sdk is responsible for sending the call notification event when joining MatrixRTC sessions, but this is planned to be changed soon. As of the upcoming Element Call 0.14.0 release, it will request the capability to send call notifications itself, and we should auto-approve this capability.
2025-07-25 09:20:39 +03:00
Damir Jelić
d40f04e32c
chore: Remove the criterion function in the benchmarks
...
It's now equivalent to Criterion::default().
2025-07-24 17:11:03 +02:00
Damir Jelić
d8294a0788
Fix the compilation of the crypto bench
2025-07-24 17:09:59 +02:00
Damir Jelić
06a4476e7f
ci: Disable a benchmark that panics on the CI
2025-07-24 16:48:28 +02:00
Andy Balaam
def1fedea3
feat(crypto): Refuse to decrypt to-device messages from unverified devices (when in exclude insecure mode)
2025-07-24 15:08:13 +01:00
Andy Balaam
d061e7a5b2
refactor(tests): Pass decryption_settings in to send_and_receive_encrypted_to_device_test_helper
...
To allow passing in different values in future tests.
2025-07-24 15:08:13 +01:00
Andy Balaam
f4619c91d3
refactor(tests): Re-use send_and_receive_encrypted_to_device_test_helper in 2 more tests
2025-07-24 15:08:13 +01:00
Andy Balaam
227f6eab85
refactor(tests): Take a reference to content in send_and_receive_encrypted_to_device_test_helper
...
This will allow us to re-use it in more tests.
2025-07-24 15:08:13 +01:00
Andy Balaam
16d7c3c094
refactor(crypto): Extract a method to check for to-device events from dehydrated devices
2025-07-24 15:08:13 +01:00
Andy Balaam
c238a0edb8
refactor(crypto): Pass DecryptionSettings in to OlmMachine::decrypt_to_device_event
...
This will be used in the next commit, but it was very noisy, so I
separated it out into this commit to make the next one easier to read.
2025-07-24 15:08:13 +01:00
Damir Jelić
06bf487512
chore: Attempt to get rid of a crash on CI where the runtime isn't used for a drop
2025-07-24 15:40:41 +02:00
Damir Jelić
c636ec63f4
chore: Inherit the release profile for the bench profile
2025-07-24 15:07:48 +02:00
Damir Jelić
ffe239d620
Actually respect the benchmarks matrix on CI
2025-07-24 14:40:14 +02:00
dragonfly1033
822b709107
feat(sdk): Leaving a room now leaves its predecessors as well
...
Signed-off-by: Shrey Patel shreyp@element.io
2025-07-24 13:56:05 +02:00
Damir Jelić
d75d7973b2
ci: Enable benchmarks on the CI
2025-07-24 13:37:45 +02:00
Damir Jelić
cfe3adce48
chore: Bump criterion
2025-07-24 13:37:45 +02:00
Damir Jelić
b478ae65f7
tests: Remove pprof
2025-07-24 13:37:45 +02:00
Michael Goldenberg
ada68e1114
feat(indexeddb): add IndexedDB-backed impl for EventCacheStore::find_event_relations
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-07-23 18:03:06 +02:00
Michael Goldenberg
c9137f0cad
fix(indexeddb): Updates::PushItems performs an update if any provided item already exists
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-07-23 18:03:06 +02:00