Ivan Enderlin
3da737b9e2
chore(test): Shorten job name for test-matrix-sdk-crypto-nodejs.
...
In the Github UI, we can only see:
🐧 [m]-crypto-nodejs, Node.js…
What interests us is the Node.js version number.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
2ffcc1a415
chore: Use [m] as an alias for matrix-sdk.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
829dab42c5
chore(test): Rename the test-matrix-sdk-crypto-js job.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
54acd314cc
chore(test): Move the wasm workflow inside the ci workflow.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
74953031ee
chore(test): Use os-name in step name for test-appservice.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
0436eb9349
chore(ci): Rephrase a little bit the Github Actions steps.
2022-06-22 16:03:37 +02:00
Ivan Enderlin
a23bb8f5a0
chore(docs): Rephrase a little bit the Github Actions steps.
2022-06-22 11:57:41 +02:00
Ivan Enderlin
8db58986fb
chore(bindings): Move crypto-nodejs and crypto-js into the bindings/ directory.
...
`matrix-sdk-crypto-nodejs` and `matrix-sdk-crypto-js` are no longer
default members of the Cargo virtual workspace. The Github Actions
workflows for the bindings now live in a `bindings_ci.yml` files
(ideally, it should be in a subdirectory,
`.github/workflows/bindings/ci.yml` but it doesn't work).
2022-06-22 11:54:49 +02:00
Ivan Enderlin
6ad323bc4e
test: Run tests faster with nextest
...
test: Run tests faster with `nextest`
2022-06-22 09:56:02 +02:00
Ivan Enderlin
b0d51fdfa5
test: There is no doctest for matrix-sdk-crypto-ffi.
2022-06-22 09:26:51 +02:00
Ivan Enderlin
3bfc68d476
test: Add missing cargo-nextest installation.
...
This patch also changes the step's name from Clippy to Test.
2022-06-22 09:26:51 +02:00
Ivan Enderlin
eb33333925
test: Run doctests manually.
...
`cargo-nextest` doesn't support doctests for now, so we must run them
“manually” by running a separate `cargo test --doc` command.
2022-06-22 09:26:51 +02:00
Ivan Enderlin
d9475c131a
test(xtask): Remove xtask -- ci test as it is unused.
2022-06-22 09:26:48 +02:00
Ivan Enderlin
399862d955
test: Run tests faster with nextest.
...
> [`cargo-nextest`](https://nexte.st/index.html ) is a next-generation
> test runner for Rust projects.
This patch installs and uses `nextest` to run our own tests.
Comparing `cargo test` and `cargo nextest` with hyperfine provides the
following results:
```sh
$ hyperfine 'cargo test --workspace' 'cargo nextest run --workspace && cargo test --doc'
Benchmark 1: cargo test --workspace
Time (mean ± σ): 51.785 s ± 2.066 s [User: 183.471 s, System: 10.563 s]
Range (min … max): 49.151 s … 56.641 s 10 runs
Benchmark 2: cargo nextest run --workspace && cargo test --doc
Time (mean ± σ): 44.556 s ± 0.894 s [User: 192.213 s, System: 11.441 s]
Range (min … max): 43.170 s … 45.762 s 10 runs
```
Benchmark 2 is 1.16 times faster than Benchmark 1.
2022-06-22 09:26:07 +02:00
Ivan Enderlin
2c1f5fed8d
feat(crypto-js): Migrate tests and polish the API
...
feat(crypto-js): Migrate tests and polish the API
2022-06-21 12:04:45 +02:00
Ivan Enderlin
8b2237fa7a
Merge branch 'main' into feat-crypto-js-next
2022-06-21 11:38:48 +02:00
Ivan Enderlin
e5ea2a770b
chore(crypto-js): Implement feedback from PR.
2022-06-21 11:25:58 +02:00
Jonas Platte
5f31e9d131
chore: Add missing json language specification to docs
2022-06-20 22:33:35 +02:00
Jonas Platte
6cb9c11b88
chore: Remove unnecessary pub visibility from OnceCell imports
2022-06-20 22:33:35 +02:00
Jonas Platte
a00c130fc3
feature: Allow passing already-Arc'ed stores to StoreConfig methods
2022-06-20 18:00:33 +02:00
Jonas Platte
4971802e75
chore: Replace usage of Store with Arc<dyn StateStore>
2022-06-17 17:35:33 +02:00
Jonas Platte
8690addfd5
chore: Add Clone impl for ClientBuilder
2022-06-17 14:59:22 +02:00
Jonas Platte
00a20f325b
chore: Add Clone impl for StoreConfig
...
… by storing the stores inside Arc's instead of Box'es.
2022-06-17 14:59:22 +02:00
Jonas Platte
a4e4bfe833
refactor(sdk)!: Change store builder methods from Box<dyn Trait> to impl Trait
...
To migrate, don't box the store before passing it to `builder.state_store` or
`builder.crypto_store` (remove `Box::new`).
2022-06-17 14:59:22 +02:00
Jonas Platte
02aa537f2a
chore: Keep uniffi version in sync across deps, CI
2022-06-17 13:37:07 +02:00
Benjamin Kampmann
5316d2e6e7
fix(indexeddb): Upgrade version to latest state store pattern
2022-06-16 13:17:45 +02:00
Benjamin Kampmann
7adef1d24e
fix(sled): Upgrade db version to latest changes
2022-06-16 13:17:35 +02:00
Anderas
c755e19fb3
Merge pull request #765 from matrix-org/andy/crypto_ffi
...
Build Crypto iOS framework
2022-06-16 11:25:39 +01:00
Jonas Platte
8250c24525
chore: Undo pinning of clap
2022-06-15 20:47:55 +02:00
Andy Uhnak
fe29fa57eb
Build Crypto iOS framework
2022-06-15 13:52:21 +01:00
Ivan Enderlin
c564b1a5e1
feat(crypto-nodejs): Add store_path and store_passphrase to the OlmMachine constructor
...
feat(crypto-nodejs): Add `store_path` and `store_passphrase` to the `OlmMachine` constructor
2022-06-15 07:28:29 +02:00
Benjamin Kampmann
9d691e238a
Merge pull request #759 from Hywan/fix-codecov-labs
...
chore(test): Remove `labs` from the projects + exclude `matrix-sdk-indexeddb` from code coverage report
2022-06-14 20:29:07 +02:00
Ivan Enderlin
520e2f30f7
doc(crypto-js): Add missing module documentation.
2022-06-14 16:54:22 +02:00
Ivan Enderlin
c56ab5928c
test(crypto-js): Add a workflow to test matrix-sdk-crypto-js.
2022-06-14 16:34:08 +02:00
Ivan Enderlin
f8cd2310be
feat(crypto-js): Implement OlmMachine.decryptRoomEvent & siblings.
2022-06-14 16:16:54 +02:00
Ivan Enderlin
073fb45580
feat(crypto-nodejs): Define Node.js versions policy.
...
We now support only “current”, “active” or “maintenance” versions
according to https://nodejs.org/en/about/releases/ , which are
compatible with NAPI v6.
2022-06-14 16:05:01 +02:00
Ivan Enderlin
3833d35348
chore(crypto-nodejs): Drop Node.js v12.17.
...
There is a segfault with `napi-rs` and Node.js in v12.17. It's an old
version, it may be fair to drop its support for now. Let's see if
people would need it in the future, we may work on `napi-rs` to fix
this bug in case it's really necessary.
2022-06-14 16:05:01 +02:00
Ivan Enderlin
83b730d1c8
chore(crypto-nodejs): Make the code compatible with Node.js < 18.
2022-06-14 16:05:01 +02:00
Ivan Enderlin
6477cc5072
feat(crypto-nodejs): Add store_path and store_passphrase to the OlmMachine constructor.
...
This patch adds the `store_path` and the `store_passphrase` arguments
to the `OlmMachine` constructor to use a `CryptoStore` instead of
having an in-memory Olm machine.
2022-06-14 16:05:01 +02:00
Ivan Enderlin
2117b36a75
chore(test): Exclude matrix-sdk-indexeddb from code coverage report.
2022-06-14 16:04:41 +02:00
Ivan Enderlin
5e8ed3bcbf
chore(test): Remove labs from the projects.
...
It's already part of the `ignore` section.
2022-06-14 16:04:41 +02:00
Jonas Platte
87639a4c4c
fix(appservice): Remove erroneous ? operator
2022-06-14 15:20:24 +02:00
Amanda Graven
de04aba5b3
fix(appservice): Remove erroneous ? operator
2022-06-14 15:02:55 +02:00
Amanda Graven
5243091bec
test(appservice): Virtual client membership
...
Test that virtual clients get assigned the correct membership to rooms
when processing received transactions.
2022-06-14 14:39:54 +02:00
Amanda Graven
1d746f1ef1
fix(appservice): Virtual client non-membership
...
Don't assume virtual client membership is join if none is stored, since
that leads to a client being told it's joined in rooms it has no
membership of. The main appservice client still assumes it's joined
every room it receives transaction events about.
2022-06-14 14:39:54 +02:00
Ivan Enderlin
56d74e25b8
test(crypto-js): Finish to migrate the test suites + code clean up.
2022-06-14 14:09:52 +02:00
Ivan Enderlin
a758d98f84
feat(crypto-nodejs): Update license.
2022-06-14 12:12:27 +02:00
Ivan Enderlin
5adae6fd41
feat(crypto-js): Migrate tests and polish the API.
2022-06-14 12:12:27 +02:00
Damir Jelić
38d771cca6
ci(coverage): Set the correct out format for CI coverage reports
2022-06-14 12:01:03 +02:00
Jonas Platte
dd4c329f57
chore: Prevent clap upgrades beyond 3.2
2022-06-14 11:02:19 +02:00