Commit Graph

2411 Commits

Author SHA1 Message Date
Jorge Martín
70dd02012b fix(ffi): Don't override the default package_name and cdylib_name values for Kotlin bindings
Otherwise, the bindings expect the generated JAR/AAR files to contain separate `.so` libraries for each crate
2026-02-04 10:53:29 +01:00
Jorge Martín
f05e0b1b81 doc: Add missing changelog entry 2026-02-04 10:23:16 +01:00
Jorge Martín
9b6d54ef30 refactor: Enable debug-images feature for Sentry
This makes it possible to link a Sentry trace to the debug symbols so it can be symbolicated
2026-02-04 10:21:27 +01:00
Benjamin Bouvier
50cc5f4102 refactor(pinned events): move pin_event/unpin_event from the Timeline to the Room
These make sense in general, and they will help getting rid of one of
the `PinnedEventsRoom` trait methods in a subsequent PR.
2026-02-04 09:59:47 +01:00
Benjamin Bouvier
19234abf32 review(task_monitor): address comments, watchdog -> task_monitor, misc doc adjustments and renamings 2026-02-02 16:13:00 +01:00
Benjamin Bouvier
50b06e8e5b feat(ffi): add support for listening to background jobs errors 2026-02-02 16:13:00 +01:00
Damir Jelić
911b559113 feat(crypto): Add support for the QR code data type defined in MSC4388 2026-01-30 16:37:17 +01:00
Ivan Enderlin
be2c1d44e0 feat(ffi) Add LatestEventValue::RemoteInvite. 2026-01-30 15:34:48 +01:00
Damir Jelić
c4a04eee97 refactor(crypto): Create a MSC and intent specific accessor for the QR login data type
This patch adds a view into the MSC-specific and intent specific data
fields of the QR login data type.

MSC4108 and MSC4388 have subtle differences in the way the rendezvous
URL and the server name are shared, this new getter allows us to access
all of those fields in a consistent manner.

MSC4108: https://github.com/matrix-org/matrix-spec-proposals/pull/4108
MSC4388: https://github.com/matrix-org/matrix-spec-proposals/pull/4388
2026-01-30 10:19:46 +01:00
Damir Jelić
036fa5ca82 refactor(crypto): Rename QrCodeModeData into QrCodeIntentData 2026-01-30 10:19:46 +01:00
Damir Jelić
38731f12de refactor(crypto): Abstract away QrLoginData so we can support multiple MSC versions
This patch modifies the QrLoginData, it now hides all its public fields
and appropriate getters have been created for it instead.

