@cometchat/skills 4.3.0 → 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 (233) hide show
  1. package/LICENSE +21 -0
  2. package/bin/install.js +27 -0
  3. package/package.json +14 -1
  4. package/skills/cometchat/SKILL.md +233 -69
  5. package/skills/cometchat/references/asking-questions.md +48 -0
  6. package/skills/cometchat-a11y/SKILL.md +3 -2
  7. package/skills/cometchat-android-v5/SKILL.md +2 -1
  8. package/skills/cometchat-android-v5-calls/SKILL.md +36 -22
  9. package/skills/cometchat-android-v5-calls/references/README.md +1 -1
  10. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +7 -5
  11. package/skills/cometchat-android-v5-calls/references/audio-controls.md +4 -4
  12. package/skills/cometchat-android-v5-calls/references/call-layouts.md +33 -25
  13. package/skills/cometchat-android-v5-calls/references/call-session.md +2 -2
  14. package/skills/cometchat-android-v5-calls/references/custom-ui.md +5 -5
  15. package/skills/cometchat-android-v5-calls/references/event-listeners.md +2 -2
  16. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +20 -14
  17. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +1 -1
  18. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +43 -27
  19. package/skills/cometchat-android-v5-calls/references/participant-management.md +3 -3
  20. package/skills/cometchat-android-v5-calls/references/raise-hand.md +25 -19
  21. package/skills/cometchat-android-v5-calls/references/recording.md +2 -2
  22. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +1 -1
  23. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +5 -9
  24. package/skills/cometchat-android-v5-calls/references/session-settings.md +3 -3
  25. package/skills/cometchat-android-v5-calls/references/setup.md +1 -1
  26. package/skills/cometchat-android-v5-calls/references/share-invite.md +9 -4
  27. package/skills/cometchat-android-v5-calls/references/video-controls.md +4 -4
  28. package/skills/cometchat-android-v5-calls/references/voip-calling.md +2 -2
  29. package/skills/cometchat-android-v5-components/SKILL.md +4 -3
  30. package/skills/cometchat-android-v5-core/SKILL.md +5 -3
  31. package/skills/cometchat-android-v5-customization/SKILL.md +171 -7
  32. package/skills/cometchat-android-v5-extensions/SKILL.md +7 -4
  33. package/skills/cometchat-android-v5-features/SKILL.md +5 -4
  34. package/skills/cometchat-android-v5-placement/SKILL.md +2 -1
  35. package/skills/cometchat-android-v5-production/SKILL.md +2 -1
  36. package/skills/cometchat-android-v5-push/SKILL.md +2 -3
  37. package/skills/cometchat-android-v5-testing/SKILL.md +2 -1
  38. package/skills/cometchat-android-v5-theming/SKILL.md +2 -1
  39. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +3 -2
  40. package/skills/cometchat-android-v6/SKILL.md +2 -1
  41. package/skills/cometchat-android-v6-builder-settings/SKILL.md +11 -7
  42. package/skills/cometchat-android-v6-calls/SKILL.md +79 -18
  43. package/skills/cometchat-android-v6-calls/references/advanced-features.md +87 -0
  44. package/skills/cometchat-android-v6-calls/references/call-layouts.md +24 -15
  45. package/skills/cometchat-android-v6-calls/references/call-session.md +2 -2
  46. package/skills/cometchat-android-v6-calls/references/device-management.md +17 -16
  47. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +7 -4
  48. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +13 -8
  49. package/skills/cometchat-android-v6-calls/references/raise-hand.md +6 -4
  50. package/skills/cometchat-android-v6-compose-components/SKILL.md +52 -29
  51. package/skills/cometchat-android-v6-compose-customization/SKILL.md +156 -1
  52. package/skills/cometchat-android-v6-compose-placement/SKILL.md +129 -40
  53. package/skills/cometchat-android-v6-compose-theming/SKILL.md +27 -1
  54. package/skills/cometchat-android-v6-core/SKILL.md +208 -28
  55. package/skills/cometchat-android-v6-events/SKILL.md +4 -1
  56. package/skills/cometchat-android-v6-extensions/SKILL.md +2 -1
  57. package/skills/cometchat-android-v6-features/SKILL.md +26 -2
  58. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +31 -1
  59. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +172 -1
  60. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +20 -5
  61. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +36 -5
  62. package/skills/cometchat-android-v6-migration/SKILL.md +44 -42
  63. package/skills/cometchat-android-v6-production/SKILL.md +6 -3
  64. package/skills/cometchat-android-v6-push/SKILL.md +43 -2
  65. package/skills/cometchat-android-v6-testing/SKILL.md +11 -8
  66. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +26 -5
  67. package/skills/cometchat-angular-calls/SKILL.md +256 -389
  68. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +3 -2
  69. package/skills/cometchat-angular-calls/references/call-layouts.md +29 -12
  70. package/skills/cometchat-angular-calls/references/call-session.md +2 -2
  71. package/skills/cometchat-angular-calls/references/custom-ui.md +18 -10
  72. package/skills/cometchat-angular-calls/references/device-management.md +53 -34
  73. package/skills/cometchat-angular-calls/references/group-calls.md +45 -24
  74. package/skills/cometchat-angular-calls/references/idle-timeout.md +31 -15
  75. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +7 -6
  76. package/skills/cometchat-angular-calls/references/raise-hand.md +9 -4
  77. package/skills/cometchat-angular-calls/references/recording-screen-share.md +32 -39
  78. package/skills/cometchat-angular-calls/references/ringing-integration.md +3 -1
  79. package/skills/cometchat-angular-calls/references/share-invite.md +11 -5
  80. package/skills/cometchat-angular-calls/references/virtual-background.md +29 -0
  81. package/skills/cometchat-angular-components/SKILL.md +149 -620
  82. package/skills/cometchat-angular-core/SKILL.md +232 -312
  83. package/skills/cometchat-angular-customization/SKILL.md +415 -223
  84. package/skills/cometchat-angular-features/SKILL.md +216 -334
  85. package/skills/cometchat-angular-patterns/SKILL.md +168 -359
  86. package/skills/cometchat-angular-placement/SKILL.md +189 -560
  87. package/skills/cometchat-angular-production/SKILL.md +241 -92
  88. package/skills/cometchat-angular-push/SKILL.md +280 -294
  89. package/skills/cometchat-angular-testing/SKILL.md +430 -158
  90. package/skills/cometchat-angular-theming/SKILL.md +190 -265
  91. package/skills/cometchat-angular-troubleshooting/SKILL.md +192 -157
  92. package/skills/cometchat-astro-patterns/SKILL.md +2 -1
  93. package/skills/cometchat-calls/SKILL.md +25 -19
  94. package/skills/cometchat-calls/references/use-case-broadcast.md +15 -10
  95. package/skills/cometchat-calls/references/use-case-marketplace.md +2 -3
  96. package/skills/cometchat-calls/references/use-case-support.md +3 -4
  97. package/skills/cometchat-calls/references/use-case-team.md +23 -12
  98. package/skills/cometchat-calls/references/use-case-telehealth.md +3 -4
  99. package/skills/cometchat-components/SKILL.md +163 -25
  100. package/skills/cometchat-core/SKILL.md +255 -19
  101. package/skills/cometchat-customization/SKILL.md +50 -25
  102. package/skills/cometchat-features/SKILL.md +313 -34
  103. package/skills/cometchat-flutter-v5/SKILL.md +10 -4
  104. package/skills/cometchat-flutter-v5-calls/SKILL.md +188 -158
  105. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +48 -24
  106. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +20 -15
  107. package/skills/cometchat-flutter-v5-calls/references/call-session.md +100 -145
  108. package/skills/cometchat-flutter-v5-calls/references/device-management.md +12 -8
  109. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +30 -36
  110. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +15 -13
  111. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +12 -9
  112. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +115 -65
  113. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +41 -30
  114. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +17 -14
  115. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +8 -2
  116. package/skills/cometchat-flutter-v5-conversations/SKILL.md +2 -1
  117. package/skills/cometchat-flutter-v5-core/SKILL.md +5 -4
  118. package/skills/cometchat-flutter-v5-customization/SKILL.md +136 -5
  119. package/skills/cometchat-flutter-v5-events/SKILL.md +2 -1
  120. package/skills/cometchat-flutter-v5-messages/SKILL.md +2 -1
  121. package/skills/cometchat-flutter-v5-production/SKILL.md +15 -6
  122. package/skills/cometchat-flutter-v5-push/SKILL.md +2 -1
  123. package/skills/cometchat-flutter-v5-testing/SKILL.md +17 -6
  124. package/skills/cometchat-flutter-v5-theming/SKILL.md +2 -1
  125. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +7 -6
  126. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +3 -2
  127. package/skills/cometchat-flutter-v6/SKILL.md +17 -16
  128. package/skills/cometchat-flutter-v6-calls/SKILL.md +72 -57
  129. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +5 -3
  130. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +89 -0
  131. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +15 -12
  132. package/skills/cometchat-flutter-v6-calls/references/call-session.md +2 -2
  133. package/skills/cometchat-flutter-v6-calls/references/device-management.md +9 -3
  134. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +10 -10
  135. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +15 -7
  136. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +6 -3
  137. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +23 -16
  138. package/skills/cometchat-flutter-v6-components/SKILL.md +32 -11
  139. package/skills/cometchat-flutter-v6-conversations/SKILL.md +39 -11
  140. package/skills/cometchat-flutter-v6-core/SKILL.md +182 -21
  141. package/skills/cometchat-flutter-v6-customization/SKILL.md +97 -25
  142. package/skills/cometchat-flutter-v6-events/SKILL.md +3 -2
  143. package/skills/cometchat-flutter-v6-features/SKILL.md +15 -6
  144. package/skills/cometchat-flutter-v6-messages/SKILL.md +111 -60
  145. package/skills/cometchat-flutter-v6-migration/SKILL.md +18 -25
  146. package/skills/cometchat-flutter-v6-placement/SKILL.md +79 -50
  147. package/skills/cometchat-flutter-v6-production/SKILL.md +13 -12
  148. package/skills/cometchat-flutter-v6-push/SKILL.md +41 -19
  149. package/skills/cometchat-flutter-v6-testing/SKILL.md +4 -4
  150. package/skills/cometchat-flutter-v6-theming/SKILL.md +38 -5
  151. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +182 -17
  152. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +12 -4
  153. package/skills/cometchat-i18n/SKILL.md +139 -78
  154. package/skills/cometchat-ios/SKILL.md +4 -2
  155. package/skills/cometchat-ios-calls/SKILL.md +225 -95
  156. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +11 -9
  157. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +45 -0
  158. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +6 -7
  159. package/skills/cometchat-ios-calls/references/call-layouts.md +31 -91
  160. package/skills/cometchat-ios-calls/references/call-session.md +51 -54
  161. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +33 -29
  162. package/skills/cometchat-ios-calls/references/custom-ui.md +38 -38
  163. package/skills/cometchat-ios-calls/references/group-calls.md +33 -70
  164. package/skills/cometchat-ios-calls/references/idle-timeout.md +24 -25
  165. package/skills/cometchat-ios-calls/references/in-call-chat.md +19 -23
  166. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +128 -70
  167. package/skills/cometchat-ios-calls/references/picture-in-picture.md +20 -20
  168. package/skills/cometchat-ios-calls/references/raise-hand.md +14 -227
  169. package/skills/cometchat-ios-calls/references/recording-screen-share.md +35 -122
  170. package/skills/cometchat-ios-calls/references/ringing-integration.md +17 -16
  171. package/skills/cometchat-ios-calls/references/share-invite.md +8 -12
  172. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +4 -4
  173. package/skills/cometchat-ios-components/SKILL.md +200 -12
  174. package/skills/cometchat-ios-core/SKILL.md +173 -45
  175. package/skills/cometchat-ios-customization/SKILL.md +276 -110
  176. package/skills/cometchat-ios-features/SKILL.md +64 -36
  177. package/skills/cometchat-ios-placement/SKILL.md +15 -12
  178. package/skills/cometchat-ios-production/SKILL.md +12 -4
  179. package/skills/cometchat-ios-push/SKILL.md +53 -19
  180. package/skills/cometchat-ios-testing/SKILL.md +14 -9
  181. package/skills/cometchat-ios-theming/SKILL.md +39 -3
  182. package/skills/cometchat-ios-troubleshooting/SKILL.md +41 -21
  183. package/skills/cometchat-native-bare-patterns/SKILL.md +34 -17
  184. package/skills/cometchat-native-calls/SKILL.md +28 -16
  185. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +2 -2
  186. package/skills/cometchat-native-calls/references/call-layouts.md +15 -14
  187. package/skills/cometchat-native-calls/references/call-session.md +2 -2
  188. package/skills/cometchat-native-calls/references/custom-ui.md +12 -8
  189. package/skills/cometchat-native-calls/references/device-management.md +53 -30
  190. package/skills/cometchat-native-calls/references/group-calls.md +35 -30
  191. package/skills/cometchat-native-calls/references/idle-timeout.md +6 -6
  192. package/skills/cometchat-native-calls/references/in-call-chat.md +10 -8
  193. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +2 -2
  194. package/skills/cometchat-native-calls/references/raise-hand.md +15 -13
  195. package/skills/cometchat-native-calls/references/recording-screen-share.md +49 -170
  196. package/skills/cometchat-native-calls/references/share-invite.md +7 -5
  197. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +4 -2
  198. package/skills/cometchat-native-components/SKILL.md +84 -52
  199. package/skills/cometchat-native-core/SKILL.md +101 -32
  200. package/skills/cometchat-native-customization/SKILL.md +150 -28
  201. package/skills/cometchat-native-expo-patterns/SKILL.md +57 -26
  202. package/skills/cometchat-native-features/SKILL.md +23 -16
  203. package/skills/cometchat-native-placement/SKILL.md +19 -10
  204. package/skills/cometchat-native-production/SKILL.md +9 -3
  205. package/skills/cometchat-native-push/SKILL.md +2 -1
  206. package/skills/cometchat-native-testing/SKILL.md +1 -2
  207. package/skills/cometchat-native-theming/SKILL.md +54 -29
  208. package/skills/cometchat-native-troubleshooting/SKILL.md +9 -3
  209. package/skills/cometchat-nextjs-patterns/SKILL.md +20 -6
  210. package/skills/cometchat-placement/SKILL.md +42 -3
  211. package/skills/cometchat-production/SKILL.md +12 -5
  212. package/skills/cometchat-react-calls/SKILL.md +220 -10
  213. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +4 -3
  214. package/skills/cometchat-react-calls/references/call-layouts.md +5 -6
  215. package/skills/cometchat-react-calls/references/call-session.md +1 -1
  216. package/skills/cometchat-react-calls/references/custom-ui.md +61 -15
  217. package/skills/cometchat-react-calls/references/device-management.md +55 -51
  218. package/skills/cometchat-react-calls/references/group-calls.md +18 -23
  219. package/skills/cometchat-react-calls/references/idle-timeout.md +25 -12
  220. package/skills/cometchat-react-calls/references/in-call-chat.md +7 -7
  221. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +9 -11
  222. package/skills/cometchat-react-calls/references/raise-hand.md +14 -14
  223. package/skills/cometchat-react-calls/references/recording-screen-share.md +39 -38
  224. package/skills/cometchat-react-calls/references/ringing-integration.md +2 -2
  225. package/skills/cometchat-react-calls/references/share-invite.md +4 -5
  226. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +20 -2
  227. package/skills/cometchat-react-calls/references/virtual-background.md +32 -0
  228. package/skills/cometchat-react-patterns/SKILL.md +44 -4
  229. package/skills/cometchat-react-push/SKILL.md +258 -72
  230. package/skills/cometchat-react-router-patterns/SKILL.md +10 -4
  231. package/skills/cometchat-react-testing/SKILL.md +14 -5
  232. package/skills/cometchat-theming/SKILL.md +181 -18
  233. package/skills/cometchat-troubleshooting/SKILL.md +40 -20
