Fork of github.com/matrix-org/matrix-rust-sdk
 
 
Go to file
Damir Jelić fa0a22b090 Merge branch 'dkasak-master'
High-level summary of changes:

- Rewrite the disambiguation algorithm to simplify it.
- Fixes to state tracking, e.g. use `state_key` instead of `user_id` when
  determining which member an event is acting on.
- Changes to `RoomMember`:
  * Make `RoomMember` "dumber" and don't let it mutate itself. This came about
    primarily because `update_profile` cannot live on `RoomMember` because it
    needs some information from `Room`. The other few mutating methods then
    looked odd so it seemed best to move them to `Room` so that the room takes
    care of updating its members.
  * Each `RoomMember` now contains all information to calculate its set of
    names:
      + `.name()` (short/ergonomic but potentially ambiguous),
      + `.unique_name()` (unique but may be contain MXID when not necessary),
      + `.disambiguated_name()` (shortest possible while being unique).
- Add some logging using the `tracing` crate.
- Improvements to `EventBuilder`:
  * Add a docstring.
  * Make it clear itself when building a sync response so the same builder can
    be reused for later sync responses.
- A few tests.
2020-07-15 12:52:25 +02:00
matrix_sdk Use match instead of if-let in sync_forever. 2020-07-15 09:43:58 +02:00
matrix_sdk_base Merge branch 'dkasak-master' 2020-07-15 12:52:25 +02:00
matrix_sdk_common Use js_int macros to improve readability 2020-07-11 21:06:21 +02:00
matrix_sdk_common_macros matrix-sdk: Bump all our deps. 2020-07-07 15:52:08 +02:00
matrix_sdk_crypto crypto: Rename the StoreError to StoreResult. 2020-07-14 13:11:44 +02:00
matrix_sdk_test cargo fmt 2020-07-14 12:38:55 +02:00
matrix_sdk_test_macros matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +02:00
.gitignore Fix the gitignore file. 2019-11-24 22:44:28 +01:00
.pre-commit-config.yaml nio-rust: Add a pre-commit config. 2019-11-10 18:33:27 +01:00
.travis.yml travis: Allow the wasm target to fail. 2020-07-07 17:40:00 +02:00
Cargo.toml matrix-sdk: Remove the wrongly committed olm-sys/olm-rs patch defintions. 2020-07-11 22:18:01 +02:00
LICENSE rust-sdk: Switch the license to Apache 2.0. 2020-02-21 16:54:05 +01:00
Makefile matrix-sdk: Split out the crypto part of the sdk into a separate crate. 2020-04-29 09:48:00 +02:00
README.md matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +02:00
design.md state_store: clean up and add examples to docs 2020-04-26 17:13:55 -04:00

README.md

Build Status codecov License #matrix-rust-sdk

matrix-rust-sdk

matrix-rust-sdk is an implementation of a Matrix client-server library in Rust.

Project structure

The rust-sdk consists of multiple crates that can be picked at your convenience:

  • matrix-sdk - High level client library, with batteries included, you're most likely interested in this.
  • matrix-sdk-base - No (network) IO client state machine that can be used to embed a Matrix client in your project or build a full fledged network enabled client lib on top of it.
  • matrix-sdk-crypto - No (network) IO encryption state machine that can be used to add Matrix E2EE support to your client or client library.

Status

The library is in an alpha state, things that are implemented generally work but the API will change in breaking ways.

If you are interested in using the matrix-sdk now is the time to try it out and provide feedback.

License

Apache-2.0