This is necessary to hide the MSC specific parts of the data type thus
allowing support of multiple versions of the data type.
2026-01-30 10:19:46 +01:00
Kévin Commaille
4feaa0ba49 Upgrade Ruma
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-01-30 10:16:06 +01:00
Damir Jelić
1fb2ca5843 refactor(crypto-ffi): Serialize the secrets bundle when exporting it 2026-01-28 10:30:20 +01:00
Johannes Marbach
2ebab067b4 feat(timeline): enable focusing a thread root using TimelineFocus::Event
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-01-28 07:43:49 +01:00
Johannes Marbach
67a45b0772 feat(timeline): remove the obsolete event type filter
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-01-27 14:43:57 +01:00
Jonas Platte
fccf44f285 fix: Add 'bellow' as a forbidden word (#6073)
Signed-off-by: Jonas Platte
2026-01-27 10:53:07 +00:00
Jorge Martín
731cb0b426 fix(ffi): Temporarily remove checksums for Android bindings
There is an error in how JNA performs the API checksums that results in incorrect checks that make the app fail as soon as any SDK method is called, since initializing the SDK performs these checks
2026-01-27 11:21:11 +01:00
Johannes Marbach
8f4ac73ca9 feat(timeline): add filter for membership and profile changes
Use case: Display membership changes (join, leave, etc.) in the timeline but suppress profile changes (display name or avatar URL). This is currently not possible with `TimelineEventTypeFilter` because both types of changes have the same event type (`m.room.member`).

This pull request introduces a new `TimelineEventFilter` for filtering on either the event type or parts of its content. Content filters are only added for membership and profile changes but more enum variants can be added in future.
2026-01-26 14:50:49 +00:00
Mauro Romito
50a5a1d0a8 refactor: refactored LeaveSpaceRoom to also account for v12 rooms where creators have infinite PL and users with PL 150 are considered owners. Included also are_creators_privileged to let clients know if we are in a v12 room.
# Conflicts:
#	crates/matrix-sdk-ui/src/spaces/leave.rs

# Conflicts:
#	crates/matrix-sdk-ui/src/spaces/leave.rs

# Conflicts:
#	bindings/matrix-sdk-ffi/src/spaces.rs
#	crates/matrix-sdk-ui/src/spaces/leave.rs
2026-01-23 14:51:58 +01:00
Damir Jelić
6d5a43b47a feat(crypto-ffi): Add bindings to export a secrets bundle 2026-01-23 14:46:16 +01:00
Benjamin Bouvier
8ae4acdc00 feat(timeline): expose the user's threaded receipt on each thread summary
This is half of the work: this will load the threaded receipt for each
thread, every time we add/update a timeline item for an event that had a
thread summary. Since we don't know which of the private or the public
receipt is the most advanced, we simply pass both, to start with; it's
expected that this code dies later, when we fold it in into the event
cache.

The second half will consist in updating the thread summaries when a new
read receipt event happens.
2026-01-20 17:07:46 +01:00
Doug
439fb9d9c9 chore: Remove the redundant LeaveSpaceRoom.joined_members_count property. 2026-01-20 15:45:59 +02:00
Stefan Ceriu
a9ccb443bc feat(room_list): Add a room identifier based list room list service filter 2026-01-20 15:05:59 +02:00
Stefan Ceriu
0cca375f03 feat(spaces): Expose a SpaceFilter API
The `SpaceFilter`s API provides a simple interface that can be used in conjuncture with the `RoomList` to filter down the hierarchy to a particular space or its descendants.

Per design, the first level `SpaceFilter`s will only contain direct descendants while the second level ones will contain the rest of the hierarchy recursively.

The full feature is defined in https://github.com/element-hq/element-meta/issues/2966
2026-01-20 15:05:59 +02:00
Doug
d278f20dd4 feat: Add a method to reset a SpaceRoomList. 2026-01-20 14:12:15 +02:00
Damir Jelić
a3111e7541 Merge pull request #5931 from JoFrost/main
feat[bindings]: expose power level thresholds in corresponding timeline event
2026-01-20 11:50:00 +01:00
Mauro Romito
cd5b8eefe0 doc: updated the changelog
# Conflicts:
#	bindings/matrix-sdk-ffi/CHANGELOG.md
2026-01-20 08:41:49 +01:00
Mauro Romito
9183c80ea6 fix: is_last_admin also accounts for the membership state and included the joined_members_count in LeaveSpaceRoom 2026-01-20 08:41:49 +01:00
JoFrost
eb13eeeacd chore[changelog]: move new changes to the top 2026-01-19 17:52:00 +02:00
JoFrost
2ff1f66f37 chore[ffi]: rename previous to previous_users 2026-01-19 17:51:38 +02:00
Viktor Strate Kløvedal
0053ecb5f4 FFI: implement Room::list_threads (#5953)
Expose `Room::list_threads` to the FFI.

---------

Signed-off-by: viktorstrate <viktorstrate@gmail.com>
2026-01-19 13:32:29 +00:00
Jorge Martín
fb3c1f8ace doc: Add changelog 2026-01-16 12:48:15 +01:00
Jorge Martín
53b5f04b15 fix(ffi): Use the new RoomPowerLevelsContentOverride API when creating a room
This fixes an issue that prevented default values coming from the SDK from being uploaded in the create room request, which could mean rooms created with the wrong power levels if the default values in the homeserver didn't match those of the SDK
2026-01-16 12:48:15 +01:00
JoFrost
19c958add0 Merge branch 'main' into main
Signed-off-by: JoFrost <20685007+JoFrost@users.noreply.github.com>
2026-01-14 20:18:18 +02:00
Doug
d64c990658 feat: Add a method to set your own user's display name within a room
For e.g. the /myroomnick slash command.
2026-01-14 14:15:22 +02:00
JoFrost
9b15400936 feat[ffi]: Add nonfavorite room filter (#5991)
Hello!

As the `Not` filter is not available on the FFI SDK due to UniFFI
constraints, this PR adds a NonFavorite filter to RoomList, implemented
as the negation of the existing Favorite filter. This was made to
address the issue #5978.

- [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:

---------

Signed-off-by: JoFrost <20685007+JoFrost@users.noreply.github.com>
2026-01-13 11:35:54 +01:00
Jorge Martín
7595ae0916 test(ffi): Add test for CreateRoomParameters -> create_room::v3::Request transformation 2026-01-09 12:08:56 +01:00
Jorge Martín
faff2d70f8 feat(ffi): Add ffi::CreateRoomParameters::is_space
This allows us to create a room with a `RoomType::Space` from the clients
2026-01-09 12:08:56 +01:00
JoFrost
5291ff2b4d Merge branch 'main' into main
Signed-off-by: JoFrost <20685007+JoFrost@users.noreply.github.com>
2026-01-07 19:58:20 +02:00
Skye Elliot
a8c9257dfe docs: Update CHANGELOGs. 2026-01-06 16:16:20 +00:00
Skye Elliot
0a5a22ec6f feat(ui): Expose information about room key bundle forwarder.
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-01-06 12:15:27 +00:00
JoFrost
4c59282822 chore[ffi]: clippy 2025-12-21 22:22:19 +02:00
JoFrost
a68aeafb4b chore[ffi]: rebase on last changes introduced in the events pr 2025-12-21 22:18:55 +02:00
JoFrost
bc33878c64 Merge branch 'main' into main
Signed-off-by: JoFrost <20685007+JoFrost@users.noreply.github.com>
2025-12-21 22:13:43 +02:00
Richard van der Hoff
66daf3f7d3 Merge remote-tracking branch 'origin/main' into rav/clean_up_shield_state 2025-12-19 13:44:41 +00:00
Richard van der Hoff
d5ce01acab ui: new type for EventTimelineItem::get_shield
Separate the shield types between common and UI, so that we can change common
without breaking UI.

The new type does not include a `message` field: since it cannot be localised,
clients should not be using it.
2025-12-18 13:54:49 +00:00
Richard van der Hoff
dbefaef777 bindings: remove message from ShieldState
Since this can't be localised, apps shouldn't be using it.
2025-12-18 13:09:54 +00:00
Richard van der Hoff
7438c59acd bindings: get_shields: stop returning Option
Again, there is no need for an `Option` as well as a `None` variant
2025-12-18 13:07:34 +00:00
Richard van der Hoff
f5cda21d59 ui: TimelineEventItem::get_shield: stop returning Option
The `ShieldState` enum has a `None` variant, so we don't need an `Option` on
top of it.
2025-12-18 13:07:34 +00:00
Jorge Martín
759c5a9fcd docs: Add changelog entries 2025-12-18 10:41:43 +01:00