@@ -3,7 +3,6 @@ name: cometchat-native-components
3
3
  description: "Component catalog for the CometChat React Native UI Kit v5 — names, props, slot views, request builders, hide flags, style shape. Always loaded before writing CometChat* JSX."
4
4
  license: "MIT"
5
5
  compatibility: "Node.js >=18; React Native >=0.70; @cometchat/chat-uikit-react-native ^5"
6
- allowed-tools: "shell, file-read, file-search, file-list, ask-user"
7
6
  metadata:
8
7
  author: "CometChat"
9
8
  version: "3.0.0"
@@ -16,7 +15,7 @@ Teaches Claude every component the React Native UI Kit exports, with the props,
16
15
 
17
16
  **Read this skill before writing any `<CometChat*>` JSX.**
18
17
 
19
- Ground truth: `packages/ChatUiKit/src/index.ts` from the UI Kit source + `docs/ui-kit/react-native/components-overview.mdx` + per-component doc pages.
18
+ Ground truth: `packages/ChatUiKit/src/index.ts` from the UI Kit source + `docs/ui-kit/react-native/components-overview.mdx` + per-component doc pages. **Official docs:** https://www.cometchat.com/docs/ui-kit/react-native/components-overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP).
20
19
 
21
20
  ---
22
21
 
