matrix-rust-sdk/matrix_sdk_base
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
..
.cargo matrix-sdk: Add missing newlines at the end of some files. 2020-05-12 15:48:17 +02:00
src Merge branch 'dkasak-master' 2020-07-15 12:52:25 +02:00
Cargo.toml Merge 2020-07-13 17:10:13 +02:00
README.md matrix-sdk: Add a bunch of readmes to the crates. 2020-05-26 19:33:13 +02:00

README.md

Build Status codecov License #matrix-rust-sdk

matrix-sdk-base

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

NOTE: This is the no IO client state machine, you're probably interested in the main rust-sdk crate.