Stefan Ceriu
8470b494f4
chore(bindings): Replace various expectations with anyhow contexts
2022-10-19 13:18:19 +02:00
Andy Uhnak
c92d946777
Set local trust
2022-10-19 09:38:16 +02:00
Jonas Platte
0cfc7540cf
refactor: Use workspace dependencies for tracing
2022-10-18 19:24:22 +02:00
Jonas Platte
3daaa457e1
fix(bindings): Make tracing dependency for crypto-js optional
2022-10-18 19:24:22 +02:00
Damir Jelić
57e9b36fac
chore(bindings): Don't mention that the OlmMachine is a memory-only one
2022-10-18 15:49:09 +02:00
Damir Jelić
90865e2a0a
chore(bindings): Clarify the OlmMachine constructor in the WASM bindings
2022-10-18 15:49:09 +02:00
Damir Jelić
52d96ceb60
fix(bindings): Allow setting the store without a passphrase
2022-10-18 15:49:09 +02:00
Jonas Platte
f25af209e1
refactor: Use workspace dependencies for zeroize
2022-10-18 13:38:05 +02:00
Jonas Platte
e6891addfb
refactor: Use workspace dependencies for vodozemac
2022-10-18 13:38:05 +02:00
Jonas Platte
f57b7782f4
refactor: Use workspace dependencies for ruma
2022-10-18 13:38:05 +02:00
Benjamin Kampmann
5e621b7132
fix!: Switch to uniffi 0.21.0 and workspace-wide dependencies
...
Upgrade MSRV to 1.64, the first stable release to support workspace-wide depenendencies:
https://blog.rust-lang.org/2022/09/22/Rust-1.64.0.html#cargo-improvements-workspace-inheritance-and-multi-target-builds
2022-10-17 15:38:04 +01:00
Richard van der Hoff
dd82e0b8fc
chore: Update bindings/README
2022-10-17 13:24:09 +00:00
Doug
7125730917
ci(xtask): Switch to xtask for swift; run swift tasks on macOS
...
Merge pull request #1023 from matrix-org/doug/swift-linux: Run Swift tests on macOS
2022-10-17 14:12:43 +02:00
Jonas Platte
db2771bd17
feat(bindings): New timeline API
2022-10-17 13:40:35 +02:00
Jonas Platte
95face4aa4
chore(bindings): Delete unused code left over from old timeline API
2022-10-17 13:40:35 +02:00
Jonas Platte
54fd40d8f5
feat(sdk): Add new timeline API
2022-10-12 16:12:06 +02:00
Damir Jelić
67d968d4fa
refactor(crypto): Remove the device ID from the megolm v2 m.room.encrypted content
2022-10-12 14:37:05 +02:00
Jonas Platte
d18b57dcdd
refactor: Make use of as_ruma_api_error internally
2022-10-12 12:34:09 +02:00
Jonas Platte
f07735291e
Fix warnings from generated code
2022-10-10 19:24:56 +02:00
Anderas
d4e7076e1d
Compile Crypto FFI for MacOS
2022-10-10 18:59:25 +02:00
Damir Jelić
2f94886663
refactor(crypto)!: Don't use the Curve25519 sender key to store room keys
2022-10-10 15:20:25 +02:00
Jonas Platte
26faf0d4c0
feat(bindings): Add custom kotlin package name for crypto-ffi
2022-10-06 17:27:55 +02:00
Jonas Platte
a3113bd125
refactor(bindings): Start using #[uniffi::export] for matrix-sdk-crypto-ffi
2022-10-06 17:27:55 +02:00
Jonas Platte
a75d7171f8
refactor(bindings): Rename crypto-ffi UniFFI namespace
...
… from olm to matrix_crypto_ffi to match the lib name.
Names need to match for integration of UniFFI's proc-macro frontend.
2022-10-06 17:27:55 +02:00
Jonas Platte
c3eaa864dd
refactor(bindings): Unset custom lib name for crypto-ffi
2022-10-06 17:27:55 +02:00
Jonas Platte
6a561c20e2
refactor(bindings): Use uniffi::export for most of ClientBuilder's API
2022-10-06 10:56:22 +02:00
Jonas Platte
c24c20f7f1
Raise MSRV to 1.62
2022-10-06 10:55:49 +02:00
Jonas Platte
4fcbb61145
refactor!: Delete the store module
...
It was very confusing that matrix_sdk::store::make_store_config's first
argument was either a path or a database name depending on the build
configuration. ClientBuilder::{sled_store, indexeddb_store} are also
easier to use.
2022-10-05 13:49:12 +02:00
Jonas Platte
4628481d0e
refactor(bindings): Use UniFFI proc-macro frontend more
2022-10-05 12:21:44 +02:00
Jonas Platte
e05de8d4ce
chore: Upgrade UniFFI
2022-10-05 12:21:44 +02:00
Johannes Marbach
6bc79b04cf
feat(bindings): Allow clients using matrix-sdk-ffi to set the user agent
2022-10-05 09:18:52 +02:00
Jonas Platte
ab1a6a6b37
chore: Remove experimental-timeline Cargo feature
2022-09-30 13:48:17 +02:00
Benjamin Kampmann
f1f1c1bba6
chore: Version bump
2022-09-28 17:07:37 +02:00
Benjamin Kampmann
ff82d6420d
chore: specify which crates to release and which not
2022-09-28 17:07:37 +02:00
Ivan Enderlin
513afa57ef
feat(indexeddb): Introduce the experimental-nodejs feature
...
feat(indexeddb): Introduce the `experimental-nodejs` feature
2022-09-28 14:57:55 +02:00
Ivan Enderlin
9a006c58f5
feat(crypto-js): Update to napi-rs 2.9.1
2022-09-28 14:30:40 +02:00
Ivan Enderlin
9f4385e639
feat(indexeddb): Introduce the experimental-nodejs feature.
...
By default, the new `experimental-nodejs` feature is
disabled. However, when enabled, it uses our own fork of
`indexed_db_futures` that make it work on Node.js, and so this entire
`matrix-sdk-indexebdb` crate.
2022-09-28 14:27:37 +02:00
Ivan Enderlin
f8b02d1a11
feat(crypto-js): Implement OlmMachine.export_room_keys and .import_room_keys
...
feat(crypto-js): Implement `OlmMachine.export_room_keys` and `.import_room_keys`
2022-09-27 07:26:51 +02:00
Benjamin Kampmann
e8278b5d68
feat: add Result return value to sync_* ( #1037 )
...
Inspired by the changes in #1013 I was thinking about the use case for `sync_*` and how we handle error cases. Most notably while we give the callback the option to stop the loop, we don't really give an indication to the outside, how to interpret that cancellation: was there a failure? should we restart?
Take e.g. a connectivity issue on the wire, we'd constantly loop and just `warn`, what you might or might not see. Even if you handle that in the `sync_with_result_callback` and thus break the loop, the outer caller now still doesn't know whether everything is honky dory or whether they should restart.
This Changes reworks that area by having all the `sync` return `Result<(), Error>`, where `()` means it was ended by the inner callback (which in `sync()` never occurs) or `Error` is the error either the inner `result_callback` found or the that was coming from the `send` in the first place. Thus allowing us to e.g. back down to sync as it was a dead wire or restart it if there was only a temporary problem. Making all that a just a bit more "rust-y".
2022-09-26 17:14:15 +02:00
Ivan Enderlin
df50a5446f
test(crypto-js): Test InboundGrounSession.sessionId and .hasBeenImported.
2022-09-22 11:31:28 +02:00
Ivan Enderlin
62ab263d0e
test(crypto-js): Test OlmMachine.(en|de)crypt_exported_room_keys.
2022-09-22 11:27:12 +02:00
Ivan Enderlin
6fa04a0ba1
feat(crypto-js): Implement OlmMachine.(en|de)crypt_exported_room_keys.
2022-09-21 18:00:15 +02:00
Ivan Enderlin
dee14c4ee4
doc(crypto-js): Improve documentation of OlmMachine.import_room_keys.
2022-09-21 17:50:28 +02:00
Ivan Enderlin
5b919dd840
test(crypto-js): Test OlmMachine.import_room_keys.
2022-09-21 17:46:23 +02:00
Ivan Enderlin
406fc58720
feat(crypto-js): Implement OlmMachine.import_room_keys.
2022-09-21 17:37:23 +02:00
Ivan Enderlin
b4cec6e1bb
feat(crypto-js): Implement OlmMachine.export_room_keys.
2022-09-21 16:03:51 +02:00
Ivan Enderlin
82670022f9
feat(crypto-ffi): Update olm.udl.
2022-09-21 13:24:25 +02:00
Ivan Enderlin
b8c41e805b
feat(sdk): Rename decrypt_key_export to decrypt_room_key_export.
2022-09-21 13:18:24 +02:00
Ivan Enderlin
e3d63c5593
feat(sdk): Rename encrypt_key_export to encrypt_room_key_export.
2022-09-21 13:16:08 +02:00
Ivan Enderlin
0222a8fec2
feat(sdk): Rename OlmMachine.import_keys to .import_room_keys.
...
Because that's what it does :-).
2022-09-21 13:12:07 +02:00