@@ -24,6 +23,8 @@ Ground truth: `packages/ChatUiKit/src/index.ts` from the UI Kit source + `docs/u
24
23
 
25
24
  The React Native UI Kit is a set of independent components that you compose into chat layouts. Three patterns cover almost every use case:
26
25
 
26
+ > ⛔ **Only the components in THIS catalog exist — do not invent or recall names from v4/older memory.** Before emitting ANY `CometChat*` component, confirm it's in this catalog; if it's not here, it doesn't exist (→ unresolved-import build failure). **There is no all-in-one component:** the v4 composites `CometChatConversationsWithMessages`, `CometChatUsersWithMessages`, `CometChatGroupsWithMessages`, the `CometChatMessages` composite, and the `CometChatUI` god-component are all **absent in this RN kit** (verified against its exports) — compose the panes yourself per the table below. This is the #1 v4-memory hallucination.
27
+
27
28
  | Pattern | Components |
28
29
  |---|---|
29
30
  | **Two-pane** (inbox) | `CometChatConversations` + `CometChatMessageHeader` + `CometChatMessageList` + `CometChatMessageComposer` |
@@ -44,13 +45,13 @@ Four prop families you'll see across the catalog:
44
45
  |---|---|---|
45
46
  | **Callback** | `on<Event>={(param) => void}` | `onItemPress={(conv) => ...}` • `onError={(err) => ...}` • `onSendButtonPress={(msg) => ...}` |
46
47
  | **Request builder** | `<entity>RequestBuilder={new CometChat.<Entity>RequestBuilder()}` | `conversationsRequestBuilder={new CometChat.ConversationsRequestBuilder().setLimit(20)}` |
47
- | **Hide / visibility toggle** | `hide<Feature>={boolean}` \| `<feature>Visibility={boolean}` | `hideReceipts={true}` • `hideReplyInThreadOption={true}` |
48
- | **View slot (replace a section)** | `<Slot>View={(params) => JSX}` — **PascalCase**, returns JSX | `TitleView={(user, group) => <MyTitle />}` • `LeadingView={(u, g) => <MyAvatar />}` |
49
- | **Style** | `style={{ containerStyle: {}, itemStyle: { ... } }}` | see § 13 Style shape |
48
+ | **Hide / visibility toggle** | `hide<Feature>={boolean}` \| `<feature>Visibility={boolean}` | `receiptsVisibility={true}` • `hideReplyInThreadOption={true}` |
49
+ | **View slot (replace a section)** | `<Slot>View={(params) => JSX}` — **PascalCase**, returns JSX | `TitleView={({ user, group }) => <MyTitle />}` • `LeadingView={({ user, group }) => <MyAvatar />}` |
50
+ | **Style** | `style={{ containerStyle: {}, itemStyle: { ... } }}` | see § 14 Style shape |
50
51
 
51
52
  **On-events take positional args, not an event object.** `onItemPress={(conversation) => ...}` receives the `CometChat.Conversation` directly — no `event.target`.
52
53
 
53
- **Slot views are capitalized**: `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `EmptyStateView`, `ErrorStateView`, `LoadingStateView`, `AuxiliaryButtonView`. Each slot function gets the same props the default view would have (usually `user, group` or a single entity).
54
+ **Slot views are capitalized**: `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `EmptyView`, `ErrorView`, `LoadingView`, `AuxiliaryButtonView`, `ItemView`. Each slot function receives a **single destructured object** typically `({ user, group }) => JSX` NOT positional `(user, group)` args.
54
55
 
55
56
  **Style is nested objects.** Top-level `style` accepts `containerStyle` (outermost wrapper) then component-specific keys. Each inner style is a regular React Native `StyleSheet` object.
56
57
 
@@ -79,12 +80,12 @@ import { CometChat } from "@cometchat/chat-sdk-react-native";
79
80
  }}
80
81
  onError={(err) => console.error(err)}
81
82
  hideHeader={false}
82
- hideReceipts={false}
83
+ receiptsVisibility={true}
83
84
  style={{ containerStyle: { backgroundColor: "#fff" } }}
84
85
  />
85
86
  ```
