@cometchat/skills 4.2.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -12
  3. package/bin/install.js +59 -4
  4. package/package.json +14 -1
  5. package/skills/cometchat/SKILL.md +460 -77
  6. package/skills/cometchat/references/asking-questions.md +48 -0
  7. package/skills/cometchat-a11y/SKILL.md +3 -2
  8. package/skills/cometchat-android-v5/SKILL.md +2 -1
  9. package/skills/cometchat-android-v5-calls/SKILL.md +36 -22
  10. package/skills/cometchat-android-v5-calls/references/README.md +1 -1
  11. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +7 -5
  12. package/skills/cometchat-android-v5-calls/references/audio-controls.md +4 -4
  13. package/skills/cometchat-android-v5-calls/references/call-layouts.md +33 -25
  14. package/skills/cometchat-android-v5-calls/references/call-session.md +2 -2
  15. package/skills/cometchat-android-v5-calls/references/custom-ui.md +5 -5
  16. package/skills/cometchat-android-v5-calls/references/event-listeners.md +2 -2
  17. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +20 -14
  18. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +1 -1
  19. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +43 -27
  20. package/skills/cometchat-android-v5-calls/references/participant-management.md +3 -3
  21. package/skills/cometchat-android-v5-calls/references/raise-hand.md +25 -19
  22. package/skills/cometchat-android-v5-calls/references/recording.md +2 -2
  23. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +1 -1
  24. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +5 -9
  25. package/skills/cometchat-android-v5-calls/references/session-settings.md +3 -3
  26. package/skills/cometchat-android-v5-calls/references/setup.md +1 -1
  27. package/skills/cometchat-android-v5-calls/references/share-invite.md +9 -4
  28. package/skills/cometchat-android-v5-calls/references/video-controls.md +4 -4
  29. package/skills/cometchat-android-v5-calls/references/voip-calling.md +2 -2
  30. package/skills/cometchat-android-v5-components/SKILL.md +4 -3
  31. package/skills/cometchat-android-v5-core/SKILL.md +20 -2
  32. package/skills/cometchat-android-v5-customization/SKILL.md +171 -7
  33. package/skills/cometchat-android-v5-extensions/SKILL.md +7 -4
  34. package/skills/cometchat-android-v5-features/SKILL.md +5 -4
  35. package/skills/cometchat-android-v5-placement/SKILL.md +2 -1
  36. package/skills/cometchat-android-v5-production/SKILL.md +2 -1
  37. package/skills/cometchat-android-v5-push/SKILL.md +2 -3
  38. package/skills/cometchat-android-v5-testing/SKILL.md +2 -1
  39. package/skills/cometchat-android-v5-theming/SKILL.md +2 -1
  40. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +3 -2
  41. package/skills/cometchat-android-v6/SKILL.md +2 -1
  42. package/skills/cometchat-android-v6-builder-settings/SKILL.md +11 -7
  43. package/skills/cometchat-android-v6-calls/SKILL.md +79 -18
  44. package/skills/cometchat-android-v6-calls/references/advanced-features.md +87 -0
  45. package/skills/cometchat-android-v6-calls/references/call-layouts.md +24 -15
  46. package/skills/cometchat-android-v6-calls/references/call-session.md +2 -2
  47. package/skills/cometchat-android-v6-calls/references/device-management.md +17 -16
  48. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +7 -4
  49. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +13 -8
  50. package/skills/cometchat-android-v6-calls/references/raise-hand.md +6 -4
  51. package/skills/cometchat-android-v6-compose-components/SKILL.md +52 -29
  52. package/skills/cometchat-android-v6-compose-customization/SKILL.md +156 -1
  53. package/skills/cometchat-android-v6-compose-placement/SKILL.md +129 -40
  54. package/skills/cometchat-android-v6-compose-theming/SKILL.md +27 -1
  55. package/skills/cometchat-android-v6-core/SKILL.md +389 -9
  56. package/skills/cometchat-android-v6-events/SKILL.md +4 -1
  57. package/skills/cometchat-android-v6-extensions/SKILL.md +2 -1
  58. package/skills/cometchat-android-v6-features/SKILL.md +26 -2
  59. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +31 -1
  60. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +172 -1
  61. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +20 -5
  62. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +36 -5
  63. package/skills/cometchat-android-v6-migration/SKILL.md +44 -42
  64. package/skills/cometchat-android-v6-production/SKILL.md +6 -3
  65. package/skills/cometchat-android-v6-push/SKILL.md +43 -2
  66. package/skills/cometchat-android-v6-testing/SKILL.md +11 -8
  67. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +26 -5
  68. package/skills/cometchat-angular-calls/SKILL.md +256 -389
  69. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +3 -2
  70. package/skills/cometchat-angular-calls/references/call-layouts.md +29 -12
  71. package/skills/cometchat-angular-calls/references/call-session.md +2 -2
  72. package/skills/cometchat-angular-calls/references/custom-ui.md +18 -10
  73. package/skills/cometchat-angular-calls/references/device-management.md +53 -34
  74. package/skills/cometchat-angular-calls/references/group-calls.md +45 -24
  75. package/skills/cometchat-angular-calls/references/idle-timeout.md +31 -15
  76. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +7 -6
  77. package/skills/cometchat-angular-calls/references/raise-hand.md +9 -4
  78. package/skills/cometchat-angular-calls/references/recording-screen-share.md +32 -39
  79. package/skills/cometchat-angular-calls/references/ringing-integration.md +3 -1
  80. package/skills/cometchat-angular-calls/references/share-invite.md +11 -5
  81. package/skills/cometchat-angular-calls/references/virtual-background.md +29 -0
  82. package/skills/cometchat-angular-components/SKILL.md +149 -620
  83. package/skills/cometchat-angular-core/SKILL.md +235 -293
  84. package/skills/cometchat-angular-customization/SKILL.md +415 -223
  85. package/skills/cometchat-angular-features/SKILL.md +216 -334
  86. package/skills/cometchat-angular-patterns/SKILL.md +168 -359
  87. package/skills/cometchat-angular-placement/SKILL.md +189 -560
  88. package/skills/cometchat-angular-production/SKILL.md +241 -92
  89. package/skills/cometchat-angular-push/SKILL.md +280 -294
  90. package/skills/cometchat-angular-testing/SKILL.md +430 -158
  91. package/skills/cometchat-angular-theming/SKILL.md +190 -265
  92. package/skills/cometchat-angular-troubleshooting/SKILL.md +192 -157
  93. package/skills/cometchat-astro-patterns/SKILL.md +22 -1
  94. package/skills/cometchat-calls/SKILL.md +25 -19
  95. package/skills/cometchat-calls/references/use-case-broadcast.md +15 -10
  96. package/skills/cometchat-calls/references/use-case-marketplace.md +2 -3
  97. package/skills/cometchat-calls/references/use-case-support.md +3 -4
  98. package/skills/cometchat-calls/references/use-case-team.md +23 -12
  99. package/skills/cometchat-calls/references/use-case-telehealth.md +3 -4
  100. package/skills/cometchat-components/SKILL.md +163 -25
  101. package/skills/cometchat-core/SKILL.md +412 -13
  102. package/skills/cometchat-customization/SKILL.md +50 -25
  103. package/skills/cometchat-features/SKILL.md +313 -34
  104. package/skills/cometchat-flutter-v5/SKILL.md +10 -4
  105. package/skills/cometchat-flutter-v5-calls/SKILL.md +188 -158
  106. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +48 -24
  107. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +20 -15
  108. package/skills/cometchat-flutter-v5-calls/references/call-session.md +100 -145
  109. package/skills/cometchat-flutter-v5-calls/references/device-management.md +12 -8
  110. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +30 -36
  111. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +15 -13
  112. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +12 -9
  113. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +115 -65
  114. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +41 -30
  115. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +17 -14
  116. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +8 -2
  117. package/skills/cometchat-flutter-v5-conversations/SKILL.md +2 -1
  118. package/skills/cometchat-flutter-v5-core/SKILL.md +20 -2
  119. package/skills/cometchat-flutter-v5-customization/SKILL.md +136 -5
  120. package/skills/cometchat-flutter-v5-events/SKILL.md +2 -1
  121. package/skills/cometchat-flutter-v5-messages/SKILL.md +2 -1
  122. package/skills/cometchat-flutter-v5-production/SKILL.md +15 -6
  123. package/skills/cometchat-flutter-v5-push/SKILL.md +2 -1
  124. package/skills/cometchat-flutter-v5-testing/SKILL.md +17 -6
  125. package/skills/cometchat-flutter-v5-theming/SKILL.md +2 -1
  126. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +7 -6
  127. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +3 -2
  128. package/skills/cometchat-flutter-v6/SKILL.md +17 -16
  129. package/skills/cometchat-flutter-v6-calls/SKILL.md +78 -63
  130. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +8 -6
  131. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +89 -0
  132. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +15 -12
  133. package/skills/cometchat-flutter-v6-calls/references/call-session.md +2 -2
  134. package/skills/cometchat-flutter-v6-calls/references/device-management.md +9 -3
  135. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +10 -10
  136. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +15 -7
  137. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +6 -3
  138. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +23 -16
  139. package/skills/cometchat-flutter-v6-components/SKILL.md +32 -11
  140. package/skills/cometchat-flutter-v6-conversations/SKILL.md +39 -11
  141. package/skills/cometchat-flutter-v6-core/SKILL.md +348 -10
  142. package/skills/cometchat-flutter-v6-customization/SKILL.md +97 -25
  143. package/skills/cometchat-flutter-v6-events/SKILL.md +3 -2
  144. package/skills/cometchat-flutter-v6-features/SKILL.md +15 -6
  145. package/skills/cometchat-flutter-v6-messages/SKILL.md +111 -60
  146. package/skills/cometchat-flutter-v6-migration/SKILL.md +18 -25
  147. package/skills/cometchat-flutter-v6-placement/SKILL.md +79 -50
  148. package/skills/cometchat-flutter-v6-production/SKILL.md +13 -12
  149. package/skills/cometchat-flutter-v6-push/SKILL.md +43 -21
  150. package/skills/cometchat-flutter-v6-testing/SKILL.md +6 -6
  151. package/skills/cometchat-flutter-v6-theming/SKILL.md +38 -5
  152. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +182 -17
  153. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +12 -4
  154. package/skills/cometchat-i18n/SKILL.md +139 -78
  155. package/skills/cometchat-ios/SKILL.md +4 -2
  156. package/skills/cometchat-ios-calls/SKILL.md +225 -95
  157. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +11 -9
  158. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +45 -0
  159. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +6 -7
  160. package/skills/cometchat-ios-calls/references/call-layouts.md +31 -91
  161. package/skills/cometchat-ios-calls/references/call-session.md +51 -54
  162. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +33 -29
  163. package/skills/cometchat-ios-calls/references/custom-ui.md +38 -38
  164. package/skills/cometchat-ios-calls/references/group-calls.md +33 -70
  165. package/skills/cometchat-ios-calls/references/idle-timeout.md +24 -25
  166. package/skills/cometchat-ios-calls/references/in-call-chat.md +19 -23
  167. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +128 -70
  168. package/skills/cometchat-ios-calls/references/picture-in-picture.md +20 -20
  169. package/skills/cometchat-ios-calls/references/raise-hand.md +14 -227
  170. package/skills/cometchat-ios-calls/references/recording-screen-share.md +35 -122
  171. package/skills/cometchat-ios-calls/references/ringing-integration.md +17 -16
  172. package/skills/cometchat-ios-calls/references/share-invite.md +8 -12
  173. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +4 -4
  174. package/skills/cometchat-ios-components/SKILL.md +200 -12
  175. package/skills/cometchat-ios-core/SKILL.md +281 -11
  176. package/skills/cometchat-ios-customization/SKILL.md +276 -110
  177. package/skills/cometchat-ios-features/SKILL.md +64 -36
  178. package/skills/cometchat-ios-placement/SKILL.md +15 -12
  179. package/skills/cometchat-ios-production/SKILL.md +12 -4
  180. package/skills/cometchat-ios-push/SKILL.md +53 -19
  181. package/skills/cometchat-ios-testing/SKILL.md +14 -9
  182. package/skills/cometchat-ios-theming/SKILL.md +39 -3
  183. package/skills/cometchat-ios-troubleshooting/SKILL.md +41 -21
  184. package/skills/cometchat-native-bare-patterns/SKILL.md +56 -18
  185. package/skills/cometchat-native-calls/SKILL.md +89 -19
  186. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +2 -2
  187. package/skills/cometchat-native-calls/references/call-layouts.md +15 -14
  188. package/skills/cometchat-native-calls/references/call-session.md +2 -2
  189. package/skills/cometchat-native-calls/references/custom-ui.md +12 -8
  190. package/skills/cometchat-native-calls/references/device-management.md +53 -30
  191. package/skills/cometchat-native-calls/references/group-calls.md +35 -30
  192. package/skills/cometchat-native-calls/references/idle-timeout.md +6 -6
  193. package/skills/cometchat-native-calls/references/in-call-chat.md +10 -8
  194. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +2 -2
  195. package/skills/cometchat-native-calls/references/raise-hand.md +15 -13
  196. package/skills/cometchat-native-calls/references/recording-screen-share.md +49 -170
  197. package/skills/cometchat-native-calls/references/share-invite.md +7 -5
  198. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +4 -2
  199. package/skills/cometchat-native-components/SKILL.md +91 -57
  200. package/skills/cometchat-native-core/SKILL.md +281 -9
  201. package/skills/cometchat-native-customization/SKILL.md +150 -28
  202. package/skills/cometchat-native-expo-patterns/SKILL.md +77 -27
  203. package/skills/cometchat-native-features/SKILL.md +79 -49
  204. package/skills/cometchat-native-placement/SKILL.md +19 -10
  205. package/skills/cometchat-native-production/SKILL.md +9 -3
  206. package/skills/cometchat-native-push/SKILL.md +2 -1
  207. package/skills/cometchat-native-testing/SKILL.md +1 -2
  208. package/skills/cometchat-native-theming/SKILL.md +54 -29
  209. package/skills/cometchat-native-troubleshooting/SKILL.md +71 -3
  210. package/skills/cometchat-nextjs-patterns/SKILL.md +48 -6
  211. package/skills/cometchat-placement/SKILL.md +42 -3
  212. package/skills/cometchat-production/SKILL.md +12 -5
  213. package/skills/cometchat-react-calls/SKILL.md +220 -10
  214. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +4 -3
  215. package/skills/cometchat-react-calls/references/call-layouts.md +5 -6
  216. package/skills/cometchat-react-calls/references/call-session.md +1 -1
  217. package/skills/cometchat-react-calls/references/custom-ui.md +61 -15
  218. package/skills/cometchat-react-calls/references/device-management.md +55 -51
  219. package/skills/cometchat-react-calls/references/group-calls.md +18 -23
  220. package/skills/cometchat-react-calls/references/idle-timeout.md +25 -12
  221. package/skills/cometchat-react-calls/references/in-call-chat.md +7 -7
  222. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +9 -11
  223. package/skills/cometchat-react-calls/references/raise-hand.md +14 -14
  224. package/skills/cometchat-react-calls/references/recording-screen-share.md +39 -38
  225. package/skills/cometchat-react-calls/references/ringing-integration.md +2 -2
  226. package/skills/cometchat-react-calls/references/share-invite.md +4 -5
  227. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +20 -2
  228. package/skills/cometchat-react-calls/references/virtual-background.md +32 -0
  229. package/skills/cometchat-react-patterns/SKILL.md +57 -4
  230. package/skills/cometchat-react-push/SKILL.md +258 -72
  231. package/skills/cometchat-react-router-patterns/SKILL.md +43 -4
  232. package/skills/cometchat-react-testing/SKILL.md +14 -5
  233. package/skills/cometchat-theming/SKILL.md +181 -18
  234. package/skills/cometchat-troubleshooting/SKILL.md +40 -20
