Commit Graph

2593 Commits

Author SHA1 Message Date
Jorge Martín
5f4912c273 Use suggestions to simplify the callback blocks 2026-05-26 15:01:29 +02:00
Jorge Martín
662e2fe872 WIP 2026-05-26 12:18:05 +02:00
Mauro Romito
3a44b50518 docs: changelog added 2026-05-26 12:33:08 +03:00
Mauro Romito
55262807e1 feat (bindings): expose tile_server to FFI 2026-05-26 12:33:08 +03:00
Michael Goldenberg
b847983dbf refactor(base): hold state store lock while processing sync response
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-05-21 12:34:28 +02:00
Daniel Anderson
8675cb2841 feat(ffi): expose append parameter on Client::set_pusher
Forwards the new SDK append flag across the FFI boundary so multi-profile
clients can register pushers without overwriting each other.

Breaking change: Client::set_pusher now takes an append: bool parameter.

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-21 12:53:08 +03:00
Daniel Anderson
d3c499ddbc feat(sdk): expose append parameter on Pusher::set
Forwards the Matrix spec's append flag on POST /_matrix/client/v3/pushers/set
through Pusher::set. When true, the homeserver keeps any existing pusher
with the same app_id and pushkey registered for other users instead of
replacing it. Needed for multi-profile clients on a single device.

Breaking change: Pusher::set now takes an append: bool parameter.

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-21 12:53:08 +03:00
ganfra
4ca424f5f2 revert "only start with a timeline reset diff if the timeline isn't empty" 2026-05-21 09:40:09 +02:00
Damir Jelić
82c24a891b fix(sdk): Make the pinned events sorting deterministic
The previous sorting logic relied on SystemTime::now, which introduces
non-deterministic behavior which might result in a panic.
2026-05-20 16:54:20 +02:00
Daniel Anderson
10c0a86e99 feat(ffi): expose RoomInfo::fully_read_event_id
`m.fully_read` is now available on the FFI `RoomInfo` record

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-20 11:46:20 +03:00
Jorge Martín
4a26af89f2 feat(ffi): Expose SqliteStoreBuilder::key in the FFI layer
This allows clients to provide a raw key instead of a passphrase for the key used to encrypt and decrypt data in the store DBs.