86
87
 
87
- Key props: `conversationsRequestBuilder`, `onItemPress`, `onItemLongPress`, `onError`, `onEmpty`, `hideReceipts`, `hideHeader`, `hideSearch`, `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `EmptyStateView`, `ErrorStateView`, `LoadingStateView`, `BackdropView`, `style`.
88
+ Key props: `conversationsRequestBuilder`, `onItemPress`, `onItemLongPress`, `onError`, `onEmpty`, `receiptsVisibility` (default `true`), `hideHeader`, `showSearchBar` (default `false`), `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `EmptyView`, `ErrorView`, `LoadingView`, `style`.
88
89
 
89
90
  ### CometChatUsers
90
91
 
@@ -93,11 +94,11 @@ Key props: `conversationsRequestBuilder`, `onItemPress`, `onItemLongPress`, `onE
93
94
  usersRequestBuilder={new CometChat.UsersRequestBuilder().setLimit(30)}
94
95
  onItemPress={(user) => openChatWith(user)}
95
96
  searchKeyword=""
96
- hideStatus={false}
97
+ usersStatusVisibility={true}
97
98
  />
98
99
  ```
99
100
 
100
- Key props: `usersRequestBuilder`, `onItemPress`, `onError`, `onEmpty`, `searchKeyword`, `hideStatus`, `hideSearch`, `LeadingView`, `TitleView`, `SubtitleView`, `EmptyStateView`, `ErrorStateView`, `LoadingStateView`, `style`.
101
+ Key props: `usersRequestBuilder`, `onItemPress`, `onError`, `onEmpty`, `searchKeyword`, `usersStatusVisibility` (default `true`), `LeadingView`, `TitleView`, `SubtitleView`, `EmptyView`, `ErrorView`, `LoadingView`, `style`.
101
102
 