@@ -3,19 +3,36 @@ name: cometchat-components
3
3
  description: "Complete catalog of CometChat React UI Kit v6 components. Reference before writing integration code -- never invent component names."
4
4
  license: "MIT"
5
5
  compatibility: "@cometchat/chat-uikit-react ^6; @cometchat/chat-sdk-javascript ^4"
6
- allowed-tools: "shell, file-read, file-search, file-list"
7
6
  metadata:
8
7
  author: "CometChat"
9
8
  version: "3.0.0"
10
9
  tags: "chat cometchat react components catalog reference ui-kit"
11
10
  ---
12
11
 
12
+ > **Ground truth:** `@cometchat/chat-uikit-react@^6` component catalog (installed package types) + `docs/ui-kit/react`. **Official docs:** https://www.cometchat.com/docs/ui-kit/react/components-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.
13
+
13
14
  ## Purpose
14
15
 
15
16
  This is the single source of truth for CometChat React UI Kit v6 component names, props, and usage. **Check this catalog before writing any `<CometChat*>` JSX.** If a component is not listed here, it does not exist in the exported API.
16
17
 
17
18
  All components are imported from `@cometchat/chat-uikit-react`. All SDK types are imported from `@cometchat/chat-sdk-javascript`.
18
19
 
20
+ ## When to use
21
+
22
+ - Any React-family integration emitting `<CometChat*>` JSX: Vite + React, Next.js (App or Pages Router), React Router v6/v7, Astro with React islands.
23
+ - Before scaffolding any chat surface (conversations, messages, users, groups, calls UI).
24
+ - When verifying a component name or prop signature — this catalog is authoritative; the kit's `node_modules/@cometchat/chat-uikit-react/dist/types/` is the runtime source of truth that backs it.
25
+
26
+ ## When NOT to use
27
+
28
+ - **React Native** (Expo or bare) — load `cometchat-native-components`. Class names are similar but **prop conventions diverge** (RN uses `onItemPress`, web uses `onItemClick` — runtime smoke 2026-06-02 confirmed). Cross-family copy-paste produces silent broken event bindings.
29
+ - **Angular** — load `cometchat-angular-components`. Angular kit class names are **`Component`-suffixed** (`CometChatConversationsComponent` not `CometChatConversations` — verified by runtime smoke 2026-06-02), HTML selectors are kebab-case, event bindings use round brackets for `@Output()` events. Different shape entirely.
30
+ - **Native Android** — load `cometchat-android-v6-{compose,kotlin}-components` (V6) or `cometchat-android-v5-components` (V5). Different package namespaces (`com.cometchat.uikit.compose.*` vs `com.cometchat.chatuikit.*`) — never reuse React component names.
31
+ - **iOS V5** — load `cometchat-ios-components`. UIKit Swift surface; `CometChatConversations()` zero-arg initializer + `.set(group: ...)` pattern; nothing like the React prop API.
32
+ - **Flutter V5 / V6** — load `cometchat-flutter-{v5,v6}-components`. Dart widget API with named parameters; V5 GetX vs V6 Bloc state-management split changes lifecycle.
33
+ - **Theming-only tasks** — load `cometchat-theming` (CSS variables, recipes) for color/font customization without component changes.
34
+ - **SDK-only chat (no UI Kit)** — this catalog assumes UI Kit components. If a future skill ships for the pure-SDK path (no `<CometChat*>` JSX), defer to it; today the closest analog is the SDK-only patterns inside `cometchat-react-calls` §4c.
35
+
19
36
  ### Importing `CometChat.User` / `CometChat.Group` / etc.
