Benjamin Bouvier
ebc7396334
refactor(sdk): remove unused TimelineEvent ctor
...
It was intended for test purposes, but it seems it's unused, so let's
get rid of it.
2025-06-02 16:24:25 +02:00
Benjamin Bouvier
c7234b6f13
doc: make the self type clearer in doc comment of TimelineEvent
2025-06-02 16:24:25 +02:00
Richard van der Hoff
56be9dec59
multiverse: expand user names when inviting ( #5146 )
...
When the user does an `/invite`, if the target user doesn't start with
an `@`, try expanding it as a user on the local server.
This makes it much easier when repeatedly testing inviting!
2025-06-02 14:41:20 +01:00
Richard van der Hoff
2fa6a98052
multiverse: write logs to session dir ( #5145 )
...
Rather than always writing the logs to `/tmp`, write them to the session
directory. The session directory defaults to `/tmp` so by default this
will do the same as before, but if you override the session path on the
commandline, the logs will get stored alongside the stores and caches.
This is particularly useful when running two instances of multiverse,
and you want them to put their logs in different places.
2025-06-02 14:41:11 +01:00
Yousef Moazzam
f03407fdb9
test: remove unnecessary server timestamp fields on events
2025-06-02 14:59:23 +02:00
Yousef Moazzam
fd4fd3c4f9
test: add timeline events in bulk to room builder
2025-06-02 14:59:23 +02:00
Yousef Moazzam
a9513e6f73
test: remove import of unused sync_timeline_event! macro in timeline subscribe test module
2025-06-02 14:59:23 +02:00
Yousef Moazzam
5f0bcef5ce
test: create events with EventFactory in profile updates test
2025-06-02 14:59:23 +02:00
Yousef Moazzam
96049f41a5
test: create events with EventFactory in event filter test
2025-06-02 14:59:23 +02:00
Daniel Salinas
ba8998623e
Fix annotations on comments for new StreamExt
...
Hook up use of new extension in matrix-sdk-ffi crate
2025-06-02 12:26:52 +02:00
Daniel Salinas
d6bf3019f9
StreamExt that supports wasm platforms
...
The .boxed() method requires a Send trait that makes it
unusable on Wasm platforms. This re-exports the existing StreamExt,
while providing a new extension for the wasm family of targets.
2025-06-02 12:26:52 +02:00
Damir Jelić
ef037631a1
refactor(crypto): Simplify the checking of device keys when decrypting Olm events
2025-05-30 15:45:27 +02:00
Damir Jelić
42ade32bea
feat(sdk): Fallback to the device keys in the Olm event for room key bundles
...
This makes it possible to correctly accept a historic room key bundle if
we previously didn't know about the device of the sender of the bundle.
2025-05-30 15:45:27 +02:00
Damir Jelić
37d7e26929
feat(sdk): Ensure that we have all the devices of a user we invite
...
This makes it possible to correctly share a historic room key bundle with the
invited user without sharing another room with the user.
2025-05-30 15:45:27 +02:00
Robin
e51dceb399
refactor(widget): Improve wording of ApiVersion docs
2025-05-30 15:32:35 +02:00
Robin
cee0129225
feat(widget): Distinguish room state and timeline events
...
This is an implementation of an update to MSC2762 (https://github.com/matrix-org/matrix-spec-proposals/pull/4237 ). It changes the widget driver to split state updates out into an `update_state` action and use the `send_event` action exclusively for forwarding timeline events. Accordingly, `read_events` now always reads from /messages, never the state store.
2025-05-30 15:32:35 +02:00
Robin
ef36665d7d
doc(widget): Note that capability renegotiation is unimplemented
2025-05-30 15:32:35 +02:00
Robin
e45e357841
refactor(widget): Extract method for processing requested capabilities
2025-05-30 15:32:35 +02:00
Robin
6657501ef4
refactor(widget): Extract method for acquire capabilities response
2025-05-30 15:32:35 +02:00
Robin
69e8f1e86c
refactor(widget): Extract method for message-like event reading response
2025-05-30 15:32:35 +02:00
Robin
e613fc269f
refactor(widget): Remove 'Matrix' from some identifiers
...
Just making these a bit less verbose and more consistent with surrounding identifiers.
2025-05-30 15:32:35 +02:00
Robin
5c7566c6c9
refactor(widget): Allow state events to be converted to filter inputs
...
So that when I need to do this (in later commits) I don't have to cast.
2025-05-30 15:32:35 +02:00
Robin
aba0adf18d
refactor(tests): Move some JSON into static items
...
I want to use this JSON in multiple tests.
2025-05-30 15:32:35 +02:00
Robin
2c8e71e560
refactor(tests): Allow converting EventBuilder to state
2025-05-30 15:32:35 +02:00
Robin
6f683d3cde
refactor(tests): Accept more types for sync builder state events
...
Refactoring the test event implementation to use the From trait rather than ad-hoc methods along the way.
2025-05-30 15:32:35 +02:00
Jonas Platte
9242d1869a
refactor: Use native async fn in traits for BackingStore
matrix-sdk-ffi/20250603
2025-05-30 10:48:06 +02:00
Daniel Salinas
59d632fd45
feat(wasm): Improve wasm join handle to implement more tokio methods ( #5088 )
...
This change adds support for the abort/abort_handle/is_finished methods
onto the JoinHandle shim for Wasm targets.
Signed-off-by: Daniel Salinas
2025-05-29 14:22:38 +00:00
Richard van der Hoff
c55652d327
crypto: changelog fixes ( #5136 )
...
Put one change in the right place in the changelog, and add missing PR
links.
2025-05-29 14:22:00 +01:00
Jonas Platte
0220689964
refactor: Wrap EncryptionInfo in Arc
...
It's >100 bytes large and often optional, so it makes sense to put it
on the heap to reduce the size of structs with such optional fields,
and the stack size of functions with such optional parameters.
It's also cloned in a couple places in the UI crate, so it probably
makes sense to just always refcount it.
This started as a clippy suggestion to box PendingEdit inside
AggregationKind::Edit.
2025-05-29 14:08:10 +02:00
Jonas Platte
d8969db30a
refactor: Increase readability of WidgetMachine::process
...
Based on a clippy suggestion.
2025-05-29 13:19:59 +02:00
Jonas Platte
8eec683793
refactor: Use inline format arguments more
...
Automated with cargo clippy --fix --workspace --all-targets.
2025-05-29 13:19:59 +02:00
Jonas Platte
4705389ab7
refactor: Use native async fn in traits for testing traits
2025-05-29 11:45:16 +02:00
Damir Jelić
db931c5d5c
chore: Bump our decancer version
...
This removes the paste dependency decancer had. We still need to have a
denyc exception for paste because of rmp-serde and ratatui.
2025-05-29 11:40:37 +02:00
Jonas Platte
9a0b56ad1a
refactor(ci): Don't rerun most CI jobs when un-drafting a PR
...
This only makes sense to do for workflows that branch off of
github.event.pull_request.draft, which only bindings_ci.yml does at this
point in time.
2025-05-29 11:05:03 +02:00
Jonas Platte
3c20ee41d6
chore: Fix clippy lints
2025-05-29 10:59:56 +02:00
Jorge Martín
ed245a0cf0
refactor(ffi): When mapping ffi::StateEventContent, log any unsupported event types
...
The same was done for unsupported message-like event contents.
2025-05-29 09:54:39 +02:00
Jorge Martín
4626c4caaf
refactor(ffi): When mapping ffi::MessageLikeEventContent, log any unsupported event types
...
At the moment, the logs just say 'Unsupported Event Type', which is not that helpful.
2025-05-29 09:54:39 +02:00
Ivan Enderlin
7cda6d2ea6
chore(sdk): Add more logs for Room::leave.
...
This patch adds a bit more logs in `Room::leave` to understand what's
happening for some users.
2025-05-28 14:03:05 +02:00
Jorge Martín
2ec15984a8
test: Improve NotificationClient tests using the modern test utils
2025-05-28 12:32:58 +02:00
Yousef Moazzam
01f035d574
Test: Replace sync_timeline_event! with EventFactory for events in event item tests ( #5093 )
...
Part of #3716
I did notice that the `sender` and `member` methods have some overlap in
what values get set for the "sender" and "state key", and I tried to
make sure that in my changes to use `EventFactory` the original event
configuration is being replicated, so please do double-check me on that
note in particular.
Signed-off-by: Yousef Moazzam <yousefmoazzam@hotmail.co.uk >
2025-05-28 10:48:25 +02:00
Damir Jelić
53b01fb8a5
test: Enable the historic room key bundle storage test, except on WASM
...
The test was ignored since the functionality was only implemented for
the memory and SQLite store. This caused a bug in the SQLite
implementation to go unnoticed.
Let's just disable it for WASM since this is the only place where we
didn't yet implement the necessary methods.
2025-05-27 18:15:36 +02:00
Jorge Martín
79c47b4470
fix(sdk): Handle 520 HTTP status code as a permanent error
...
The status code is usually returned by Cloudflare to indicate an unknown server error, so we should cancel the upload and let the user retry if they want to.
2025-05-27 17:56:44 +02:00
Damir Jelić
089abec866
fix(sdk): Don't require the invite details to be present when accepting an room invite
2025-05-27 17:46:10 +02:00
Damir Jelić
064fd6cb0b
fix(sqlite): Use the correct column name for the sender of bundled room keys
2025-05-27 17:46:10 +02:00
Damir Jelić
60d3b3d56b
test: Finish up the shared history integration test
2025-05-27 17:46:10 +02:00
Damir Jelić
995838d9d3
refactor(tests): Move the shared history test into its own module
2025-05-27 17:46:10 +02:00
Damir Jelić
1d4d4bc741
refactor(tests): Create a submodule for the end-to-end encryption integration tests
2025-05-27 17:46:10 +02:00
Damir Jelić
41a5fd90f4
feat(tests): Add a macro to assert that a TimelineEventKind was encrypted
2025-05-27 17:46:10 +02:00
Damir Jelić
3d9d619f8b
feat(sdk): Import the room keys we download from the shared history bundle
2025-05-27 17:46:10 +02:00
Damir Jelić
af38f0d1ee
refactor(crypto): Move the room key bundle import method under the store
2025-05-27 17:46:10 +02:00