102
103
  ### CometChatGroups
103
104
 
@@ -110,7 +111,7 @@ Key props: `usersRequestBuilder`, `onItemPress`, `onError`, `onEmpty`, `searchKe
110
111
  />
111
112
  ```
112
113
 
113
- Key props: same shape as Users, with `groupsRequestBuilder` instead.
114
+ Key props: same shape as Users, with `groupsRequestBuilder` instead — plus a `hideSearch` flag (Groups has one; Users does not). Slot views are `EmptyView` / `ErrorView` / `LoadingView`.
114
115
 
115
116
  ### CometChatGroupMembers
116
117
 
@@ -126,7 +127,7 @@ Key props: same shape as Users, with `groupsRequestBuilder` instead.
126
127
  />
127
128
  ```
128
129
 
129
- Key props: `group` (**required** — pass a `CometChat.Group` instance), `groupMemberRequestBuilder`, `onItemPress`, `onError`, `onBack`, `hideKickMemberOption`, `hideBanMemberOption`, `hideChangeScopeOption`, slot views for each row section, `style`.
130
+ Key props: `group` (**required** — pass a `CometChat.Group` instance), `groupMemberRequestBuilder`, `onItemPress`, `onError` (no args — `() => void`), `showBackButton` (toggle the back button; there is no `onBack` prop), `hideKickMemberOption`, `hideBanMemberOption`, `hideScopeChangeOption`, slot views for each row section, `style`.
130
131
 
131
132
  ---
132
133
 
@@ -137,15 +138,15 @@ Key props: `group` (**required** — pass a `CometChat.Group` instance), `groupM
137
138
  ```tsx
138
139
  <CometChatMessageHeader
139
140
  user={selectedUser} // OR group — never both
140
- hideBackButton={false}
141
+ showBackButton={true}
141
142
  onBack={() => navigation.goBack()}
142
- AuxiliaryButtonView={(user, group) => <CometChatCallButtons user={user} group={group} />}
143
- TitleView={(user, group) => <CustomTitle />}
144
- SubtitleView={(user, group) => <CustomSubtitle />}
143
+ AuxiliaryButtonView={({ user, group }) => <CometChatCallButtons user={user} group={group} />}
144
+ TitleView={({ user, group }) => <CustomTitle />}
145
+ SubtitleView={({ user, group }) => <CustomSubtitle />}
145
146
  />
146
147
  ```
147
148
 
148
- Key props: `user` OR `group` (one required), `hideBackButton`, `hideVideoCallButton`, `hideVoiceCallButton`, `onBack`, `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `AuxiliaryButtonView`, `BackButtonIconImageResource`, `style`.
149
+ Key props: `user` OR `group` (one required), `showBackButton` (default `false`), `hideVideoCallButton`, `hideVoiceCallButton`, `onBack`, `TitleView`, `SubtitleView`, `LeadingView`, `TrailingView`, `AuxiliaryButtonView`, `ItemView`, `style`. All slot views take a single object — `({ user, group }) => JSX`, NOT positional `(user, group)`.
149
150
 
150
151
  ### CometChatMessageList
151
152
 
@@ -159,16 +160,16 @@ Scrollable message feed. Handles reactions, receipts, mentions, threads, and med
159
160
  .setUID(selectedUser.getUid())
160
161
  .setLimit(30)
161
162
  }
162
- hideReplyInThreadOption={true} // SEE HARD RULE § 11
163
- hideReceipts={false}
163
+ hideReplyInThreadOption={true} // SEE HARD RULE § 12
164
+ receiptsVisibility={true}
164
165
  onThreadRepliesPress={(message, bubbleView) => openThreadPanel(message)}
165
166
  onError={(err) => console.error(err)}
166
- EmptyStateView={() => <Text>No messages yet</Text>}
167
+ EmptyView={() => <Text>No messages yet</Text>}
167
168
  style={{ containerStyle: { backgroundColor: "#fff" } }}
168
169
  />
169
170
  ```
170
171
 
171
- Key props: `user` OR `group`, `parentMessageId` (for thread replies), `messageRequestBuilder`, `goToMessageId` (scroll-to-message), `searchKeyword` (highlight in bubbles), `textFormatters`, `templates` (custom message type rendering — `CometChatMessageTemplate[]`), `hideReplyInThreadOption` **see hard rule § 11**, `hideReceipts`, `hideReactions`, `hideReplyOption`, `hideEditMessageOption`, `hideDeleteMessageOption`, `hideTranslateMessageOption`, `hideMessagePrivatelyOption`, `hideDateSeparator`, `onThreadRepliesPress`, `onMessageLongPress`, `onError`, all `*StateView` slots, `style`.
172
+ Key props: `user` OR `group`, `parentMessageId` (for thread replies), `messageRequestBuilder`, `goToMessageId` (scroll-to-message), `searchKeyword` (highlight in bubbles), `textFormatters`, `templates` (custom message type rendering — `CometChatMessageTemplate[]`), `hideReplyInThreadOption` **see hard rule § 12**, `receiptsVisibility` (default `true`), `hideReactionOption`, `hideReplyOption`, `hideEditMessageOption`, `hideDeleteMessageOption`, `hideTranslateMessageOption`, `hideMessagePrivatelyOption`, `hideCopyMessageOption`, `hideMessageInfoOption`, `hideFlagMessageOption`, `hideShareMessageOption`, `dateSeparatorPattern` (there is no `hideDateSeparator` flag), `onThreadRepliesPress`, `onError`, `EmptyView` / `ErrorView` / `LoadingView`, `style`.
172
173
 