20
37
 
21
38
  `CometChat.User`, `CometChat.Group`, `CometChat.BaseMessage`, `CometChat.Conversation`, `CometChat.GroupMember`, `CometChat.TextMessage` are **classes** (runtime values), not pure types. That means the import strategy depends on how you use them:
@@ -50,6 +67,35 @@ function renderHeader(user: CometChat.User) { ... }
50
67
 
51
68
  ## 1. Core messaging
52
69
 
70
+ > ⛔ **STOP — only the components in THIS catalog exist. Do not invent or recall component names from v4/older memory.** Before emitting ANY `CometChat*` component, confirm it appears in this catalog (or the kit's exports). If it's not here, it does not exist — using it produces an **unresolved-import build failure** or a blank screen. This is the #1 failure class on this skill.
71
+ >
72
+ > **The real v6 component set (the ONLY ones — `import { … } from "@cometchat/chat-uikit-react"`):** `CometChatConversations`, `CometChatMessageHeader`, `CometChatMessageList`, `CometChatMessageComposer` (+ `CometChatCompactMessageComposer`), `CometChatUsers`, `CometChatGroups`, `CometChatMessageInformation` (+ the calling/feature components in their own catalogs).
73
+ >
74
+ > **Commonly hallucinated names that were REMOVED in v6 (verified absent from the kit exports) — do NOT use:** the all-in-one composites `CometChatConversationsWithMessages`, `CometChatUsersWithMessages`, `CometChatGroupsWithMessages`, the `CometChatMessages` composite, and the `CometChatUI` god-component. **There is no single "conversations + messages" component in v6** — you compose the two panes yourself (recipe below). (Note: `CometChatMessages`/`CometChatConversationsWithMessages` DO still exist in the Flutter v6 kit — this removal is web/RN/Angular. Always check the per-family catalog.)
75
+
76
+ > **The canonical two-pane experience (what "CometChatConversationsWithMessages" used to do — now hand-composed):**
77
+ > ```tsx
78
+ > const [active, setActive] = useState<CometChat.Conversation | null>(null);
79
+ > // pick the peer the message views need from the selected conversation:
80
+ > const peer = active?.getConversationWith(); // CometChat.User | CometChat.Group
81
+ > return (
82
+ > <div style={{ display: "flex", height: "100%" }}>
83
+ > <div style={{ width: 320 }}>
84
+ > <CometChatConversations activeConversation={active ?? undefined}
85
+ > onItemClick={(c) => setActive(c)} />
86
+ > </div>
87
+ > <div style={{ flex: 1, display: "flex", flexDirection: "column" }}>
88
+ > {peer && <>
89
+ > <CometChatMessageHeader {...(peer instanceof CometChat.User ? { user: peer } : { group: peer })} />
90
+ > <CometChatMessageList {...(peer instanceof CometChat.User ? { user: peer } : { group: peer })} />
91
+ > <CometChatMessageComposer {...(peer instanceof CometChat.User ? { user: peer } : { group: peer })} />
92
+ > </>}
93
+ > </div>
94
+ > </div>
95
+ > );
96
+ > ```
97
+ > A `CometChatMessageHeader`/`List`/`Composer` takes EITHER `user=` OR `group=` (never both) — derive it from the clicked conversation. Conversations-list-only and single-conversation-only are both valid subsets of this.
98
+
53
99
  These are the components you use to build a chat experience. Most integrations use some combination of these seven.
54
100
 
55
101
  ### CometChatConversations
@@ -172,6 +218,20 @@ Displays the name, avatar, and status of the user or group at the top of a messa
172
218
 
173
219
  **Works with:** CometChatMessageList (below), CometChatCallButtons (in auxiliaryButtonView slot)
174
220
 
221
+ > ⚠️ **Header `onItemClick` has NO default behavior (ENG-35705).** The kit ships no built-in `<CometChatUserDetails />` / `<CometChatGroupDetails />` panel — clicking the header name/avatar produces zero visible feedback unless YOU pass an `onItemClick` callback. **Four testers flagged this as "kit feels broken."** Rule when emitting `<CometChatMessageHeader>`:
222
+ > 1. Either provide an `onItemClick` that opens a details panel YOU built (use the sample-app reference at `sample-app/src/components/CometChatDetails/`), OR
223
+ > 2. Wrap the header in a clickable region that goes elsewhere, so the avatar+name doesn't *look* like a dead end. (There is no `showInfo` prop on `CometChatMessageHeader` — don't emit it.)
224
+ > Do NOT mount the header bare without an `onItemClick` — it's a customer-facing dead end.
225
+
226
+ > ⚠️ **`Reply in Thread` action requires the host to wire the thread panel (ENG-35705 — clarified 2026-06-02 from "broken" to "requires wiring").** The kit's `<CometChatMessageList>` renders a "Reply in Thread" item in the message-options menu and fires `onThreadRepliesClick(parentMessage)` when tapped — but the kit does NOT ship a default thread screen. If the host doesn't bind `onThreadRepliesClick` to a thread surface, the action visually does nothing (callback fires; no UI follows). Two paths:
227
+ >
228
+ > 1. **You're not building threads** — set `hideReplyInThreadOption={true}` on `<CometChatMessageList>` to remove the menu item entirely.
229
+ > 2. **You ARE building threads** — bind `onThreadRepliesClick={(parent) => /* open thread surface */}` and render a separate `<CometChatMessageList parentMessageId={parent.getId()} />` inside the thread surface. Sample app's pattern: `cometchat-uikit-react-v6/sample-app/src/components/CometChatMessages/CometChatMessages.tsx:74` wires this via parent component routing.
230
+ >
231
+ > The dispatcher hard rule still defaults to option 1 (hide threads) because most integrations don't want them. Restated here at point-of-use so the catalog reader makes a conscious choice.
232
+
233
+ > ⚠️ **`Message Privately` action — hide it via the kit prop if it misbehaves (ENG-35705).** In group chats the message-options menu shows a "Message Privately" item that may do nothing on click in some kit versions. `<CometChatMessageList>` exposes `hideMessagePrivatelyOption={true}` to remove it cleanly — set that rather than living with a dead menu item.
234
+
175
235
  ---
