cometchat-flutter-v5-users-groups — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cometchat-flutter-v5-users-groups (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Ground truth:cometchat_chat_uikit: ^5.2(legacy/maintenance-only; calls via rawcometchat_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.
Components for displaying and managing users, groups, and group members.
Displays a list of users, sorted alphabetically.
| Prop | Type | Default | Description |
|---|---|---|---|
usersRequestBuilder | UsersRequestBuilder? | — | Custom fetch builder |
usersStyle | CometChatUsersStyle | const CometChatUsersStyle() | Visual styling |
onItemTap | Function(BuildContext, User)? | — | Tap callback (includes BuildContext) |
onItemLongPress | Function(BuildContext, User)? | — | Long press callback |
subtitleView | Widget? Function(BuildContext, User)? | — | Custom subtitle |
title | String? | — | List title |
showBackButton | bool | true | Show back button |
hideSearch | bool | false | Hide search bar |
selectionMode | SelectionMode? | — | Enable selection mode |
onSelection | Function(List<User>?, BuildContext)? | — | Selection callback |
usersStatusVisibility | bool? | true | Show online status |
hideAppbar | bool? | false | Hide app bar |
appBarOptions | List<Widget> Function(BuildContext)? | — | App bar trailing widgets |
controllerTag | String? | — | Custom GetX controller tag |
stickyHeaderVisibility | bool? | false | Show alphabetical headers |
CometChatUsers(
onItemTap: (context, user) {
Navigator.push(context, MaterialPageRoute(
builder: (_) => MessagesScreen(user: user),
));
},
)
// With custom request builder
CometChatUsers(
usersRequestBuilder: UsersRequestBuilder()
..limit = 30
..friendsOnly = true,
)
// Filter by role (e.g., AI agents)
CometChatUsers(
title: "Agents",
usersRequestBuilder: UsersRequestBuilder()
..roles = [AIConstants.aiRole],
onItemTap: (context, user) { ... },
)Displays a list of groups with type indicators.
| Prop | Type | Default | Description |
|---|---|---|---|
groupsRequestBuilder | GroupsRequestBuilder? | — | Custom fetch builder |
groupsStyle | CometChatGroupsStyle? | — | Visual styling |
onItemTap | Function(BuildContext, Group)? | — | Tap callback (includes BuildContext) |
onItemLongPress | Function(BuildContext, Group)? | — | Long press callback |
subtitleView | Widget? Function(BuildContext, Group)? | — | Custom subtitle |
title | String? | — | List title |
showBackButton | bool | true | Show back button |
hideSearch | bool | false | Hide search bar |
selectionMode | SelectionMode? | — | Enable selection mode |
groupTypeVisibility | bool | true | Show group type icon |
hideAppbar | bool? | false | Hide app bar |
appBarOptions | List<Widget> Function(BuildContext)? | — | App bar trailing widgets |
controllerTag | String? | — | Custom GetX controller tag |
CometChatGroups(
onItemTap: (context, group) {
Navigator.push(context, MaterialPageRoute(
builder: (_) => MessagesScreen(group: group),
));
},
)Displays members of a specific group with role indicators.
CometChatGroupMembers(
group: group,
onItemTap: (member) {
debugPrint('Tapped: ${member.name}, role: ${member.scope}');
},
)Key props: group (required), groupMembersRequestBuilder, `style` (CometChatGroupMembersStyle? — prop name is style, NOT groupMembersStyle; verified cometchat_group_members.dart:25/88), subtitleView, trailingView, onItemTap (Function(GroupMember)? — no BuildContext), selectionMode, onSelection (Function(List<GroupMember>?)? — no BuildContext).
Widget for changing a group member's scope/role.
CometChatChangeScope(group: group, member: member)| Component | onItemTap signature |
|---|---|
CometChatConversations | Function(Conversation)? — no BuildContext |
CometChatUsers | Function(BuildContext, User)? — has BuildContext |
CometChatGroups | Function(BuildContext, Group)? — has BuildContext |
CometChatGroupMembers | Function(GroupMember)? — no BuildContext |
This is a common source of confusion.
// ❌ WRONG — missing BuildContext in Users/Groups onItemTap
CometChatUsers(onItemTap: (user) { ... }) // Missing BuildContext!
// ✅ CORRECT
CometChatUsers(onItemTap: (context, user) { ... })
CometChatGroups(onItemTap: (context, group) { ... })onItemTap callback signature includes BuildContext for Users/Groups~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.