Benjamin Bouvier
8c0a918e6e
refactor(sdk): introduce a lightweight ThreadSubscription for external consumers, and rename previous one to StoredThreadSubscription
...
External consumers are likely not interested about unsubscriptions and
the bump stamp values themselves, so let's not expose these to them.
2025-09-01 10:38:34 +02:00
Benjamin Bouvier
33c317e6d2
refactor(sdk): put the subscription status + bumpstamp back into the stored thread subscription
2025-09-01 10:38:34 +02:00
Stefan Ceriu
04728cc1a6
chore(spaces): various documentation fixes
2025-08-29 18:35:27 +03:00
Stefan Ceriu
3c069f0c5c
fix(spaces): compute the initial joined_spaces value when first setting up a subscription
...
- fixes values being reported only after the first sync update
2025-08-29 18:35:27 +03:00
Stefan Ceriu
9caa0817ae
docs(spaces): add documentation, comments and examples
2025-08-29 18:35:27 +03:00
Stefan Ceriu
50446377de
change(spaces): publish VectorDiffs instead of a full vectors for joined spaces and space room list subscriptions
2025-08-29 18:35:27 +03:00
Stefan Ceriu
87fdd3c3bf
chore(spaces): converge on single naming scheme for all spaces related components on both the UI and the FFI crates
2025-08-29 18:35:27 +03:00
Stefan Ceriu
990fe86fdc
change(spaces): make the SpaceService constructor non-async and instead automatically setup a client subscription when requesting the joined services subscription
2025-08-29 18:35:27 +03:00
Stefan Ceriu
03ffa4c9a4
feat(spaces): expose the number of children each space room has
2025-08-29 18:35:27 +03:00
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