fa0a22b090
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. |
||
---|---|---|
.. | ||
.cargo | ||
src | ||
Cargo.toml | ||
README.md |