Flutter UI Kit v6 — LLM docs index (Latest)
Stateful, drop-in Flutter chat/calling UI. Packagecometchat_chat_uikit@6, which re-exportscometchat_sdk@5(andcometchat_calls_sdk@5through the calls barrel). This page is a Flutter-v6-only routing index for AI agents — a scoped alternative to the site-wide/docs/llms.txt.
How to use this index
Each link points to the docs page; append.md to its URL to fetch the clean Markdown twin
(verbatim code + a props table with names, types, and defaults). Pick the page for the intent,
then read the props there.
- Convention: any docs page URL +
.md→ raw Markdown. - Fallback: if a
.mdtwin 404s, fetch the same URL without.md(HTML). Never read the installed Dart source in place of a doc, and never answer props from memory.
Platform rules — Flutter is not the web, and v6 is not v5
Widgets render through Flutter’s own tree. Non-negotiables:- TWO barrels, different surfaces. Chat widgets come from
package:cometchat_chat_uikit/cometchat_chat_uikit.dart; calling widgets come frompackage:cometchat_chat_uikit/cometchat_calls_uikit.dart. The chat barrel does not export the calling widgets and the calls barrel does not re-export the chat widgets, so a screen that shows both imports both. Importing a calling widget from the chat barrel does not compile — this is the single most common Flutter-specific failure. - Lists need a bounded box.
CometChatMessageList,CometChatConversationsand the other list widgets fill their parent. Put them in anExpanded(or a sized box) inside aColumn, or layout throws an unbounded-height error at render, not at build. - Widgets paint their own surface. The app
ThemeDatadoes not reach inside a kit widget’s background. Scope colours with the widget’s own style object —CometChatMessageListStyle,CometChatMessageComposerStyle, and so on — see Component Styling. - Theming is
ThemeExtension, not a theme object. RegisterCometChatColorPalette,CometChatTypographyandCometChatSpacinginThemeData.extensions. Register them on both the light and dark themes or one mode silently keeps kit defaults. See Theming. - v5’s DataSource is gone.
CometChatUIKit.getDataSource()no longer exists; v6 exposesMessageTemplateUtilsinstead. Emitting the v5 registration path does not compile — see MessageTemplateUtils & Data Source and Upgrading from v5. - Custom message types: use
addTemplate, nevertemplates.addTemplate:merges your template with the defaults and folds its type/category into the list’s fetch and realtime filter.templates:replaces the default set and only registers the bubble — a custom type passed there sends successfully and then never appears, with no error anywhere. A hand-rolledMessagesRequestBuilderdoes not rescue it either: the list always overridesuid,guid,typesandcategorieson the builder you pass. See Message List and Message Template. - Messages you send yourself must announce themselves. CometChat does not deliver a client
its own sends over the realtime listener, so a message sent with
CometChat.send*Messagerather than throughCometChatMessageComposernever reaches an already-mountedCometChatMessageList— it only appears on that list’s next fetch. EmitCometChatMessageEvents.ccMessageSent(...)inonSuccess. See Events.
Hot path — usually no fetch needed
For a plain “add chat” the install,init → login → render, and the core drop-in props are
stable; a well-built agent skill bakes them. Fetch below only for exhaustive props, long-tail
components, theming tokens, or feature enablement.
- Setup: Getting Started
- Core drop-ins: Conversations · Message Header · Message List · Message Composer
Getting started / integration
Core & configuration
Theming & styling
Components — conversations & lists
Components — messages
Components — calling
Every widget below resolves from the calls barrel only (package:cometchat_chat_uikit/cometchat_calls_uikit.dart).
Components — AI & notifications
Customization & extensibility
Entries name the API, not just the page, because the intent (“add a custom message type”) does not match any page title.- Custom message type —
CometChatMessageTemplate+addTemplate:(nevertemplates:) → Message Template · MessageTemplateUtils & Data Source - Custom bubble rendering — the template’s
bubbleView/contentView→ Message Template - Replacing a slice of a widget — per-widget view slots → View Slots
- Loading / empty / error states — State Views
- Long-press menu / composer actions — Menu & Options
- Driving a widget’s data yourself — BLoC & Data
- Text formatters — Text Formatters
- UI events —
CometChatUIEvents→ Events - Kit methods — Methods
- Where to start — Customization Overview
Text formatters
Task guides (recipes)
- Guides — Overview
- New Chat
- Group Chat
- Threaded Messages
- Message Privately
- Block / Unblock User
- Call Log Details
- Message Agentic Flow