Kévin Commaille
3e5e6efb31
refactor(sdk): Move UrlOrQuery into utils module
...
This will allow to reuse it outside of the `oauth` module.
It can now also be converted from a `QueryString`, for improved
compatibility with `LocalServerRedirectHandle`.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 11:49:51 +01:00
Ivan Enderlin
5902a857d9
fix(xtask): log overview sanitizes HTML.
...
The log message can contain HTML data. It happens notably when the
homeserver is broken, and an HTML document is returned in some errors.
We don't want to parse the fields in this case, because HTML breaks
everything.
2026-03-09 11:26:44 +01:00
Kévin Commaille
168fd7232e
refactor(sdk): Remove TODOs by using new Ruma API
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 10:44:56 +01:00
Kévin Commaille
e17ca1071c
Upgrade Ruma after Typing breaking change
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:18:19 +00:00
Kévin Commaille
99ac38eb20
Upgrade Ruma after SecretEncryptedData breaking change
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:18:19 +00:00
Kévin Commaille
698ffba88e
Upgrade Ruma after report_content breaking change
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:18:19 +00:00
Kévin Commaille
23a312ed68
Upgrade ruma after ErrorKind::Forbidden breaking change
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:18:19 +00:00
Kévin Commaille
1f69fcb80b
Upgrade Ruma after RequestAction breaking changes
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:18:19 +00:00
Kévin Commaille
deabb8b6e7
refactor(ui): Construct PossiblyRedactedPinnedEventsEventContent from PinnedEventsEventContent
...
It is simpler than going through deserialization.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:01:39 +01:00
Kévin Commaille
d8cbb1b77b
refactor(ui): Call membership_change() on the event rather than providing the parts manually
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-09 09:01:39 +01:00
Kévin Commaille
7c16d673fb
benchmarks: Use realistic Matrix IDs in timeline
...
We rely on the EventFactory to generate a hash of the events for the
event IDs, and we use the appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
Kévin Commaille
e9fbbb52d5
benchmarks: Use realistic Matrix IDs in store_bench
...
Use the appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
Kévin Commaille
c05df39132
benchmarks: Use realistic Matrix IDs in room_list
...
We rely on the EventFactory to generate a hash of the events for the
event IDs, and we use the appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
Kévin Commaille
d572d201c9
benchmarks: Use realistic Matrix IDs in room_bench
...
We generate an arbitrary hash for the event IDs, and we use the
appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
Kévin Commaille
39aa777b9b
benchmarks: Use realistic Matrix IDs in linked_chunk
...
We rely on the EventFactory to generate a hash of the events for the
event IDs, and we use the appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
Kévin Commaille
f0ae0e53f9
benchmarks: Use realistic Matrix IDs in event_cache
...
We rely on the EventFactory to generate a hash of the events for the
event IDs, and we use the appropriate length for room IDs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2026-03-06 15:00:45 +01:00
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