176
236
 
177
237
  ### CometChatSearch
@@ -295,12 +355,13 @@ A standalone search input component. Used for filtering within other components.
295
355
  **Key props:**
296
356
  | Prop | Type | Description |
297
357
  |---|---|---|
298
- | `onSearch` | `(text: string) => void` | Called as the user types |
299
- | `text` | `string` | Controlled input value |
358
+ | `onChange` | `(input: { value?: string }) => void` | Called as the user types — read `input.value` |
359
+ | `searchText` | `string` | Controlled input value |
360
+ | `placeholderText` | `string` | Placeholder text |
300
361
 
301
362
  **Usage:**
302
363
  ```tsx
303
- <CometChatSearchBar onSearch={(text) => filterUsers(text)} />
364
+ <CometChatSearchBar onChange={(input) => filterUsers(input.value ?? "")} />
304
365
  ```
305
366
 
306
367
  **Works with:** Any list component for client-side filtering
@@ -328,7 +389,7 @@ Renders voice and video call buttons. Typically placed in the `auxiliaryButtonVi
328
389
  <CometChatCallButtons user={selectedUser} />
329
390
  ```
330
391
 
331
- **Works with:** CometChatMessageHeader (in `menu` prop), CometChatIncomingCall (at app root)
392
+ **Works with:** CometChatMessageHeader (via its `auxiliaryButtonView` prop — there is no `menu` prop), CometChatIncomingCall (at app root)
332
393
 
