Skip to main contentModule profiles
Source use std::collections::BTreeMap; π use std::collections::BTreeSet; π use std::collections::btree_map::Entry; π use futures::Stream; π use futures::StreamExt; π use futures::TryStreamExt; π use futures::future::ready; π use futures::stream::once; π use itertools::Either; π use itertools::Itertools; π use ruma::OwnedRoomId; π use ruma::OwnedUserId; π use ruma::RoomId; π use ruma::UserId; π use ruma::api::client::filter::FilterDefinition; π use ruma::api::client::filter::LazyLoadOptions; π use ruma::api::client::sync::sync_events::v3::JoinedRoom; π use ruma::api::client::sync::sync_events::v3::Rooms; π use ruma::api::client::sync::sync_events::v3::State; π use ruma::api::client::sync::sync_events::v3::UserUpdate; π use ruma::events::AnySyncStateEvent; π use ruma::events::StateEventType; π use ruma::events::room::member::MembershipState; π use ruma::profile::ProfileFieldName; π use ruma::serde::Raw; π use serde::Deserialize; π use serde::Deserialize; π use serde_json::Value; π use tuwunel_core::Result; π use tuwunel_core::utils::BoolExt; π use tuwunel_core::utils::IterStream; π use tuwunel_core::utils::TryReadyExt; π use tuwunel_core::utils::result::NotFound; π use tuwunel_core::utils::stream::BroadbandExt; π use tuwunel_core::utils::stream::TryBroadbandExt; π use tuwunel_core::warn; π use tuwunel_service::Services; π use tuwunel_service::profile::ProfileChange; π
- Candidate π
- Delta fields, with an empty set selecting the shared requested base.
- Candidates π
- Candidate subjects with delta fields or a complete requested base.
- MemberContent π
- Just the membership of a member eventβs content.
- Input π
- carries_a_field π
- changed π
- The fields changed in
(since, next_batch] that this client may see. - collect π
- Collects the MSC4429 profile updates for a legacy sync response.
- collect_user π
- field_update π
- fold_change π
- Records that one member changed one field.
- initial_bases π
- initial_members π
- initial_room π
- insert_delta π
- is_base π
- joined_room_members π
- The members one joined roomβs payload names.
- lazy_room π
- merge_candidates π
- merge_fields π
- merge_subject π
- own_change π
- present_member π
- The subject of a membership event that can introduce a profile base.
- read_field π
- read_update π
- Reads back what the collected fields hold now.
- room_changed π
- room_changes π
- selected_fields π
- state_events π
- visible π
- was_requested π
- Whether the clientβs filter asked for the field.
- witnessed π
- Adds current bases for the initial scope and members this response names.
- Changes π
- Every field the syncing user is entitled to read back, by user.
- Delta π
- FieldValue π
- One field paired with whatever reading it back produced.
- Fields π
- The profile fields one user changed or holds.
- Updates π
- The values one userβs entry carries, by field name.
- Users π
- The MSC4429
users block of a legacy sync response.