Re-exportsยง
use std::collections::BTreeMap;๐use std::collections::HashSet;๐use futures::FutureExt;๐use futures::StreamExt;๐use futures::TryFutureExt;๐use futures::future::join;๐use futures::future::join3;๐use futures::future::join4;๐use ruma::DeviceId;๐use ruma::OwnedEventId;๐use ruma::OwnedRoomId;๐use ruma::OwnedUserId;๐use ruma::RoomId;๐use ruma::UInt;๐use ruma::UserId;๐use ruma::api::client::filter::FilterDefinition;๐use ruma::api::client::sync::sync_events::UnreadNotificationsCount;๐use ruma::api::client::sync::sync_events::v3::Ephemeral;๐use ruma::api::client::sync::sync_events::v3::JoinedRoom;๐use ruma::api::client::sync::sync_events::v3::RoomAccountData;๐use ruma::api::client::sync::sync_events::v3::RoomSummary;๐use ruma::api::client::sync::sync_events::v3::StateEvents;๐use ruma::api::client::sync::sync_events::v3::Timeline;๐use ruma::events::AnyRawAccountDataEvent;๐use ruma::events::AnyRoomAccountDataEvent;๐use ruma::events::AnySyncEphemeralRoomEvent;๐use ruma::events::AnySyncStateEvent;๐use ruma::events::StateEventType;๐use ruma::events::room::member::MembershipState;๐use ruma::events::room::member::RoomMemberEventContent;๐use ruma::serde::Raw;๐use tuwunel_core::Result;๐use tuwunel_core::at;๐use tuwunel_core::extract_variant;๐use tuwunel_core::is_equal_to;๐use tuwunel_core::pair_of;๐use tuwunel_core::ref_at;๐use tuwunel_core::utils::BoolExt;๐use tuwunel_core::utils::IterStream;๐use tuwunel_core::utils::ReadyExt;๐use tuwunel_core::utils::TryFutureExtExt;๐use tuwunel_core::utils::math::ruma_from_u64;๐use tuwunel_core::utils::result::MapExpect;๐use tuwunel_core::utils::stream::WidebandExt;๐use tuwunel_core::warn;๐use tuwunel_matrix::Event;๐use tuwunel_matrix::event::Matches;๐use tuwunel_matrix::event::trim_event_fields;๐use tuwunel_matrix::pdu::PduCount;๐use tuwunel_matrix::pdu::PduEvent;๐use tuwunel_service::Services;๐use tuwunel_service::rooms::lazy_loading::Witness;๐use tuwunel_service::rooms::read_receipt::PrivateReadEvents;๐use tuwunel_service::rooms::short::ShortStateHash;๐use self::notifications::GateInputs;๐use self::notifications::Gates as NotificationGates;๐use self::notifications::assemble_threads as assemble_thread_notifications;๐use self::notifications::assemble_unread as assemble_unread_notifications;๐use self::notifications::compute_gates as compute_notification_gates;๐use self::notifications::count_futures as notification_count_futures;๐use self::notifications::in_window;๐use self::notifications::send_thread_counts;๐use super::super::load_timeline;๐use super::super::strip_state_unsigned;๐use super::super::timeline_prev_batch;๐use super::StateAfter;๐use super::StateChangeParams;๐use super::StateChanges;๐use super::state::UserMetadata;๐use super::state::calculate_state_changes;๐use super::state::gather_room_metadata;๐use super::state::gather_user_metadata;๐use super::state::typings_event_for_user;๐use crate::ignored_filter;๐use crate::is_empty_account_data_event;๐use crate::with_membership;๐use ruma::events::TimelineEventType::*;๐
Modulesยง
- notifications ๐
Structsยง
- Build
Joined ๐Room - Finalize
Join ๐Flags - Finalize
Joined ๐Room - Join
Aggregates ๐ - Room
Metadata ๐
Functionsยง
- assemble_
join_ ๐state_ events - assemble_
state_ ๐events - await_
join_ ๐aggregates - build_
joined_ ๐room - collect_
room_ ๐account_ data - collect_
room_ ๐events - compute_
join_ ๐prev_ batch - compute_
join_ ๐state_ changes - extract_
membership ๐ - finalize_
joined_ ๐room - gather_
device_ ๐list_ updates - gather_
typing_ ๐events - load_
join_ ๐timeline - load_
room ๐ - take_
sender_ ๐membership_ for_ join - timeline_
membership_ ๐changes
Type Aliasesยง
- Thread
Counts ๐