333
394
  ---
334
395
 
@@ -413,6 +474,60 @@ Shows a detailed list of who reacted with what emoji on a specific message.
413
474
 
414
475
  ---
415
476
 
477
+ ## 5. Notifications (catalog gap closed 2026-06-02)
478
+
479
+ Three notification-related exports that were missing from this catalog before today. Verified against `cometchat-uikit-react-v6/src/index.ts:167-169`.
480
+
481
+ ### CometChatNotificationFeed
482
+
483
+ A scrollable inbox of campaign / promotional notifications. Renders a list view; integrators wire it as a dropdown or dedicated route.
484
+
485
+ **Key props:** `onItemClick: (feedItem: NotificationFeedItem) => void` to handle taps; `notificationFeedRequestBuilder` (and `notificationCategoriesRequestBuilder`) to filter — NOT `notificationsRequestBuilder`.
486
+
487
+ **Usage:**
488
+ ```tsx
489
+ import { CometChatNotificationFeed } from "@cometchat/chat-uikit-react";
490
+
491
+ // feedItem is a NotificationFeedItem (campaign notification) — it has no
492
+ // `conversationId`; route off its own fields / deep-link payload.
493
+ <CometChatNotificationFeed onItemClick={(feedItem) => handleNotification(feedItem)} />
494
+ ```
495
+
496
+ ---
497
+
498
+ ### CometChatNotificationBadge
499
+
500
+ A small unread-count pill, designed to attach to a nav item / icon. Auto-updates as new notifications arrive via the kit's notification feed listener.
501
+
502
+ **Key props:** All optional — defaults to showing the current unread count of the logged-in user. Style with the standard `CometChat*Style` pattern.
503
+
504
+ **Usage:**
505
+ ```tsx
506
+ import { CometChatNotificationBadge } from "@cometchat/chat-uikit-react";
507
+
508
+ <button onClick={openNotificationFeed}>
509
+ <BellIcon />
510
+ <CometChatNotificationBadge />
511
+ </button>
512
+ ```
513
+
514
+ ---
515
+
516
+ ### useNotificationUnreadCount (hook)
517
+
518
+ React hook returning the current unread-notification count for the logged-in user. Use this when `<CometChatNotificationBadge />` doesn't fit your layout — gives you the raw number to render however you like.
519
+
520
+ **Signature:**
521
+ ```tsx
522
+ import { useNotificationUnreadCount } from "@cometchat/chat-uikit-react";
523
+
524
+ const { count, isLoading } = useNotificationUnreadCount({ /* optional UseNotificationUnreadCountOptions */ });
525
+ ```
526
+
527
+ Internally subscribes to the same notification stream as `CometChatNotificationBadge` — using both is safe (single shared source).
528
+
529
+ ---
530
+
416
531
  ### CometChatEmojiKeyboard
