ChatFeedEntry

sealed interface ChatFeedEntry

Represents an individual item displayed in the chat feed.

The chat feed contains a mix of real conversation entries (messages, participant changes, typing indicators) and synthetic entries generated by the UI layer (date breaks, pre-chat receipts). This sealed interface provides a unified type for all entries that appear in the feed, enabling custom rendering via ViewComponents.ChatFeedEntry.

Use when expressions to handle each entry variant when providing custom UI through ViewComponents:

See also

Inheritors

Types

Link copied to clipboard

Wraps a ConversationEntry for display in the chat feed.

Link copied to clipboard
open class DateBreakModel(val timestamp: Long) : ChatFeedEntry

A date separator inserted between messages sent on different calendar days.

Link copied to clipboard
open class PreChatReceiptModel(val timestamp: Long) : ChatFeedEntry

A confirmation entry shown in the feed after pre-chat fields have been submitted.

Link copied to clipboard
open class ProgressIndicatorModel(conversationEntry: ConversationEntry, entries: List<ConversationEntry> = when (conversationEntry.entryType) { ConversationEntryType.QueuePosition -> listOf(conversationEntry) else -> emptyList() }) : ChatFeedEntry.TypingIndicatorModel

A progress indicator that represents either response activity or the user's position in a routing queue.

Link copied to clipboard

Indicates that one or more remote participants are currently typing.

Properties

Link copied to clipboard
abstract val contentType: String

Identifies the type of content this entry represents. For conversation entries this matches the ConversationEntryType name; for synthetic entries it matches an internal type name. Useful for filtering or logging entry types.

Link copied to clipboard
abstract val keyId: String

A stable identifier for this entry within the feed, suitable for use as a list item key in Compose lazy lists or RecyclerView adapters.

Link copied to clipboard
abstract val timestamp: Long

The epoch timestamp (in milliseconds) when this entry was created or received.