ChatLog
fun ChatLog(messages: List<ChatMessage>, idleHint: String, errorAction: ChatErrorAction, modifier: Modifier = Modifier, contentPadding: PaddingValues = PaddingValues(vertical = MaterialTheme.kmpSpacing.small), typingDescription: String = "Responding", messageContent: @Composable (ChatMessageSender, String) -> Unit = { sender, text -> ChatMessageText(sender, text) })
A chat conversation: user bubbles on the end edge, assistant bubbles on the start edge, a typing bubble for pending replies, and a retryable error bubble. With no messages it shows idleHint.
The log follows new messages and growing replies only while the reader is at the latest message, so scrolling back through history is never interrupted. Use messageContent to render markdown, links, or code; the default draws plain text. typingDescription is announced while a reply is pending.