Commit Graph

1976 Commits

Author SHA1 Message Date
Richard van der Hoff 3b84b2c5e7 crypto-ffi: fix error message for MissingRoomKey (#4997)
This error does not necessarily mean that the session was *withheld*.
2025-05-02 15:52:15 +01:00
Stefan Ceriu 284db61540 feat(ffi): expose a new get_room method on the NotificationClient that will fetch it from its inner in-memory store backed client instead of the parent one.
This is necessary because the `NotificationClient` runs a sliding sync loop and the retrieved data isn't pushed back into the parent client stores (because of cross process locking shenanigans).
This will be used with the previously introduced `org.matrix.msc3401.call.member` required state to check whether a room still has an ongoing call before showing the ringing screen.
2025-04-30 12:48:41 +03:00
Timo 5e2f775b2b WidgetDriver: rename EventFilter->Filter & MatrixEventFilterInput -> FilterInput
This is a simple devtool refactor rename. Nothing fancy here.
2025-04-29 18:15:07 +02:00
Michael Goldenberg c3ed8b9e7b docs(ffi): update changelog
Signed-of-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg 6e442d9046 feat(ffi): rename fields in UploadSource to match AttachmentSource
Signed-of-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg 79c5edd319 refactor(ffi): add conversion from UploadSource to AttachmentSource
Signed-of-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg bd6361e23a feat(ffi): replace file-related fields with UploadSource in UploadParameters
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg 02fdf8c0d3 feat(ffi): add UploadSource for representing upload data
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg 1e835b24fb feat(ffi): update changelog
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Michael Goldenberg 1a12ba3ad4 feat(ffi): allow file data to be passed through bindings when sending attachment
Signed-of-by: Michael Goldenberg <m@mgoldenberg.net>
2025-04-29 12:35:31 +02:00
Valere Fedronic ff32840387 refactor(crypto): Move session_id from EncryptionInfo to AlgorithmInfo as it is megolm specific
This patch moves the `session_id` field from EncryptionInfo to
AlgorithmInfo::MegolmV1AesSha2 as it is specific to Megolm. We provide
transparent migration of the serialized data from one format to the other.

In the future we plan to reuse `EncryptionInfo` for to_device decryption
(using olm not megolm). So megolm session_id should move to algorithm
specific data.
2025-04-29 08:07:03 +00:00
Mauro Romito b4afb91de5 feat(bindings): check if report room api is supported 2025-04-29 09:48:29 +03:00
Valere 031f4ec329 review: Remove encryption_info. Will be part of another PR 2025-04-22 16:30:53 +02:00
Valere 4363105976 crypto: Add variants for plain text and encrypted to-device events
fixup: post rebase
2025-04-22 16:30:53 +02:00
Doug 3b133865f0 chore: Remove unused contacts field from OidcConfiguration. 2025-04-22 16:25:07 +02:00
Stefan Ceriu d36b2a6869 feat(ffi): introduce a ThreadSummary type within MsgLikeContent (#4933)
…that holds information on the thread the given item is the root of

- it holds the latest event content and sender at the moment but will
hold more information in the future e.g. number of replies, if it's
unread etc.
- the field is not currently being populate but is delivered earlier so
it can power shipping the UI side on the embedders
2025-04-16 09:11:31 +03:00
Jonas Richard Richter 4de202fc64 doc(changelog): add entry for room topic string in StateEventContent 2025-04-14 15:43:17 +02:00
Jonas Richard Richter 7b206d33f0 feat(ffi): update RoomTopic AnySyncStateEvent variant to include topic string 2025-04-14 15:43:17 +02:00
Jorge Martín 0306683cbf feat(ffi): Add extra details to ClientError.
Also split `ClientError::new` into `ClientError::from_str` and `ClientError::from_err` so we can automatically get the details from the 2nd one.
2025-04-11 15:49:20 +02:00
Ivan Enderlin 5d55bb4955 chore: Release matrix-sdk version 0.11.0 2025-04-11 10:51:30 +02:00
Mauro Romito 9300f47b40 feat(bindings): join_rule in NotificationItem 2025-04-11 10:29:59 +02:00
Mauro Romito 52f0aafb1e feat(bindings): expose is_public in notifications 2025-04-11 10:29:59 +02:00
Damir Jelić ab90c1b945 refactor(sdk): Migrate away from the backoff crate to the backon crate
Since backon also has WASM support, this should mean that we can get rid
of the WASM specific HTTP client implementation.
2025-04-10 11:58:06 +02:00
Jorge Martín 005e506c9b refactor(ffi): expose Room::member_with_sender_info.
Reuse this for `RoomPreview` too, removing `RoomMembershipDetails`, which contained the same info.
2025-04-10 09:48:15 +02:00
Damir Jelić f266fb9c38 chore(ffi): Update the changelog so it conforms to our cargo-release setup 2025-04-09 11:26:59 +02:00
Damir Jelić 2dfd334ade chore: Include the matrix-sdk-ffi crate in the release process 2025-04-09 11:26:59 +02:00
Stefan Ceriu 628440632d chore(ffi): move reactions from EventTimelineItem to MsgLikeContent to keep in line with the UI crate types 2025-04-08 17:47:17 +03:00
Stefan Ceriu 16a3d9d78b chore(ffi): introduce MsgLike Content and Kind and move mappings 2025-04-08 17:47:17 +03:00
Stefan Ceriu d89a7d6c18 chore(ffi): move MsgLike related types to their own file 2025-04-08 17:47:17 +03:00
Stefan Ceriu 87c70789fe chore(ffi): move replies to their own file 2025-04-08 17:47:17 +03:00
Jorge Martín 3ece8e62b5 refactor(ffi): export NotificationItem::thread_id in the FFI layer 2025-04-08 11:53:39 +02:00
Ivan Enderlin ee879354b7 doc(sqlite,ffi): Add #4894 in the CHANGELOG.mds. 2025-04-07 14:05:40 +02:00
Ivan Enderlin c3fd571623 feat(ffi): Add ClientBuilder::system_is_memory_constrained().
This patch adds `ClientBuilder::system_is_memory_constrained`
so that the client can be built with that in mind.
Behind the scene, for the moment, it only calls
`SqliteStoreConfig::with_low_memory_config` instead of
`SqliteStoreConfig::new`, but this flag can be used for other use cases.
2025-04-07 14:05:40 +02:00
Ivan Enderlin d9157e5b83 refactor(ffi): Call methods on Room instead of redoing the same work.
This patch updates `Room::report_content` and `Room::report_room` to
call the same methods on `matrix_sdk` instead of re-implementing them.
2025-04-07 11:54:25 +02:00
Ivan Enderlin 38378f7bae refactor(sdk): Reduce the size of Error::OAuth.
This patch boxes the error in `Error::OAuth` to reduce the size of this
variant (from 160 bytes to 16 bytes).
2025-04-04 13:25:55 +02:00
Kévin Commaille 43431b88da feat(sdk): Add Client::logout() to log out regardless of the auth API
It simplifies code for users, and avoids to have to match on
`AuthApi`, which is a non-exhaustive enum.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-04-04 13:14:55 +02:00
Stefan Ceriu 9f7179263a fix(ffi): correctly populate all audio content fields when converting from FFI types to Ruma
- fixes forwarding audio and voice messages that would previously show up as files because of missing fields
2025-04-03 15:50:17 +03:00
Kévin Commaille c8da9cb462 refactor(oauth): Remove the issuer from OAuthAuthData
It is actually unused, and now that we only need homeserver URLs for
static registrations, users don't need to access it easily.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-04-03 12:52:17 +03:00
Kévin Commaille 678938951e chore: Update changelog for OAuthRegistrationStore removal
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-04-03 12:52:17 +03:00
Kévin Commaille 8883e081af refactor(oauth): Remove OAuthRegistrationStore
MSC2966 was updated, clients should re-register for every log in, so we
don't need to store the client IDs between logins.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-04-03 12:52:17 +03:00
Johannes Marbach c4d9ec98c3 feat!(ffi): merge send_reply and send_thread_reply (#4880)
This pushes down the `Reply` struct to be provided when sending a reply, and merges the `send_reply` and `send_thread_reply` FFI functions.

This is a small follow-up on https://github.com/matrix-org/matrix-rust-sdk/pull/4852/files#r2016594024.

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-04-03 11:19:21 +02:00
Johannes Marbach dccd836dc6 feat!(timeline): allow sending media as (thread) replies (#4852)
This makes it possible to reply with a media, as part of a thread or not.

Fixes #4835.

---------

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-04-02 12:25:06 +00:00
Benjamin Bouvier 42133a60c8 fix(ffi): use EventCache::clear_all_rooms() to clear the events caches
Clearing only the store backend, while not emptying the in-memory linked
chunks, will lead to out-of-sync state across the in-memory caches and
the database. As a result, it's safer to call the existing
`EventCacheInner::clear_all_rooms`, which will clear all the rooms
manually.
2025-04-02 13:54:43 +02:00
Ivan Enderlin 1a1310e205 doc(ffi,sqlite,sdk): Update CHANGELOG.mds. 2025-04-01 11:50:20 +02:00
Ivan Enderlin d7b6fae2a3 feat(ffi): Add session_pool_max_size, …_cache_size and …_journal_size_limit.
This patch adds 3 methods on `ClientBuilder`:

1. `session_pool_max_size`,
2. `session_cache_size`,
3. `session_journal_size_limit`.

Respective fields are also added.

These values control the `SqliteStoreConfig`, used to control the
stores, especially their memory consumption.
2025-04-01 11:50:20 +02:00
Ivan Enderlin d60810c2af refactor(ffi): Rename ClientBuilder::passphrase to session_passphrase.
This patch renames the `passphrase` method of `ClientBuilder` to
`session_passphrase` for more consistency with the `session_paths`
method.
2025-04-01 11:50:20 +02:00
Ivan Enderlin a047784278 feat(ffi): Add Client::restore_session_with and RoomLoadSettings.
This patch adds `Client::restore_session_with` along with the
`RoomLoadSettings` enum.
2025-04-01 10:50:18 +02:00
Ivan Enderlin 7ac3fa1f4a refactor(ffi): Inline restore_session_inner.
This patch inlines the `restore_session_inner` into its unique call
site.
2025-04-01 10:50:18 +02:00
Stefan Ceriu cb92971657 chore(ui): move TimelineItemContent::UnableToDecrypt to MsgLikeKind::UnableToDecrypt 2025-03-28 15:30:47 +02:00
Stefan Ceriu 5a35fec894 chore(ui): rename RedactedMessage to just Redacted 2025-03-28 15:30:47 +02:00