Package-level declarations
Types
Link copied to clipboard
data class MessageListAsset(val id: AssetId, val name: String?, val mimeType: String, val sizeInBytes: Long, val width: Int?, val height: Int?, val durationMs: Long?, val hasCompleteRemoteData: Boolean, val previewAssetId: AssetId? = null)
Link copied to clipboard
data class MessageListAttachment(val id: String, val versionId: String, val mimeType: String, val path: String?, val sizeInBytes: Long?, val localPath: String?, val previewUrl: String?, val width: Int?, val height: Int?, val durationMs: Long?, val transferStatus: AssetTransferStatus, val isEditSupported: Boolean)
Link copied to clipboard
Link copied to clipboard
data class MessageListDeliveryFailures(val noClients: List<MessageListUser>, val failedDelivery: List<MessageListUser>)
Link copied to clipboard
data class MessageListItem(val id: String, val conversationId: ConversationId, val date: Instant, val sender: MessageListUser, val senderClientId: String?, val status: Message.Status, val editDate: Instant?, val expirationData: Message.ExpirationData?, val expectsReadConfirmation: Boolean, val content: MessageListContent, val reactions: List<MessageListReaction>, val deliveryFailures: MessageListDeliveryFailures, val cursor: MessageTimelineCursor)
Rendering data for one timeline bubble. Resolve actions through the existing message/asset APIs.
Link copied to clipboard
Link copied to clipboard
data class MessageListLinkPreview(val url: String, val urlOffset: Int, val permanentUrl: String, val title: String, val summary: String, val imageLocalPath: String?, val imageWidth: Int?, val imageHeight: Int?, val imageMimeType: String?)
Preview images can be resolved by conversation/message ID and urlOffset without exposing credentials.
Link copied to clipboard
Link copied to clipboard
data class MessageListText(val body: String?, val mentions: List<MessageMention>, val linkPreviews: List<MessageListLinkPreview>, val quotedMessageId: String?, val quote: MessageContent.QuotedMessageDetails?)
Link copied to clipboard
data class MessageListUser(val id: UserId, val name: String?, val accentId: Int, val previewAvatar: QualifiedID?, val availability: UserAvailabilityStatus, val userType: UserTypeInfo, val connectionState: ConnectionState, val isSelf: Boolean, val isDeleted: Boolean, val isUnavailable: Boolean, val isDefederated: Boolean, val isUnderLegalHold: Boolean, val guestExpiresAt: Instant?, val botService: BotService?, val isMissing: Boolean)
Display fields shared by sender, member-event and delivery-failure rendering.
Link copied to clipboard
A concrete page API for Kotlin and Swift. All pages belong to this generation. Observe invalidated, discard its pages when true, and open another timeline around the visible item's ID and cursor. Close this session when leaving the conversation.
Link copied to clipboard
Ephemeral cursor issued by an account-scoped timeline. Do not persist it or reuse it after switching accounts.
Link copied to clipboard
data class MessageTimelinePage(val items: List<MessageListItem>, val olderCursor: MessageTimelineCursor?, val newerCursor: MessageTimelineCursor?, val anchorMessageId: String?)
Link copied to clipboard
internal class MessageTimelinePagingSource(dao: MessageTimelineDAO, selfUserId: UserId, conversationId: ConversationId, policy: MessageTimelinePolicy, initialRequest: MessageTimelineRequest) : PagingSource<MessageTimelineCursor, MessageListItem>
Link copied to clipboard
Link copied to clipboard
Account-scoped access to timeline sessions and paging sources.
Link copied to clipboard
Link copied to clipboard