173
174
  ### CometChatMessageComposer
174
175
 
@@ -177,7 +178,8 @@ Rich text input. Attachments, mentions, voice notes, sticker picker, reaction ke
177
178
  ```tsx
178
179
  <CometChatMessageComposer
179
180
  user={selectedUser}
180
- placeholderText="Type a message..."
181
+ initialComposertext="Type a message..."
182
+ keyboardAvoidingViewProps={Platform.OS === "android" ? {} : { behavior: "padding" }}
181
183
  onSendButtonPress={(message) => console.log("sent", message)}
182
184
  onError={(err) => console.error(err)}
183
185
  disableMentions={false}
@@ -185,12 +187,14 @@ Rich text input. Attachments, mentions, voice notes, sticker picker, reaction ke
185
187
  new CometChatMentionsFormatter(),
186
188
  new CometChatUrlsFormatter(),
187
189
  ]}
188
- AuxiliaryButtonView={() => <CustomAuxButton />}
189
- attachmentOptions={(user, group) => [ /* CometChatMessageComposerAction[] */ ]}
190
+ AuxiliaryButtonView={({ user, group }) => <CustomAuxButton />}
191
+ attachmentOptions={({ user, group }) => [ /* CometChatMessageComposerAction[] */ ]}
190
192
  />
191
193
  ```
192
194
 
193
- Key props: `user` OR `group`, `parentMessageId` (for thread composer), `placeholderText`, `onSendButtonPress`, `onError`, `onTextChanged`, `disableMentions`, `disableSoundForMessages`, `textFormatters`, `attachmentOptions`, `AuxiliaryButtonView`, `HeaderView`, `SendButtonView`, `VoiceRecordingView`, `AttachmentIconView`, `EmojiIconView`, `style`.
195
+ Key props: `user` OR `group`, `parentMessageId` (for thread composer), `initialComposertext`, `keyboardAvoidingViewProps`, `onSendButtonPress`, `onError`, `onTextChange`, `disableMentions`, `disableSoundForOutgoingMessages`, `textFormatters`, `attachmentOptions` (single-object `({ user, group }) =>`), `HeaderView`, `AuxiliaryButtonView`, `SendButtonView`, `style`.
196
+
197
+ **Keyboard avoidance is the composer's job.** The kit composer owns it via `keyboardAvoidingViewProps` — do **not** wrap Header/List/Composer in an external `KeyboardAvoidingView` (the kit sample app does not). Pass `{ behavior: "padding" }` on iOS, `{}` on Android (Android relies on the manifest's `android:windowSoftInputMode="adjustResize"`).
194
198
 
195
199
  ### CometChatCompactMessageComposer
196
200
 
@@ -204,7 +208,7 @@ Compact variant for small screens. Auto-expanding input, rich-text, attachments.
204
208
  />
205
209
  ```
206
210
 
207
- Use this instead of `CometChatMessageComposer` in drawers, widgets, or embedded placements. Same prop family.
211
+ Use this instead of `CometChatMessageComposer` in drawers, widgets, or embedded placements. Same prop family — but note the placeholder prop here is `placeHolderText` (capital H), distinct from the standard composer's `initialComposertext`.
208
212
 
209
213
  ### CometChatThreadHeader
210
214
 
@@ -213,11 +217,12 @@ Header for a threaded reply view — parent message + reply count + close.
213
217
  ```tsx
214
218
  <CometChatThreadHeader
215
219
  parentMessage={threadParent}
216
- onClose={() => setThreadMessage(null)}
217
- hideReplyCount={false}
220
+ replyCountVisibility={true}
218
221
  />
219
222
  ```
220
223
 
224
+ Key props: `parentMessage` (**required** — a `CometChat.BaseMessage`), `template` (`CometChatMessageTemplate`), `replyCountVisibility` (default `true`), `style`. There is no `onClose` prop — drive the panel's visibility from the parent's own state (see the threading composition below).
225
+
221
226
  **Threading composition:**
222
227
 
223
228
  ```tsx
@@ -232,7 +237,6 @@ Header for a threaded reply view — parent message + reply count + close.
232
237
  <>
233
238
  <CometChatThreadHeader
234
239
  parentMessage={threadMessage}
235
- onClose={() => setThreadMessage(null)}
236
240
  />
237
241
  <CometChatMessageList
238
242
  user={selectedUser}
@@ -259,13 +263,14 @@ Voice + video call initiators. Drop into `AuxiliaryButtonView` on `CometChatMess
259
263
  ```tsx
260
264
  <CometChatCallButtons
261
265
  user={selectedUser}
262
- onVoiceCallPress={(session) => navigation.navigate("OngoingCall", { session })}
263
- onVideoCallPress={(session) => navigation.navigate("OngoingCall", { session })}
264
266
  hideVideoCallButton={false}
265
267
  hideVoiceCallButton={false}
268
+ onError={(err) => console.error(err)}
266
269
  />
267
270
  ```
268
271
 
272
+ Key props: `user` OR `group`, `hideVideoCallButton`, `hideVoiceCallButton`, `callSettingsBuilder`, `onError`. There are no `onVoiceCallPress` / `onVideoCallPress` props — the kit initiates the call and emits the outgoing-call event itself (see `cometchat-native-features` §3d for wiring the resulting overlay).
273
+
269
274
  ### CometChatIncomingCall
270
275
 
271
276
  Incoming call notification. **Parent-controlled — must be conditionally rendered when an incoming-call event fires on `CometChat.addCallListener`'s `onIncomingCallReceived`.** Render at the app root so it's visible on any screen.
@@ -288,7 +293,7 @@ Ringing-while-calling screen. **Parent-controlled — NOT auto-mounted by `Comet
288
293
  ```tsx
289
294
  <CometChatOutgoingCall
290
295
  call={outgoingCall}
291
- onClosePress={() => {}}
296
+ onEndCallButtonPressed={(call) => {}}
292
297
  />
293
298
  ```
