Daniel Salinas
798cece4a2
feat(wasm): Add lib to matrix-sdk-ffi target ( #5242 )
...
The uniffi tool for generating JS/Wasm bindings utilizes rust as its
intermediate language.
As a result, the 'target' uniffi annotated library needs to be marked as
a 'lib' so that the generated rust code can utilize it to generate the
Wasm create + typescript bindings.
Signed-off-by: Daniel Salinas
2025-06-19 18:16:16 +02:00
Doug
06b387101b
chore: Fix changelogs after rebase
2025-06-19 17:40:04 +02:00
Doug
675963ec4b
chore: Make the RTC foci crash fix type-safe.
2025-06-19 17:40:04 +02:00
Doug
d30dae3322
fix: Handle a crash accessing the RTC foci when the well-known was None.
2025-06-19 17:40:04 +02:00
Doug
bdb640a126
ffi: Expose a check for LiveKit RTC support.
2025-06-19 17:40:04 +02:00
Doug
ea28234d95
sdk: Cache the client well-known file and add Client::rtc_foci which uses it.
2025-06-19 17:40:04 +02:00
Doug
c74295c604
chore: Refactor ServerCapabilities into ServerInfo.
...
It has nothing to do with /capabilities so is confusing. We can use this new struct to combine the well-known response into a single cache too.
2025-06-19 17:40:04 +02:00
Michael Goldenberg
ec30e7b85c
docs(indexeddb): add license to event_cache_store::types file
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
fd17c28ebb
refactor(indexeddb): add convenience functions for (de)serializing Indexed types
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
841131f127
refactor(indexeddb): add indexing trait impls for gap
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
a22d592bf1
refactor(indexeddb): add chunk identifier into gap type
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
1a32aa59a6
refactor(indexeddb): add indexing trait impls for event
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
a99df7e1d8
refactor(indexeddb): add indexing trait impls for chunk
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
3e37f9d0ad
refactor(indexeddb): expose current version and keys used in event cache store database
2025-06-19 17:26:30 +02:00
Michael Goldenberg
2689e2d25a
refactor(indexeddb): add trait for constructing key bounds for indexed types in event cache store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
2cfba4cd9b
refactor(indexeddb): add trait for encoding keys for indexed types in event cache store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Michael Goldenberg
1bce2af93c
refactor(indexeddb): add trait for converting between high-level types and indexed types in event cache store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-19 17:26:30 +02:00
Stefan Ceriu
47c8df0ef8
chore(ffi): move the room power levels to their own file and restructure the code
2025-06-19 17:55:48 +03:00
Stefan Ceriu
9f32dfe9a0
change(ffi): expose the full RoomPowerLevels object and move corresponding methods to it.
...
This patch expands on the already existent `RoomPowerLevels` record (which it renames to `RoomPowerLevelsValues` to work around uniffi not exposing public fields) and nests them inside a new exported object that also provides methods for retrieving the actions that an user can take, methods moved from the room object.
This reduces the amount of async calls the clients need to make, simplifies the API and groups the code better together.
2025-06-19 17:55:48 +03:00
Daniel Salinas
040fd6c736
Run cargo fmt
2025-06-19 16:16:59 +02:00
Daniel Salinas
4dac175db0
Back to other phrasing to make CI run
2025-06-19 16:16:59 +02:00
Daniel Salinas
5faf97cf99
Rework phrasing to make CI run
2025-06-19 16:16:59 +02:00
Daniel Salinas
7236b80b3b
Adjust language to make CI do something
2025-06-19 16:16:59 +02:00
Daniel Salinas
79b0941687
Remove lib
2025-06-19 16:16:59 +02:00
Daniel Salinas
ad001e475f
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Jonas Platte <jplatte+git@posteo.de >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
5106d55be9
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Jonas Platte <jplatte+git@posteo.de >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
9771b99395
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Jonas Platte <jplatte+git@posteo.de >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
2c287e706f
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Jonas Platte <jplatte+git@posteo.de >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
fffff783d4
Spell check
2025-06-19 16:16:59 +02:00
Daniel Salinas
b047bd0dc6
Add refactor flag
2025-06-19 16:16:59 +02:00
Daniel Salinas
28b3b6aedf
Update bindings/matrix-sdk-ffi/CHANGELOG.md
...
Co-authored-by: Damir Jelić <poljar@termina.org.uk >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
171974a44b
Add note about bundled-sqlite
2025-06-19 16:16:59 +02:00
Daniel Salinas
f53302a7a0
Code review feedback, improved documentation
2025-06-19 16:16:59 +02:00
Daniel Salinas
dd709682d7
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Damir Jelić <poljar@termina.org.uk >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
991e0cd395
Update bindings/matrix-sdk-ffi/Cargo.toml
...
Co-authored-by: Damir Jelić <poljar@termina.org.uk >
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 16:16:59 +02:00
Daniel Salinas
abcc05f889
Change matrix-sdk-ffi to rely on features over platform targets
...
The system of platform targets was already quite messy, and becoming
even worse as we start preparing for Wasm support. Switch to features
instead to make this easier to work with.
2025-06-19 16:16:59 +02:00
Daniel Salinas
f3e636ea42
fix(wasm): Fix unwrap error on Wasm platforms caused by UInt::MAX conversions ( #5240 )
...
UInt::MAX.try_into().unwrap() was causing errors on Wasm platforms, due
to the result being unrepresentable.
This `unwrap_or` was also always being calculated regardless, so I think
using `usize::MAX` is preferable on all platforms.
Signed-off-by: Daniel Salinas <zzorba@users.noreply.github.com >
2025-06-19 13:56:50 +00:00
Daniel Salinas
1d47507faa
refactor(wasm) Remove some unnecessary wasm32 differentiations ( #5256 )
...
Some of these Box<dyn Error + Send + Sync> are okay, but a few are
problematic.
Confirmed this still compiles fine on the fully working wasm tree.
Signed-off-by: Daniel Salinas
2025-06-19 13:28:04 +00:00
Damir Jelić
cc7f6243c6
ci: Make the text output for our coverage xtask the default
2025-06-19 13:57:58 +02:00
Jonas Platte
e7e9d5b746
refactor: Use native async fn in traits for widget::CapabilitiesProvider ( #5135 )
...
The main thing left now are the store traits, unsure how to deal with
those. `dynosaur` + `trait_variant` are kind of the modern replacement
for `async_trait`, but (a) `trait_variant` seemed to generate invalid
code here when I tried it and (b) even with that fixed I think the error
type erasure is going to present some extra problems. Maybe it's fine to
just keep the current solution for the store traits for now.
Signed-off-by: Jonas Platte <jplatte+matrix@posteo.de >
2025-06-19 11:47:36 +00:00
Andy Balaam
b4146caac8
refactor(crypto): Extract a method for handling encrypted to-device events
2025-06-19 11:22:11 +01:00
Damir Jelić
1cb51f49be
ci: Store successful test results in the JUnit file as well
...
This is useful to detect which tests might be the slowest.
2025-06-19 11:14:51 +02:00
Damir Jelić
fea0e0d373
ci: Use the correct token to upload JUnit reports
2025-06-19 10:26:43 +02:00
Damir Jelić
72911c66ad
ci: Upload the JUnit reports to codecov as well
2025-06-19 09:50:16 +02:00
Damir Jelić
dc047854d4
ci: Use a separate cache prefix for the coverage workflow
2025-06-19 09:50:16 +02:00
Damir Jelić
f51a008921
ci: Attempt to free up some space on the container for the coverage workflow
2025-06-19 09:50:16 +02:00
Damir Jelić
3c5bcce217
ci: Use llvm-cov for coverage reports
...
This patch switches from tarpaulin to llvm-cov for our coverage reports.
llvm-cov can use cargo-nextest to run the tests which means that we can
tolerate flaky tests for coverage just like do for the rest of our CI
run.
We can also start using JUnit reports to track flaky tests.
2025-06-19 09:50:16 +02:00
Damir Jelić
422fd19d10
ci: Add an xtask subcommand for coverage reports
...
This command uses llvm-cov which we are planning to switch to.
2025-06-19 09:50:16 +02:00
Damir Jelić
0ea07e11e9
ci: Add a CI specific profile for nextest
2025-06-19 09:50:16 +02:00
Damir Jelić
059a6fa573
test: Make some tests less flaky by increasing timeouts
2025-06-19 09:50:16 +02:00