Using a raw key with enough entropy should be safe, and we can skip the key derivation performed in the passphrase, which slows down session restoration (it's now 50% faster in my local tests).
2026-05-19 16:05:15 +02:00
Ivan Enderlin
b6d0f8a0a7 chore: Fix rumdl errors and warnings by hand. 2026-05-18 15:05:52 +02:00
Ivan Enderlin
7d31912f0d chore: Run rumdl check --fix. 2026-05-18 15:05:52 +02:00
Artem Pylypchuk
c895e92c26 fix: manually drop room if it's last in Arc 2026-05-15 11:57:23 +02:00
Damir Jelić
e5a50089c2 chore: Migrate changelogs to towncrier fragments 2026-05-15 11:15:38 +02:00
Stefan Ceriu
3f6887a69e chore(doc): update the documentation around pausing an resuming stores 2026-05-12 17:25:48 +03:00
Stefan Ceriu
e46cd9870d feat(client): expose a client pause/resume mechanism throughout the SDK
This patch exposes the pause/resume mechanism for SDK stores all the way up to
the FFI `Client`, so apps can temporarily release SQLite resources when moving
to the background and re-acquire them on resume.

The main use case is iOS backgrounding, where keeping SQLite file descriptors and
locks open can contribute to `0xdead10cc` terminations by the operating system.
2026-05-12 17:25:48 +03:00
Jorge Martín
2d8b3cee25 doc: Add changelog entries 2026-05-11 16:40:09 +02:00
Jorge Martín
8b5bc935ea refactor: Use AsyncMutex to avoid most of the issues about the MutexGuard and .await 2026-05-11 16:40:09 +02:00
Damir Jelić
58141e422d Merge pull request #6559 from matrix-org/poljar/merge-release-0-16-back
Merge the 0.16-release branch back to main
2026-05-11 15:44:23 +02:00
Stefan Ceriu
54bd273863 feat(ffi): introduce a mark_all_rooms_as_read method for mitigating backend badge count issues 2026-05-08 17:32:26 +03:00
Damir Jelić
08222e300b Merge branch 'release-0.16' into main 2026-05-08 16:30:55 +02:00
Damir Jelić
ed148665d2 chore: Release matrix-sdk version 0.16.1 2026-05-08 15:57:42 +02:00
Damir Jelić
cf099deb27 chore: Release matrix-sdk version 0.17.0 2026-05-08 14:05:41 +02:00
Jorge Martín
777ce05b2b doc: Add changelog entries 2026-05-07 12:23:43 +02:00
Jorge Martín
ccf349991f feat(ffi): Expose the new fields and functions in the FFI layer 2026-05-07 12:23:43 +02:00
Jorge Martín
ad82cd3dfc refactor: Rename the async fn Room::is_dm to Room::compute_is_dm
This function will now also compute and store the active service members under the hood
2026-05-07 12:23:43 +02:00
Jorge Martín
2c3ee87063 refactor(sdk-base): Rename Room::active_service_members to update_active_service_members
The function will now store the computed value if it changed into the `RoomSummary` cache
2026-05-07 12:23:43 +02:00
Mauro Romito
30bb6048ee docs: changelog update. 2026-05-06 10:38:58 +02:00
Mauro Romito
e673f85a82 feature (bindings): expose beacon and beacon_info power levels on the FFI 2026-05-06 10:38:58 +02:00
Daniel Salinas
65cdd9d9a0 Conditionalize search behind experimental-search feature flag
Move search module and SearchIndexStoreKind usage behind
#[cfg(feature = "experimental-search")] so builds without the
feature don't pull in search dependencies.
2026-05-06 09:19:35 +02:00
Richard van der Hoff
2ec031b819 Bindings: re-run build scripts if NDK changes location (#6538)
The build scripts for the FFI bindings embed the path to the Android NDK
in the target directory, so if the NDK changes location, we need to
re-run the build scripts to avoid a linker error.
2026-05-05 12:04:47 +00:00
Jorge Martín
ae475413fa docs: Add changelog entries 2026-05-05 12:09:51 +02:00
Jorge Martín
7bc1dad70e feat(ffi): Expose RoomMember::is_service_member 2026-05-05 12:09:51 +02:00
Jorge Martín
8a0dcdd550 doc: Add changelogs 2026-04-30 17:04:39 +02:00
Jorge Martín
547a0ea114 feat(ffi): Add RoomInfo::is_dm field
With this, the clients won't have to manually check on their side if a room is a DM or not
2026-04-30 17:04:39 +02:00
Jorge Martín
05b3d7a554 refactor: Use DmRoomDefinition in clients and builders.
To keep compatibility intact, the `MatrixSpec` case is used by default
2026-04-30 17:04:39 +02:00
Hugh Nimmo-Smith
b31e0f0131 Expose HumanQrGrantLoginError::Unknown reason in error message 2026-04-28 16:04:29 +02:00
Kévin Commaille
6777907f28 Upgrade Ruma
Use the new release.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-04-28 10:45:22 +03:00
Valere Fedronic
9266b89a0f feat(sdk-ui): Aggregation of call declines on to the notification event (#6494) 2026-04-27 14:48:40 +02:00
Doug
91bdb4c7bd chore: Add a changelog entry. 2026-04-27 12:31:37 +02:00
Doug
7f4a9c5ab4 ffi: Rename Encryption related OIDC types to OAuth. 2026-04-27 12:31:37 +02:00
Doug
5690692b9e ffi: Rename Session::oidc_data to Session::oauth_data. 2026-04-27 12:31:37 +02:00
Doug
add403e12f ffi: Rename OidcSessionData to OAuthSessionData. 2026-04-27 12:31:37 +02:00
Doug
f7bf39b346 ffi: Rename OIDC errors to OAuth errors. 2026-04-27 12:31:37 +02:00
Doug
a2a297a5d8 ffi: Rename HomeserverLoginDetails OIDC properties to OAuth. 2026-04-27 12:31:37 +02:00
Doug
ed89a2af3d ffi: Rename OidcPrompt to OAuthPrompt. 2026-04-27 12:31:37 +02:00
Doug
af00f08063 ffi: Rename Client OIDC login methods to OAuth naming. 2026-04-27 12:31:37 +02:00
Doug
d876b0ce61 ffi: rename OIDCConfiguration to OAuthConfiguration. 2026-04-27 12:31:37 +02:00
Damir Jelić
68432148ae fix(ffi): Fix the path of the OAuth logging configuration
Some time ago we renamed the oidc module into the oauth module it was
also moved under the authentication module.

This rename and move accidentally disabled a bunch of important logs.
2026-04-27 12:22:45 +02:00