417
532
 
418
533
  A full emoji picker. Automatically rendered inside the message composer when the emoji button is clicked.
@@ -439,9 +554,9 @@ An AI chatbot interface that users can interact with for automated responses. Ty
439
554
 
440
555
  **Prerequisites:** Enable "Conversation Starter" and/or "Smart Replies" in the dashboard.
441
556
 
442
- **Usage:**
557
+ **Usage:** `user` is a **required** prop (the AI assistant user to chat with):
443
558
  ```tsx
444
- <CometChatAIAssistantChat />
559
+ <CometChatAIAssistantChat user={assistantUser} />
445
560
  ```
446
561
 
447
562
  ---
@@ -459,13 +574,14 @@ Displays past AI assistant interactions. Used alongside `CometChatAIAssistantCha
459
574
 
460
575
  ### CometChatAIAssistantTools
461
576
 
462
- Renders AI tool options (summarize conversation, translate message, etc.) that can be applied to messages or conversations.
577
+ ⚠️ **This is a CLASS, not a renderable component.** You instantiate it with a map of action functions and pass it to `<CometChatAIAssistantChat>` via the `aiAssistantTools` prop — do NOT render `<CometChatAIAssistantTools />` (it's a type error).
463
578
 
464
579
  **Prerequisites:** Enable "Conversation Summary" and/or other AI tools in the dashboard.
465
580
 
466
581
  **Usage:**
467
582
  ```tsx
