Commit Graph

14681 Commits

Author SHA1 Message Date
Kévin Commaille 7ec331c842 testing: Create realistic modern event IDs in EventFactory
As a fallback when the ID is not provided when constructing the event.
It allows to work with data that looks like what we would get in
production, which is important for benchmarks.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-06 15:00:45 +01:00
Skye Elliot 8472b5504e Merge pull request #6215 from matrix-org/kaylendog/history-sharing/restart-import
feat: Try import stored key bundles on client start
2026-03-05 16:23:36 +00:00
Skye Elliot 2ca717b4af docs: Update CHANGELOGs
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:03 +00:00
Skye Elliot c864fac823 test(sdk): De-duplicate shared history integration tests
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:03 +00:00
Skye Elliot c62da4a026 tests(sdk): Add integration test for bundle import crash recovery
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:03 +00:00
Skye Elliot 471e045ea3 feat(sdk): Remove pending key bundle on HTTP failure
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Skye Elliot 29ca03bb81 feat(sdk): Clear room pending key bundle for expired details
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Skye Elliot 29e3b7766d feat(sdk): Separate startup bundle import to different task
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Skye Elliot 2dd43fc9de feat(sdk): Add proper error logging and comments
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Skye Elliot 7fbc3e78e9 feat(sdk): Try import stored room key bundles on startup
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Skye Elliot ac6ccd3384 refactor(sdk): Move should_accept_bundle into shared_room_history
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2026-03-05 15:55:02 +00:00
Benjamin Bouvier f49784a15e refactor(crypto): use an async closure in Store::with_transaction
This allows passing the `Transaction` by mutable reference, instead of
passing it by ownership and requiring the callback to pass it back,
which is slightly better in terms of ergonomics. This was hard to
achieve without async closures, but now that we have them, this is
trivial.
2026-03-05 15:51:34 +01:00
Benjamin Bouvier b0aadd1574 refactor(test): use assert_let_timeout more often
Many of our tests make use of `assert_let` for checking that some value
comes out of a stream, while they could use `assert_let_timeout`, which
provides better ergonomics when the expected value doesn't arrive
immediately, by failing quickly.

This converts a few instances, making those tests easier to debug in the
future, would they fail again.
2026-03-05 15:36:41 +01:00
Stefan Ceriu 37ae2af67e fix(timeline): handle out of order beacon_info stop events/aggregations 2026-03-05 15:55:31 +02:00
Stefan Ceriu 4d64f3885a chore(timeline): add location sharing stop aggregation without timeline item test 2026-03-05 15:55:31 +02:00
Stefan Ceriu 436c598da5 chore(timeline): handle live location sharing stops similar to aggregations 2026-03-05 15:55:31 +02:00
Stefan Ceriu 034667cf3f chore(timeline): expose live location sharing asset type and cleanup public methods. 2026-03-05 15:55:31 +02:00
Stefan Ceriu 5f867ee982 chore(timeline): add live location changelogs 2026-03-05 15:55:31 +02:00
Stefan Ceriu 8521b7b65b chore(ffi): expose MSC3489 timeline types 2026-03-05 15:55:31 +02:00
Stefan Ceriu eca633b1cf chore(multiverse): handle TimelineItemContent::LiveLocation 2026-03-05 15:55:31 +02:00
Stefan Ceriu 6c769d1d33 chore(ui): add timeline live location tests 2026-03-05 15:55:31 +02:00
Stefan Ceriu 862a0e6f57 feat(ui_timeline): handle org.matrix.msc3672.beacon_info and related org.matrix.msc3672.beacon events and aggregate them onto the timeline's LiveLocation
# Conflicts:
#	crates/matrix-sdk-ui/src/timeline/event_handler.rs
2026-03-05 15:55:31 +02:00
Stefan Ceriu 2083e20592 chore(ui_timeline): explicitly filter out org.matrix.msc3672.beacon timeline events 2026-03-05 15:55:31 +02:00
Stefan Ceriu e61e86c3b4 feat(ui): add UI crate timeline types for handling MSC3489 live location sharing
# Conflicts:
#	crates/matrix-sdk-ui/src/timeline/event_item/mod.rs
#	crates/matrix-sdk-ui/src/timeline/mod.rs
2026-03-05 15:55:31 +02:00
Stefan Ceriu 17a9ab41e4 chore(tests): add event factory method for building MSC3672 beacon_info state events 2026-03-05 15:55:31 +02:00
Benjamin Bouvier 007eb15bce refactor(test): use with_versions/with_feature in a few tests and remove ok_custom 2026-03-05 14:36:42 +01:00
Benjamin Bouvier d37d65614e refactor(test): remove MockEndpoint<VersionsEndpoint>::ok_with_unstable_features
As it's now unused because of the previous commits.
2026-03-05 14:36:42 +01:00
Benjamin Bouvier 38afc0b1cd refactor(test): spell out use of the e2e_cross_signing feature in tests 2026-03-05 14:36:42 +01:00
Benjamin Bouvier 00bfffed99 refactor(test): don't use unstable features mocking when it's not needed 2026-03-05 14:36:42 +01:00
Benjamin Bouvier 964f6c8638 refactor(test): use the versions mock builder pattern in tests 2026-03-05 14:36:42 +01:00
Benjamin Bouvier df7823f1cf refactor(test): introduce a builder pattern for the VersionsEndpoint versions and features 2026-03-05 14:36:42 +01:00
Benjamin Bouvier 3457b5fa79 refactor(test): rename MockEndpoint<VersionsEndpoint>::versions to commonly_supported_versions 2026-03-05 14:36:42 +01:00
Benjamin Bouvier 21e8138805 chore: depersonalize some TODO code comments
Removed a few TODOs that were not applicable anymore, because they were
either very low value (in timeline test code) or already done (in event
cache, with respect to the cross-process locking).

