libkazv
Kazv::Api::SyncJob::JoinedRoom Struct Reference

Synchronise the client's state with the latest state on the server. More...

#include <sync.hpp>

Collaboration diagram for Kazv::Api::SyncJob::JoinedRoom:

Public Attributes

std::optional< RoomSummarysummary
 Information about the room which clients may need to correctly render it to users. More...
 
std::optional< StateEventBatchstate
 Updates to the state, between the time indicated by the since parameter, and the start of the timeline (or all state up to the start of the timeline, if since is not given, or full_state is true). More...
 
Timeline timeline
 The timeline of messages and state changes in the room. More...
 
std::optional< EventBatchephemeral
 The ephemeral events in the room that aren't recorded in the timeline or state of the room. More...
 
std::optional< EventBatchaccountData
 The private data that this user has attached to this room. More...
 
std::optional< UnreadNotificationCountsunreadNotifications
 Counts of unread notifications for this room. More...
 

Detailed Description

Synchronise the client's state with the latest state on the server.

Clients use this API when they first log in to get an initial snapshot of the state on the server, and then continue to call this API to get incremental deltas to the state, and to receive new messages.

Note: This endpoint supports lazy-loading. See Filtering for more information. Lazy-loading members is only supported on a StateFilter for this endpoint. When lazy-loading is enabled, servers MUST include the syncing user's own membership event when they join a room, or when the full state of rooms is requested, to aid discovering the user's avatar & displayname.

Further, like other members, the user's own membership event is eligible for being considered redundant by the server. When a sync is limited, the server MUST return membership events for events in the gap (between since and the start of the returned timeline), regardless as to whether or not they are redundant. This ensures that joins/leaves and profile changes which occur during the gap are not lost.

Note that the default behaviour of state is to include all membership events, alongside other state, when lazy-loading is not enabled.

Member Data Documentation

◆ accountData

std::optional<EventBatch> Kazv::Api::SyncJob::JoinedRoom::accountData

The private data that this user has attached to this room.

◆ ephemeral

std::optional<EventBatch> Kazv::Api::SyncJob::JoinedRoom::ephemeral

The ephemeral events in the room that aren't recorded in the timeline or state of the room.

e.g. typing.

◆ state

std::optional<StateEventBatch> Kazv::Api::SyncJob::JoinedRoom::state

Updates to the state, between the time indicated by the since parameter, and the start of the timeline (or all state up to the start of the timeline, if since is not given, or full_state is true).

N.B. state updates for m.room.member events will be incomplete if lazy_load_members is enabled in the /sync filter, and only return the member events required to display the senders of the timeline events in this response.

◆ summary

std::optional<RoomSummary> Kazv::Api::SyncJob::JoinedRoom::summary

Information about the room which clients may need to correctly render it to users.

◆ timeline

Timeline Kazv::Api::SyncJob::JoinedRoom::timeline

The timeline of messages and state changes in the room.

◆ unreadNotifications

std::optional<UnreadNotificationCounts> Kazv::Api::SyncJob::JoinedRoom::unreadNotifications

Counts of unread notifications for this room.

See the Receiving notifications section for more information on how these are calculated.


The documentation for this struct was generated from the following file: