Skip to main contentModule state
Source use axum::extract::State; π use futures::FutureExt; π use futures::StreamExt; π use futures::TryFutureExt; π use ruma::CanonicalJsonObject; π use ruma::CanonicalJsonValue; π use ruma::MilliSecondsSinceUnixEpoch; π use ruma::OwnedEventId; π use ruma::OwnedRoomAliasId; π use ruma::RoomId; π use ruma::UserId; π use ruma::api::client::state::get_state_event_for_key; π use ruma::api::client::state::get_state_event_for_key::v3::StateEventFormat; π use ruma::api::client::state::get_state_events; π use ruma::api::client::state::send_state_event; π use ruma::events::AnyStateEventContent; π use ruma::events::StateEventType; π use ruma::events::invite_permission_config::InvitePermission; π use ruma::events::room::canonical_alias::RoomCanonicalAliasEventContent; π use ruma::events::room::history_visibility::HistoryVisibility; π use ruma::events::room::history_visibility::RoomHistoryVisibilityEventContent; π use ruma::events::room::join_rules::JoinRule; π use ruma::events::room::join_rules::RoomJoinRulesEventContent; π use ruma::events::room::member::MembershipState; π use ruma::events::room::member::RoomMemberEventContent; π use ruma::events::room::server_acl::RoomServerAclEventContent; π use ruma::serde::Raw; π use serde_json::json; π use serde_json::value::to_raw_value; π use tuwunel_core::Err; π use tuwunel_core::Result; π use tuwunel_core::err; π use tuwunel_core::is_false; π use tuwunel_core::result::NotFound; π use tuwunel_core::utils::BoolExt; π use tuwunel_core::utils::json::serialized_len; π use tuwunel_core::utils::stream::BroadbandExt; π use tuwunel_matrix::Event; π use tuwunel_matrix::pdu::PduBuilder; π use tuwunel_matrix::pdu::PduEvent; π use tuwunel_service::Services; π use tuwunel_service::profile::check_member_content; π use crate::Ruma; π use crate::RumaResponse; π use crate::with_membership; π
- allowed_to_send_state_event π
- Applies the serverβs policy for sending a state event, before the room
lock.
- check_member_content_size π
- Refuses a clientβs member event that is over the configured budget, or that
newly stores a display name or avatar URL past its limit.
- get_state_events_for_empty_key_route π
GET /_matrix/client/v3/rooms/{roomid}/state/{eventType}- get_state_events_for_key_route π
GET /_matrix/client/v3/rooms/{roomid}/state/{eventType}/{stateKey}- get_state_events_route π
GET /_matrix/client/v3/rooms/{roomid}/state- is_duplicate_state π
- Whether an incoming state event is a content-identical resend by its own
author.
- send_state_event_for_key_helper π
- send_state_event_for_key_route π
PUT /_matrix/client/*/rooms/{roomId}/state/{eventType}/{stateKey}- state_dedup_eligible π
- validate_canonical_alias π
- validate_encryption π
- validate_history_visibility π
- validate_join_rules π
- validate_member π
- validate_server_acl π