Also removed my nick from some TODOs and comments, as code comments
aren't the best way to store assignees for issues.
matrix-sdk-ffi/20260305
2026-03-05 13:35:23 +01:00
Benjamin Bouvier 20d1087658 chore: remove spurious semicolon after match statement 2026-03-04 16:47:25 +01:00
Benjamin Bouvier 1edbad0bd8 refactor(client): monitor the thread subscriptions catchup task 2026-03-04 16:47:25 +01:00
Benjamin Bouvier 1825cd5816 chore: add changelog entry for the previous commit 2026-03-04 16:47:25 +01:00
Benjamin Bouvier 97e2b1c1b2 refactor(client): also consider server support when checking for thread subscriptions enablement 2026-03-04 16:47:25 +01:00
Kévin Commaille 02d0298b66 test(sdk): Add thorough tests about receiving stripped state events
Including stripped state events that fail to deserialize.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 12:23:26 +00:00
Kévin Commaille 6fd4988849 docs(base): Clarify comment for m.room.encryption
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 12:23:26 +00:00
Kévin Commaille ed319eed64 fix(base): Handle stripped state events that fail to deserialize
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 12:23:26 +00:00
Kévin Commaille 359f50f368 refactor(base): Make RoomInfo::handle_state_event generic over the enum type
This will allow to use the same method for stripped state.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 12:23:26 +00:00
Kévin Commaille c6bf11e836 Upgrade Ruma after Any(Sync)StateEvent breaking change
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 12:23:26 +00:00
Benjamin Bouvier 3aec150697 doc(event cache): clarify comment about Gap::token 2026-03-04 12:13:22 +01:00
Benjamin Bouvier ddd07443f1 chore: add entry in the changelog for the renaming of the Gap::prev_token field 2026-03-04 12:13:22 +01:00
Benjamin Bouvier 8dbb6e5c1d refactor(event cache): rename Gap::prev_token to token
As it is now used for both a previous batch token (backwards pagination)
or a next batch token (forwards pagination).
2026-03-04 12:13:22 +01:00
Benjamin Bouvier cdd40d0308 chore: add changelog entry for the renaming of BackPaginationError 2026-03-04 12:06:47 +01:00
Benjamin Bouvier e9f398472e refactor(event cache): rename BackpaginationError to PaginationError 2026-03-04 12:06:47 +01:00
Benjamin Bouvier 88eb4a0da9 Merge pull request #6185 from matrix-org/bnjbvr/permalink-linked-chunk
feat: introduce an event-focused linked chunk for event-focused timelines
2026-03-04 11:39:01 +01:00
Kévin Commaille 77dddf2540 Upgrade Ruma after breaking changes of ErrorKind
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 10:30:25 +00:00
Kévin Commaille 2cf8ce2a7d Upgrade Ruma after breaking change of InvitationRecipient
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-03-04 10:30:25 +00:00