294
299
 
@@ -299,8 +304,7 @@ In-call UI — tiles, controls, mute, end-call. **Parent-controlled — NOT auto
299
304
  ```tsx
300
305
  <CometChatOngoingCall
301
306
  sessionID={session.sessionId}
302
- callType="audio" // or "video"
303
- onCallEnded={() => navigation.goBack()}
307
+ callSettingsBuilder={callSettingsBuilder} // REQUIRED — a CometChatCalls.CallSettingsBuilder
304
308
  />
305
309
  ```
306
310
 
@@ -310,7 +314,7 @@ Scrollable call history.
310
314
 
311
315
  ```tsx
312
316
  <CometChatCallLogs
313
- callLogsRequestBuilder={/* CallLogRequest builder from calls-sdk */}
317
+ callLogRequestBuilder={/* CallLogRequest builder from calls-sdk */}
314
318
  onItemPress={(callLog) => openCallDetails(callLog)}
315
319
  />
316
320
  ```
@@ -352,14 +356,14 @@ Full-featured search across conversations + messages + users + groups. Scoped to
352
356
  uid={selectedUser?.getUid()} // optional — scope to one user's chat
353
357
  guid={selectedGroup?.getGuid()} // optional — scope to one group
354
358
  onBack={() => setShowSearch(false)}
355
- onConversationPress={(conv) => openConversation(conv)}
356
- onMessagePress={(msg) => scrollToMessage(msg)}
359
+ onConversationClicked={(conv, searchKeyword) => openConversation(conv)}
360
+ onMessageClicked={(msg, searchKeyword) => scrollToMessage(msg)}
357
361
  />
358
362
  ```
359
363
 
360
- Key props: `uid` / `guid` (scope), `searchKeyword`, `onBack`, `onConversationPress`, `onMessagePress`, `onUserPress`, `onGroupPress`, `hideConversations`, `hideMessages`, `hideUsers`, `hideGroups`, `style`.
364
+ Key props: `uid` / `guid` (scope), `searchKeyword`, `onBack`, `onConversationClicked` (`(conversation, searchKeyword?) => void`), `onMessageClicked` (`(message, searchKeyword?) => void`), `searchIn` (`CometChatSearchScope[]` — controls which categories are searched; there are no per-category `hide*` flags or `onUserPress` / `onGroupPress` callbacks), `style`.
361
365
 
362
- Wire from `CometChatMessageHeader`'s `onSearchPress`.
366
+ Mount it from your own UI (e.g. a search button in your screen's app bar) — `CometChatMessageHeader` does not expose a search callback.
363
367
 
364
368
  > **Hard rule — never roll your own search.** Any request involving
365
369
  > "search", "find messages", "search conversations", or "search across
@@ -371,7 +375,35 @@ Wire from `CometChatMessageHeader`'s `onSearchPress`.
371
375
 
372
376
  ---
373
377
 
374
- ## 6. Atoms (primitives for custom composition)
378
+ ## 6. Notifications
379
+
380
+ ### CometChatNotificationFeed
381
+
382
+ In-app notification feed UI — a full-screen, scrollable list of campaign/promotional notifications, each rendered as a native card (via `@cometchat/cards-react-native`). Handles fetching, pagination (infinite scroll), category filter chips, timestamp grouping, real-time WebSocket updates, pull-to-refresh, and read/delivered/engagement reporting automatically.
383
+
384
+ > **NOT push configuration.** This renders the in-app feed of received notifications. It does NOT set up push delivery (FCM/APNs token registration, dashboard providers, background wake). For that, see `cometchat-native-push`.
385
+
386
+ ```tsx
387
+ <CometChatNotificationFeed
388
+ showBackButton={true}
389
+ onBackPress={() => navigation.goBack()}
390
+ onItemClick={(item) => openDetail(item)}
391
+ onActionClick={(item, action) => {
392
+ const { type, params, elementId } = action; // e.g. type "openUrl" → params.url
393
+ }}
394
+ notificationFeedRequestBuilder={
395
+ new CometChat.NotificationFeedRequestBuilder().setLimit(30).build()
396
+ }
397
+ />
398
+ ```
399
+
400
+ Drop it into a screen/navigation destination — it manages its own data, state, and listeners; you only handle navigation callbacks. Renders with zero props (`<CometChatNotificationFeed />`) given an initialized SDK + logged-in user.
401
+
402
+ Key props: `title` (default `"Notifications"`), `showHeader` (default `true`), `showBackButton` (default `false`), `showFilterChips` (default `true`), `scrollToItemId` (deep-link to one item), `notificationFeedRequestBuilder` (`CometChat.NotificationFeedRequestBuilder`), `notificationCategoriesRequestBuilder` (`CometChat.NotificationCategoriesRequestBuilder`), `onItemClick` (`(feedItem) => void`), `onActionClick` (`(feedItem, action: { type, params, elementId }) => void`), `onError` (`(error: CometChat.CometChatException) => void`), `onBackPress` (`() => void`), `cardThemeMode` (`"auto" | "light" | "dark"`, default `"auto"`), `cardThemeOverride`, `style`. Slot views are `HeaderView` / `EmptyView` / `ErrorView` / `LoadingView` (each `() => JSX.Element`).
403
+
404
+ ---
405
+
406
+ ## 7. Atoms (primitives for custom composition)
375
407
 
376
408
  Building blocks the higher-level components use internally. Use inside `<Slot>View` overrides or custom screens.
377
409
 
@@ -398,7 +430,7 @@ All atoms take `style={}` in the same nested-object shape.
398
430
 
399
431
  ---
400
432
 
401
- ## 7. Bubbles
433
+ ## 8. Bubbles
402
434
 
403
435
  The message list renders bubbles automatically based on message type. Use them directly only when you need a custom bubble template.
404
436
 
@@ -423,7 +455,7 @@ Extension-provided bubbles (only present if the extension is registered):
423
455
 
424
456
  ---
425
457
 
426
- ## 8. Formatters (custom text rendering)
458
+ ## 9. Formatters (custom text rendering)
427
459
 
428
460
  Pass via `CometChatMessageList.textFormatters` or the composer's same prop.
429
461
 
@@ -449,7 +481,7 @@ See `cometchat-native-customization` for the `extends CometChatTextFormatter` re
449
481
 
450
482
  ---
451
483
 
452
- ## 9. Infrastructure (static classes + event bus)
484
+ ## 10. Infrastructure (static classes + event bus)
453
485
 
454
486
  ### CometChatUIKit
455
487
 
@@ -460,7 +492,7 @@ Static class — init + login + logout + send.
460
492
  | `CometChatUIKit.init(settings)` | Initialize. Must resolve before any component renders. |
461
493
  | `CometChatUIKit.login({ uid })` | Log in (dev mode). **Takes an object**, not `login("...")`. |
462
494
  | `CometChatUIKit.login({ authToken })` | Log in with a server-minted token (production). Same method as dev, different arg. |
463
- | `CometChatUIKit.getLoggedInUser()` | Returns current `CometChat.User` or `null` (Promise). |
495
+ | `CometChatUIKit.getLoggedInUser()` | Returns the current `CometChat.User` (Promise). **Throws `code: "NOT_FOUND"` when there is no session** — wrap in try/catch (see core §2). |
464
496
  | `CometChatUIKit.logout()` | Log out + clear session. |
465
497
  | `CometChatUIKit.sendCustomMessage(msg)` | Send custom message (used by calling, extensions). |
466
498
  | `CometChatUIKit.uiKitSettings` | Read back the settings passed to `init()`. |
@@ -500,8 +532,8 @@ See `cometchat-native-customization` for recipes.
500
532
  ### CometChatSoundManager
501
533
 
502
534
  ```tsx