468
- <CometChatAIAssistantTools />
583
+ const toolkit = new CometChatAIAssistantTools({ /* actionsMap */ });
584
+ <CometChatAIAssistantChat user={assistantUser} aiAssistantTools={toolkit} />
469
585
  ```
470
586
 
471
587
  > **Note:** For detailed props, configuration options, and customization of AI components, query the docs MCP — these components' APIs evolve with CometChat's AI feature releases.
@@ -615,10 +731,15 @@ import {
615
731
  CometChatConversations,
616
732
  CometChatMessageHeader,
617
733
  CometChatMessageList,
618
- CometChatMessageComposer,
734
+ CometChatCompactMessageComposer,
619
735
  } from "@cometchat/chat-uikit-react";
620
736
  import { CometChat } from "@cometchat/chat-sdk-javascript";
621
737
 
738
+ // The message list must scroll inside a flex column without pushing the
739
+ // composer off-screen. Mirror the sample app's list wrapper.
740
+ // .cc-msg-list { flex: 1 1 0; min-height: 0; overflow: hidden; }
741
+ // .cc-msg-list > .cometchat { height: 100%; overflow: hidden; }
742
+
622
743
  function MultiConversation() {
623
744
  const [activeConversation, setActiveConversation] = useState<CometChat.Conversation>();
624
745
 
@@ -639,15 +760,19 @@ function MultiConversation() {
639
760
  {selectedUser && (
640
761
  <>
641
762
  <CometChatMessageHeader user={selectedUser} />
642
- <CometChatMessageList user={selectedUser} />
643
- <CometChatMessageComposer user={selectedUser} />
763
+ <div className="cc-msg-list">
764
+ <CometChatMessageList user={selectedUser} />
765
+ </div>
766
+ <CometChatCompactMessageComposer user={selectedUser} />
644
767
  </>
645
768
  )}
646
769
  {selectedGroup && (
647
770
  <>
648
771
  <CometChatMessageHeader group={selectedGroup} />
649
- <CometChatMessageList group={selectedGroup} />
650
- <CometChatMessageComposer group={selectedGroup} />
772
+ <div className="cc-msg-list">
773
+ <CometChatMessageList group={selectedGroup} />
774
+ </div>
775
+ <CometChatCompactMessageComposer group={selectedGroup} />
651
776
  </>
652
777
  )}
653
778
  </div>
@@ -666,7 +791,7 @@ One chat window for a known user or group. No conversation list.
666
791
  import {
667
792
  CometChatMessageHeader,
668
793
  CometChatMessageList,
669
- CometChatMessageComposer,
794
+ CometChatCompactMessageComposer,
670
795
  } from "@cometchat/chat-uikit-react";
671
796
  import { CometChat } from "@cometchat/chat-sdk-javascript";
672
797
 
@@ -675,15 +800,20 @@ interface SingleThreadProps {
675
800
  group?: CometChat.Group;
676
801
  }
677
802
 
803
+ // .cc-msg-list { flex: 1 1 0; min-height: 0; overflow: hidden; }
804
+ // .cc-msg-list > .cometchat { height: 100%; overflow: hidden; }
805
+
678
806
  function SingleThread({ user, group }: SingleThreadProps) {
679
807
  return (
680
808
  <div style={{ display: "flex", flexDirection: "column", height: "100%" }}>
681
809
  {user && <CometChatMessageHeader user={user} />}
682
810
  {group && <CometChatMessageHeader group={group} />}
683
- {user && <CometChatMessageList user={user} />}
684
- {group && <CometChatMessageList group={group} />}
685
- {user && <CometChatMessageComposer user={user} />}
686
- {group && <CometChatMessageComposer group={group} />}
811
+ <div className="cc-msg-list">
812
+ {user && <CometChatMessageList user={user} />}
813
+ {group && <CometChatMessageList group={group} />}
814
+ </div>
815
+ {user && <CometChatCompactMessageComposer user={user} />}
816
+ {group && <CometChatCompactMessageComposer group={group} />}
687
817
  </div>
688
818
  );
689
819
  }
@@ -717,10 +847,13 @@ import {
717
847
  CometChatGroups,
718
848
  CometChatMessageHeader,
719
849
  CometChatMessageList,
720
- CometChatMessageComposer,
850
+ CometChatCompactMessageComposer,
721
851
  } from "@cometchat/chat-uikit-react";
722
852
  import { CometChat } from "@cometchat/chat-sdk-javascript";
723
853
 
854
+ // .cc-msg-list { flex: 1 1 0; min-height: 0; overflow: hidden; }
855
+ // .cc-msg-list > .cometchat { height: 100%; overflow: hidden; }
856
+
724
857
  type Tab = "chats" | "calls" | "users" | "groups";
725
858
 
726
859
  function FullMessenger() {
@@ -794,15 +927,19 @@ function FullMessenger() {
794
927
  {selectedUser && (
795
928
  <>
796
929
  <CometChatMessageHeader user={selectedUser} />
797
- <CometChatMessageList user={selectedUser} />
798
- <CometChatMessageComposer user={selectedUser} />
930
+ <div className="cc-msg-list">
931
+ <CometChatMessageList user={selectedUser} />
932
+ </div>
933
+ <CometChatCompactMessageComposer user={selectedUser} />
799
934
  </>
800
935
  )}
801
936
  {selectedGroup && (
802
937
  <>
803
938
  <CometChatMessageHeader group={selectedGroup} />
804
- <CometChatMessageList group={selectedGroup} />
805
- <CometChatMessageComposer group={selectedGroup} />
939
+ <div className="cc-msg-list">
940
+ <CometChatMessageList group={selectedGroup} />
941
+ </div>
942
+ <CometChatCompactMessageComposer group={selectedGroup} />
806
943
  </>
807
944
  )}
808
945
  </div>
@@ -968,7 +1105,8 @@ User and group detail panels are **custom-built** — there is no pre-built `Com
968
1105
  // Switch to 1:1 chat with this member
969
1106
  }}
970
1107
  />
971
- {/* CometChatBannedMembers is a real kit component */}
1108
+ {/* Banning is handled inside CometChatGroupMembers there is no separate
1109
+ CometChatBannedMembers export in the v6 kit. */}
972
1110
  </div>
973
1111
  )}
974
1112
  ```