Stefan Ceriu
f8b5992101
fix(spaces): return the TaskHandle from the FFI space service subscription methods so it can be retained on the client side
2025-08-29 18:35:27 +03:00
Stefan Ceriu
97a5fbebfb
feat(ffi): expose SpaceService::subscribe_to_joined_spaces and SpaceServiceRoomList::paginate
2025-08-29 18:35:27 +03:00
Stefan Ceriu
aa4b176ab3
fix(spaces): fix complement-crypto failures because of using an outdated uniffi version
...
- automatic Arc inference was introduced in 0.27 and complement is using 0.25
2025-08-29 18:35:27 +03:00
Stefan Ceriu
ad2f4c731a
feat(spaces): have the SpaceRoomList publish updates as known room states change i.e. they get joined or left.
2025-08-29 18:35:27 +03:00
Stefan Ceriu
f78015fae1
change(spaces): return only top level joined rooms from SpaceService::joined_spaces and its reactive counterpart
2025-08-29 18:35:27 +03:00
Stefan Ceriu
211a1f5a40
feat(spaces): add a reactive version of the joined_spaces method
2025-08-29 18:35:27 +03:00
Stefan Ceriu
b8be1fdb26
feat(spaces): introduce a SpaceRoomList that allows pagination and provides reactive interfaces to its rooms and pagination state
2025-08-29 18:35:27 +03:00
Stefan Ceriu
a43e42c170
chore(spaces): introduce a SpaceServiceRoom
2025-08-29 18:35:27 +03:00
Stefan Ceriu
f031eaf96b
chore(spaces): setup a simple space service and some unit tests
2025-08-29 18:35:27 +03:00
Skye Elliot
99af951d7a
feat(crypto): Add EncryptionSettings::encrypt_state_events
...
This will be used inside the WASM SDK to introduce a similar field to
its EncryptionSettings struct.
Signed-off-by: Skye Elliot <actuallyori@gmail.com >
2025-08-28 14:00:23 +02:00
Stefan Ceriu
39730173d4
chore(ffi): expose the SyncService.expire_sessions so client can expire Sliding Sync positions on demand
...
This is useful when changing the required sliding sync state in between position resets which Synapse doesn't handle well at the moment as per https://github.com/element-hq/synapse/issues/18844
2025-08-28 10:32:32 +03:00
fkwp
eefa9ff556
added comments including reference to MSCs
2025-08-15 15:58:28 +01:00
fkwp
28a8603f42
Allow new state key string-packing format for widget mode
2025-08-15 15:58:28 +01:00
Kévin Commaille
33df0422e8
Upgrade Ruma: profile response
...
Handle the changes to the Response of the get_profile endpoint. The
content of the response is private and fields must be accessed with
methods.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-08-14 08:57:52 +02:00
Skye Elliot
ca8b64e041
feat: Change type of DecryptedRoomEvent::event to Raw<AnyTimelineEvent> ( #5512 )
...
- [x] Change `DecryptedRoomEvent::event` to `Raw<AnyTimelineEvent>`
- [x] Update usages to pattern match on `AnyTimelineEvent::MessageLike`
where necessary
---------
Signed-off-by: kaylendog <actuallyori@gmail.com >
2025-08-14 08:53:56 +02:00
Copilot
69bef9a76a
feat(sdk,ffi): Add server_vendor_info method to matrix-sdk with automatic logging in FFI
...
Add a new `server_vendor_info` method on the `matrix-sdk` `Client` that calls the `/_matrix/federation/v1/version` endpoint to retrieve the server's software name and version information.
Also add it to the bindings + log it when initializing the logs.
2025-08-14 05:14:25 +00:00
Johannes Marbach
12292c5375
feat(ffi): allow specifying thumbnails using UploadSource
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-08-13 15:50:06 +02:00
Johannes Marbach
cf9d058265
feat(ffi): allow specifying gallery items using UploadSource
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-08-13 15:30:34 +02:00
Benjamin Bouvier
4da13e1096
refactor!(ffi): use the send queue by default to upload medias
...
We do consider it stable now, after months of running it in production,
so let's use it by default to simplify the `UploadParameters`.
2025-08-13 15:16:16 +02:00
Benjamin Bouvier
333d4563ce
refactor!(ffi): remove legacy progress upload tracking
...
This can now be achieved by using the send queue's global progress
support, i.e. `Client::enable_send_queue_upload_progress()`.
2025-08-13 15:16:16 +02:00
Kévin Commaille
0a2205f540
refactor(ffi): Remove dead code
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-08-13 12:31:22 +01:00
Johannes Marbach
e2f0b4f3fd
feat(ffi): expose media upload progress through EventSendState::NotSentYet
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-08-12 12:57:18 +02:00
copilot-swe-agent[bot]
e3390c17ec
docs: Add changelog entries for LowPriority and NonLowPriority filters
...
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com >
2025-08-12 13:17:53 +03:00
Doug
c6dc070c31
chore: Refactor non_space.rs filter to space.rs, using new_filter_not in the FFI.
2025-08-12 13:17:53 +03:00
copilot-swe-agent[bot]
486befc7fb
feat: Add NonLowPriority to the FFI bindings
...
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com >
2025-08-12 13:17:53 +03:00
copilot-swe-agent[bot]
9848d1472e
feat: Add LowPriority filter implementation and FFI bindings
...
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com >
2025-08-12 13:17:53 +03:00
Benjamin Bouvier
5719fde701
feat(client): add a global toggle for enabling thread subscriptions support
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
0cdec9d912
refactor(threads): flatten the ThreadStatus enum
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
d180d49c07
refactor(threads): do not store the unsubscribed state in the DB
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
ebb7059d55
refactor(threads): adapt to Ruma API changes for thread subscriptions
2025-08-06 15:28:43 +02:00
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
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
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
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
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
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
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
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
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
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
Kévin Commaille
0e622cc5a1
Upgrade Ruma (phase 3)
...
This upgrade introduces support for room version 12[1].
[1]: https://matrix.org/blog/2025/07/security-predisclosure/ )
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-23 14:32:05 +00:00
Jorge Martín
af2e15e02f
refactor(ffi): Add the default read_timeout value to the FFI layer
2025-07-23 15:55:31 +02:00
Doug
da946e51dd
ffi: Update Client::get_url to return raw data and to throw on HTTP errors
...
Client::get_url is there for SDK consumers to be able to use the
existing HTTP stack (configuration and all) however in practice it was a
bit weird:
- Responses came back as strings limiting the types of resource that
could be fetched (as well as requiring the string to be converted back
to data before handed to a JSON decoder).
- HTTP errors weren't being raised and instead you would find the (e.g.
404) error response in the Ok case.
This patch fixes both of these issues.
2025-07-23 15:24:49 +02:00
Benjamin Bouvier
e87e9331c1
feat!(timeline): infer the reply type automatically when sending a media gallery
2025-07-23 15:05:23 +02:00
Benjamin Bouvier
6e9fc70d13
refactor(timeline): homogeneize naming of replied_to vs in_reply_to
2025-07-23 15:05:23 +02:00
Benjamin Bouvier
e2148e46bc
feat!(timeline): infer the reply type automatically when sending an attachment
2025-07-23 15:05:23 +02:00
Benjamin Bouvier
d1163b75bf
feat!(timeline): Timeline::send_reply() automatically includes the thread relationship too
2025-07-23 15:05:23 +02:00