503
- import { CometChatSoundManager, SoundOutput } from "@cometchat/chat-uikit-react-native";
504
- CometChatSoundManager.play(SoundOutput.incomingMessage);
535
+ import { CometChatSoundManager } from "@cometchat/chat-uikit-react-native";
536
+ CometChatSoundManager.play("incomingMessage"); // string key; SoundOutput is a static member of CometChatSoundManager, not a named export
505
537
  ```
506
538
 
507
539
  ### DataSource / DataSourceDecorator / MessageDataSource / ExtensionsDataSource / ChatConfigurator
@@ -510,7 +542,7 @@ Lower-level extension points for deep customization. `cometchat-native-customiza
510
542
 
511
543
  ---
512
544
 
513
- ## 10. Extensions (opt-in)
545
+ ## 11. Extensions (opt-in)
514
546
 
515
547
  Extensions add message types + features that are toggled on the app's backend (via `cometchat apply-feature <id>` for boolean extensions and AI features, or via the dashboard for third-party-key extensions like Giphy / Stipop). Each ships its own bubble + composer action. Register via the `extensions` field on `CometChatUIKit.init({ ... })`.
516
548
 
@@ -528,7 +560,7 @@ See `cometchat-native-features` for the per-extension recipe — most are pure b
528
560
 
529
561
  ---
530
562
 
531
- ## 11. Hard rule — `hideReplyInThreadOption` is mandatory on every MessageList
563
+ ## 12. Hard rule — `hideReplyInThreadOption` is mandatory on every MessageList
532
564
 
533
565
  **Every `<CometChatMessageList>` MUST include `hideReplyInThreadOption`** unless the integration also wires a full thread panel (`CometChatThreadHeader` + scoped `CometChatMessageList` with `parentMessageId` + scoped `CometChatMessageComposer` with `parentMessageId`).
534
566
 
@@ -538,13 +570,13 @@ Every example in this catalog includes the flag for a reason — keep it. The on
538
570
 
539
571
  ---
540
572
 
541
- ## 12. Common prop-finding recipe
573
+ ## 13. Common prop-finding recipe
542
574
 
543
575
  When a user's request isn't obviously covered, check in this order before writing custom code:
544
576
 
545
577
  1. **Named component in this catalog fits?** ("show call history" → `CometChatCallLogs`).
546
- 2. **A `hide*` / visibility prop?** ("hide receipts" → `hideReceipts={true}`, not custom bubbles).
547
- 3. **A `<Slot>View` prop?** ("customize the header title" → `TitleView={(u, g) => <MyTitle />}`, not a wholesale header replacement).
578
+ 2. **A `hide*` / visibility prop?** ("hide receipts" → `receiptsVisibility={false}`, not custom bubbles).
579
+ 3. **A `<Slot>View` prop?** ("customize the header title" → `TitleView={({ user, group }) => <MyTitle />}`, not a wholesale header replacement).
548
580
  4. **A `*RequestBuilder`?** ("filter conversations" → `conversationsRequestBuilder` with `.setUserTags([...])`, not post-render filtering).
549
581
  5. **`textFormatters` + `templates`** for message-rendering customization.
550
582
  6. **`CometChatUIEventHandler`** for cross-component communication.
@@ -554,7 +586,7 @@ Never hand-roll a bubble, a header, or a list when the kit ships one — you'll
554
586
 
555
587
  ---
556
588
 
557
- ## 13. Style shape reference
589
+ ## 14. Style shape reference
558
590
 
559
591
  Every style prop follows a nested-object shape. Pass `style={}` for no customization; override only the keys you care about.
560
592