Skip to content
OpenSmartRoute
Skillv1.0.0

cometchat-flutter-v5-conversations

Use when working with CometChat Flutter UIKit v5 conversation list component. Triggers on CometChatConversations, conversation list, recent chats.

by cometchat(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from cometchat/cometchat-skills (skills/cometchat-flutter-v5-conversations/SKILL.md). Install upstream with npx skills add cometchat/cometchat-skills --skill cometchat-flutter-v5-conversations. Copyright stays with the author (MIT).

Ground truth: cometchat_chat_uikit: ^5.2 (legacy/maintenance-only; calls via raw cometchat_calls_sdk ^5.0.2) — pub-cache source + ui-kit/flutter/v5. Official docs: https://www.cometchat.com/docs/ui-kit/flutter/v5/overview · Docs MCP: claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.

CometChat Flutter UIKit v5 — Conversations

The CometChatConversations component displays a list of recent conversations.

Key Props

Prop Type Default Description
conversationsRequestBuilder ConversationsRequestBuilder? Custom fetch builder
conversationsStyle CometChatConversationsStyle const CometChatConversationsStyle() Visual styling
onItemTap Function(Conversation)? Tap callback (no BuildContext)
onItemLongPress Function(Conversation)? Long press callback
subtitleView Widget? Function(BuildContext, Conversation)? Custom subtitle
listItemView Widget Function(Conversation)? Custom list item (replaces the whole row)
leadingView Widget? Function(BuildContext, Conversation)? Custom leading widget (avatar slot)
titleView Widget? Function(BuildContext, Conversation)? Custom title widget
trailingView Widget? Function(Conversation)? Custom trailing widget (single-arg — asymmetric with the other slots)
title String? List title
showBackButton bool false Show back button
onBack VoidCallback? Back button callback
hideAppbar bool? false Hide app bar
appBarOptions List<Widget>? App bar trailing widgets
usersStatusVisibility bool? true Show online status
receiptsVisibility bool? true Show read receipts
textFormatters List<CometChatTextFormatter>? Text formatters for subtitles
controllerTag String? Custom GetX controller tag
hideSearch bool? Hide search bar
searchReadOnly bool false Read-only search
onSearchTap GestureTapCallback? Search tap callback
deleteConversationOptionVisibility bool? true Show delete option
loadingStateView WidgetBuilder? Custom loading state
emptyStateView WidgetBuilder? Custom empty state
errorStateView WidgetBuilder? Custom error state
setOptions Function? Replace long-press options
addOptions Function? Add to long-press options

Basic Usage

CometChatConversations(
  onItemTap: (conversation) {
    User? user;
    Group? group;
    if (conversation.conversationWith is User) {
      user = conversation.conversationWith as User;
    } else {
      group = conversation.conversationWith as Group;
    }
    Navigator.push(context, MaterialPageRoute(
      builder: (_) => MessagesScreen(user: user, group: group),
    ));
  },
)

Custom Request Builder

CometChatConversations(
  conversationsRequestBuilder: ConversationsRequestBuilder()
    ..limit = 30
    ..conversationType = ConversationType.user,
)

Internal Architecture (GetX)

The component creates CometChatConversationsController via Get.put() in initState() and deletes it in dispose() (unless controllerTag is provided externally).

Theme values are cached in didChangeDependencies() (unconditionally, no flag):

@override
void didChangeDependencies() {
  typography = CometChatThemeHelper.getTypography(context);
  colorPalette = CometChatThemeHelper.getColorPalette(context);
  spacing = CometChatThemeHelper.getSpacing(context);
  style = CometChatThemeHelper.getTheme<CometChatConversationsStyle>(
      context: context, defaultTheme: CometChatConversationsStyle.of)
    .merge(widget.conversationsStyle);
  super.didChangeDependencies();
}

Anti-Patterns

// ❌ WRONG — trying to access controller before component mounts
final controller = Get.find<CometChatConversationsController>();

// ❌ WRONG — manually creating controller outside the widget
Get.put(CometChatConversationsController(...));

// ❌ WRONG — not extracting User/Group from conversation
onItemTap: (conversation) {
  Navigator.push(context, MaterialPageRoute(
    builder: (_) => MessagesScreen(user: conversation.conversationWith), // Type error
  ));
}

Checklist — Conversations

  • onItemTap extracts User/Group from conversation.conversationWith with type check
  • Navigation to messages screen passes extracted user or group
  • Let the widget manage its own GetX controller lifecycle

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/cometchat-cometchat-skills-cometchat-flutter-v5-conversations/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

cometchat-cometchat-skills-cometchat-flutter-v5-conversations.ocm.jsonjson
{
  "ocm": "1",
  "id": "cometchat-cometchat-skills-cometchat-flutter-v5-conversations",
  "kind": "skill",
  "name": "cometchat-flutter-v5-conversations",
  "description": "Use when working with CometChat Flutter UIKit v5 conversation list component. Triggers on CometChatConversations, conversation list, recent chats.",
  "publisher": "cometchat",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "cometchat",
      "flutter",
      "v5",
      "conversations",
      "list",
      "recent",
      "chats",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Use when working with CometChat Flutter UIKit v5 conversation list component. Triggers on CometChatConversations, conversation list, recent chats."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/cometchat/cometchat-skills",
      "path": "skills/cometchat-flutter-v5-conversations/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/cometchat/cometchat-skills/blob/HEAD/skills/cometchat-flutter-v5-conversations/SKILL.md",
      "key": "cometchat/cometchat-skills/skills/cometchat-flutter-v5-conversations/SKILL.md"
    },
    "compatibility": "cometchat_chat_uikit ^5.2.14; cometchat_uikit_shared ^5.2.3",
    "license": "MIT"
  },
  "instructions": "> **Ground truth:** `cometchat_chat_uikit: ^5.2` (legacy/maintenance-only; calls via raw `cometchat_calls_sdk ^5.0.2`) — pub-cache source + `ui-kit/flutter/v5`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/v5/overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.\n\n# CometChat Flutter UIKit v5 — Conversations\n\nThe `CometChatConversations` component displays a list of recent conversations.\n\n## Key Props\n\n| P",
  "cost": {
    "context_tokens": 1204
  }
}

Fetch it by URL: GET /api/v1/registry/cometchat-cometchat-skills-cometchat-flutter-v5-conversations/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.