@cometchat/skills 4.4.1 → 5.0.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 (489) hide show
  1. package/.claude-plugin/marketplace.json +55 -0
  2. package/.claude-plugin/plugin.json +14 -0
  3. package/CHANGELOG.md +36 -0
  4. package/README.md +41 -163
  5. package/RULES.md +114 -0
  6. package/bin/cometchat-skills.mjs +1180 -0
  7. package/bin/legacy-skills.json +95 -0
  8. package/catalogs/android-v6.json +1646 -0
  9. package/catalogs/flutter-v6.json +651 -0
  10. package/catalogs/ios-v5.json +1383 -0
  11. package/catalogs/rn-calls-v5.json +134 -0
  12. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  13. package/catalogs/rn-sdk-v4.json +672 -0
  14. package/catalogs/rn-v5.json +449 -0
  15. package/catalogs/rn-v5.symbols.txt +216 -0
  16. package/catalogs/sdk-android-v5.json +514 -0
  17. package/contracts.android-calls-v5.json +122 -0
  18. package/contracts.android-v6.json +135 -0
  19. package/contracts.angular-v5.json +694 -0
  20. package/contracts.flutter-calls-v5.json +77 -0
  21. package/contracts.flutter-v6.json +126 -0
  22. package/contracts.ios-calls-v5.json +67 -0
  23. package/contracts.ios-v5.json +436 -0
  24. package/contracts.json +82 -0
  25. package/contracts.rn-calls-v5.json +77 -0
  26. package/contracts.rn-v5.json +727 -0
  27. package/contracts.sdk-android-v5.json +15 -0
  28. package/contracts.web-calls-v5.json +45 -0
  29. package/features.android-calls-v5.json +246 -0
  30. package/features.android-v6.json +65 -0
  31. package/features.angular-v5.json +521 -0
  32. package/features.flutter-calls-v5.json +286 -0
  33. package/features.flutter-v6.json +484 -0
  34. package/features.ios-calls-v5.json +236 -0
  35. package/features.ios-v5.json +573 -0
  36. package/features.json +61 -0
  37. package/features.rn-calls-v5.json +187 -0
  38. package/features.rn-v5.json +614 -0
  39. package/features.sdk-android-v5.json +40 -0
  40. package/features.sdk-jsv4.json +24 -0
  41. package/features.web-calls-v5.json +108 -0
  42. package/package.json +151 -74
  43. package/peers.yaml +312 -0
  44. package/registry/README.md +31 -0
  45. package/registry/android-calls-v5.json +54 -0
  46. package/registry/android-v6.json +137 -0
  47. package/registry/angular-v5.json +114 -0
  48. package/registry/flutter-calls-v5.json +54 -0
  49. package/registry/flutter-v6.json +119 -0
  50. package/registry/ios-calls-v5.json +59 -0
  51. package/registry/ios-v5.json +97 -0
  52. package/registry/rn-calls-v5.json +59 -0
  53. package/registry/rn-v5.json +129 -0
  54. package/registry/sdk-android-v5.json +53 -0
  55. package/registry/sdk-jsv4.json +53 -0
  56. package/registry/web-calls-v5.json +54 -0
  57. package/registry/web-v7.json +99 -0
  58. package/skills/cometchat/SKILL.md +42 -2096
  59. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  60. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  61. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  62. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  63. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  66. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  67. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  68. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  69. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  70. package/skills/cometchat-android-v6-calls/SKILL.md +128 -411
  71. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  72. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  73. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  74. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  75. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  76. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  77. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  78. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  79. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  80. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  81. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  82. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  83. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  84. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  85. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  86. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  87. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  88. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  89. package/skills/cometchat-android-v6-production/SKILL.md +40 -179
  90. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  91. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  92. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  93. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  94. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  95. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  96. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  97. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  98. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  99. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  100. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  101. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  102. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  103. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  104. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  105. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  106. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  107. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  108. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  109. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  110. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  111. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  112. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  113. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  114. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  115. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  116. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  117. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  118. package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
  119. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  120. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  121. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  122. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  123. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  124. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  125. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  126. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  127. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -387
  128. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  129. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  130. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  131. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  132. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  133. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  134. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  135. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  136. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  137. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  138. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  139. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  140. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
  141. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  142. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  143. package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
  144. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  145. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  146. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  147. package/skills/cometchat-ios-calls/SKILL.md +105 -511
  148. package/skills/cometchat-ios-components/SKILL.md +44 -834
  149. package/skills/cometchat-ios-core/SKILL.md +181 -1068
  150. package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
  151. package/skills/cometchat-ios-core/references/docs-map.md +123 -0
  152. package/skills/cometchat-ios-core/references/install.md +23 -0
  153. package/skills/cometchat-ios-core/references/layout.md +186 -0
  154. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  155. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  156. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  157. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  158. package/skills/cometchat-ios-features/SKILL.md +29 -738
  159. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  160. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  161. package/skills/cometchat-ios-push/SKILL.md +24 -602
  162. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  163. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  164. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  165. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  166. package/skills/cometchat-onboarding/SKILL.md +89 -0
  167. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  168. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  169. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  170. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  171. package/skills/cometchat-onboarding/references/platforms.md +90 -0
  172. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  173. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  174. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  175. package/skills/cometchat-react-native-core/SKILL.md +313 -0
  176. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  177. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  178. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  179. package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
  180. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  181. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  182. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  183. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  184. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  185. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  186. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  187. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  188. package/skills/cometchat-react-native-production/SKILL.md +78 -0
  189. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  190. package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
  191. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  192. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  193. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  194. package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
  195. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  196. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  197. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  198. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  199. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  200. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  201. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  202. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  203. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  204. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  205. package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
  206. package/skills/cometchat-react-v7-core/references/layout.md +158 -0
  207. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  208. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  209. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  210. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  211. package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
  212. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  213. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  214. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  215. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  216. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  217. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  218. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  219. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  220. package/test-suite/README.md +70 -0
  221. package/test-suite/catalogs/android-calls-v5.json +830 -0
  222. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  223. package/test-suite/catalogs/android-v6.json +1646 -0
  224. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  225. package/test-suite/catalogs/angular-v5.json +7587 -0
  226. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  227. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  228. package/test-suite/catalogs/flutter-v6.json +651 -0
  229. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  230. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  231. package/test-suite/catalogs/ios-v5.json +1383 -0
  232. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  233. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  234. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  235. package/test-suite/catalogs/rn-v5.json +449 -0
  236. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  237. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  238. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  239. package/test-suite/catalogs/web-calls-v5.json +195 -0
  240. package/test-suite/catalogs/web-v7.json +1243 -0
  241. package/test-suite/scripts/build-registry.mjs +113 -0
  242. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  243. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  244. package/test-suite/scripts/lint-skills.mjs +909 -0
  245. package/test-suite/scripts/measure-tokens.mjs +169 -0
  246. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  247. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  248. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  249. package/test-suite/scripts/verify-catalog.mjs +242 -0
  250. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  251. package/test-suite/scripts/verify-detection.mjs +178 -0
  252. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  253. package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
  254. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  255. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  256. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  257. package/test-suite/typecheck/angular-v5/package.json +21 -0
  258. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  259. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  260. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  261. package/test-suite/typecheck/web-v7/package.json +18 -0
  262. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  263. package/bin/install.js +0 -1003
  264. package/skills/.claude-plugin/marketplace.json +0 -86
  265. package/skills/cometchat/references/asking-questions.md +0 -48
  266. package/skills/cometchat-a11y/SKILL.md +0 -477
  267. package/skills/cometchat-android-v5/SKILL.md +0 -121
  268. package/skills/cometchat-android-v5-calls/SKILL.md +0 -427
  269. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  270. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  271. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  272. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  273. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  274. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  275. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  276. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  277. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  278. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  279. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  280. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  281. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  282. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  283. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  284. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  285. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  286. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  287. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  288. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  289. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  290. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  291. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  292. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  293. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  294. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  295. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  296. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  297. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  298. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  299. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  300. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  301. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  302. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  303. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  304. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  305. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  306. package/skills/cometchat-android-v6/SKILL.md +0 -108
  307. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  308. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  309. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  310. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  311. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  312. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  313. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  314. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  315. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  316. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  317. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  318. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  319. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  320. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  321. package/skills/cometchat-angular-calls/SKILL.md +0 -378
  322. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  323. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  324. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  325. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  326. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  327. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  328. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  329. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  330. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  331. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  332. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  333. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  334. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  335. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  336. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  337. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  338. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  339. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  340. package/skills/cometchat-angular-components/SKILL.md +0 -235
  341. package/skills/cometchat-angular-core/SKILL.md +0 -386
  342. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  343. package/skills/cometchat-angular-features/SKILL.md +0 -329
  344. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  345. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  346. package/skills/cometchat-angular-production/SKILL.md +0 -564
  347. package/skills/cometchat-angular-push/SKILL.md +0 -389
  348. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  349. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  350. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  351. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  352. package/skills/cometchat-calls/SKILL.md +0 -364
  353. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  354. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  355. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  356. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  357. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  358. package/skills/cometchat-components/SKILL.md +0 -1142
  359. package/skills/cometchat-core/SKILL.md +0 -1048
  360. package/skills/cometchat-customization/SKILL.md +0 -580
  361. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  362. package/skills/cometchat-features/SKILL.md +0 -861
  363. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  364. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -453
  365. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  366. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  367. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  368. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  369. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  370. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  371. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  372. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  373. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  374. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  375. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  376. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  377. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  378. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  379. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  380. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  381. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  382. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  383. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  384. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  385. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  386. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  387. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  388. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  389. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  390. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  391. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  392. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  393. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  394. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  395. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  396. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  397. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  398. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  399. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  400. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  401. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  402. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  403. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  404. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  405. package/skills/cometchat-i18n/SKILL.md +0 -419
  406. package/skills/cometchat-ios/SKILL.md +0 -325
  407. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -174
  408. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  409. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  410. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  411. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  412. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  413. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  414. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  415. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  416. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  417. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  418. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  419. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  420. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  421. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  422. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  423. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  424. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  425. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  426. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  427. package/skills/cometchat-ios-production/SKILL.md +0 -738
  428. package/skills/cometchat-ios-testing/SKILL.md +0 -376
  429. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  430. package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
  431. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  432. package/skills/cometchat-native-calls/SKILL.md +0 -669
  433. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  434. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  435. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  436. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  437. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  438. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  439. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  440. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  441. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  442. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  443. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  444. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  445. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  446. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  447. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  448. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  449. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  450. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  451. package/skills/cometchat-native-components/SKILL.md +0 -628
  452. package/skills/cometchat-native-core/SKILL.md +0 -679
  453. package/skills/cometchat-native-customization/SKILL.md +0 -716
  454. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  455. package/skills/cometchat-native-features/SKILL.md +0 -638
  456. package/skills/cometchat-native-placement/SKILL.md +0 -509
  457. package/skills/cometchat-native-production/SKILL.md +0 -700
  458. package/skills/cometchat-native-push/SKILL.md +0 -594
  459. package/skills/cometchat-native-testing/SKILL.md +0 -582
  460. package/skills/cometchat-native-theming/SKILL.md +0 -681
  461. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  462. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  463. package/skills/cometchat-placement/SKILL.md +0 -1360
  464. package/skills/cometchat-production/SKILL.md +0 -1027
  465. package/skills/cometchat-react-calls/SKILL.md +0 -749
  466. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  467. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  468. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  469. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  470. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  471. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  472. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  473. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  474. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  475. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  476. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  477. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  478. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  479. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  480. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  481. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  482. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  483. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  484. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  485. package/skills/cometchat-react-push/SKILL.md +0 -634
  486. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  487. package/skills/cometchat-react-testing/SKILL.md +0 -413
  488. package/skills/cometchat-theming/SKILL.md +0 -498
  489. package/skills/cometchat-troubleshooting/SKILL.md +0 -294
@@ -1,1003 +0,0 @@
1
- ---
2
- name: cometchat-ios-troubleshooting
3
- description: "Diagnose and fix common CometChat iOS integration issues — build errors, runtime errors, and debugging techniques."
4
- license: "MIT"
5
- compatibility: "CometChatUIKitSwift ^5; iOS 13+"
6
- metadata:
7
- author: "CometChat"
8
- version: "3.0.0"
9
- tags: "chat cometchat ios troubleshooting debugging errors fixes"
10
- ---
11
-
12
- > **Ground truth:** `CometChatUIKitSwift ~> 5` (+ `CometChatCallsSDK ~> 5`) — Pods/SPM `.swiftinterface` + `ui-kit/ios`. **Official docs:** https://www.cometchat.com/docs/ui-kit/ios/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
-
14
- ## Purpose
15
-
16
- This skill helps diagnose and fix common issues when integrating CometChat iOS UI Kit. It covers build errors, runtime errors, and debugging techniques.
17
-
18
- ---
19
-
20
- ## 1. Build Errors
21
-
22
- ### "No such module 'CometChatUIKitSwift'"
23
-
24
- **Cause:** SDK not installed or not linked properly.
25
-
26
- **Solutions:**
27
-
28
- **CocoaPods:**
29
- ```bash
30
- # Clean and reinstall
31
- cd /path/to/your/project
32
- rm -rf Pods Podfile.lock
33
- pod install --repo-update
34
-
35
- # Open workspace (not project!)
36
- open YourApp.xcworkspace
37
- ```
38
-
39
- **Swift Package Manager:**
40
- 1. In Xcode, go to File → Packages → Reset Package Caches
41
- 2. File → Packages → Resolve Package Versions
42
- 3. Clean build folder: Cmd + Shift + K
43
- 4. Build again
44
-
45
- **Check Podfile:**
46
- ```ruby
47
- platform :ios, '13.0'
48
- use_frameworks!
49
-
50
- target 'YourApp' do
51
- pod 'CometChatUIKitSwift', '~> 5.1'
52
- end
53
- ```
54
-
55
- ---
56
-
57
- ### "No such module 'CometChatSDK'"
58
-
59
- **Cause:** Core SDK not installed alongside UI Kit.
60
-
61
- **Solution:** The UI Kit should include the SDK automatically. If not:
62
-
63
- ```ruby
64
- # Podfile
65
- pod 'CometChatUIKitSwift', '~> 5.1'
66
- pod 'CometChatSDK', '~> 4.0' # Add explicitly if needed
67
- ```
68
-
69
- ---
70
-
71
- ### "No such module 'CometChatCallsSDK'"
72
-
73
- **Cause:** Calls SDK not installed but code references it.
74
-
75
- **Solutions:**
76
-
77
- 1. **If you need calls:**
78
- ```ruby
79
- # Podfile
80
- pod 'CometChatCallsSDK', '~> 5.0'
81
- ```
82
-
83
- 2. **If you don't need calls:**
84
- Wrap call-related code in conditional compilation:
85
- ```swift
86
- #if canImport(CometChatCallsSDK)
87
- import CometChatCallsSDK
88
- // Call-related code here
89
- #endif
90
- ```
91
-
92
- ---
93
-
94
- ### "Value of type 'CometChatException' has no member 'localizedDescription'"
95
-
96
- **Cause:** Using wrong property for error description.
97
-
98
- **Solution:** Use `errorDescription` instead of `localizedDescription`:
99
-
100
- ```swift
101
- case .onError(let error):
102
- print(error.errorDescription)
103
- print(error.errorCode)
104
- ```
105
-
106
- `CometChatException` has:
107
- - `errorDescription` — human-readable error message
108
- - `errorCode` — error code string
109
- - `details` — optional dictionary with additional info
110
-
111
- ---
112
-
113
- ### "'CometChatException' is not convertible to 'any Error'"
114
-
115
- **Cause:** Trying to use `CometChatException` with Swift's `Result<T, Error>` type.
116
-
117
- **Solution:** `CometChatException` does NOT conform to Swift's `Error` protocol. Don't use `Result<T, Error>` with CometChat callbacks. Instead, use direct callbacks:
118
-
119
- ```swift
120
- // tier2-expect-error — this block intentionally demonstrates the compile error below
121
- // ❌ WRONG - Don't use Result<T, Error>
122
- func login(completion: @escaping (Result<User, Error>) -> Void) {
123
- CometChatUIKit.login(uid: uid) { result in
124
- switch result {
125
- case .success(let user):
126
- completion(.success(user))
127
- case .onError(let error):
128
- completion(.failure(error)) // ERROR: CometChatException is not Error
129
- }
130
- }
131
- }
132
-
133
- // ✅ CORRECT - Use CometChatException directly
134
- func login(completion: @escaping (User?, CometChatException?) -> Void) {
135
- CometChatUIKit.login(uid: uid) { result in
136
- switch result {
137
- case .success(let user):
138
- completion(user, nil)
139
- case .onError(let error):
140
- completion(nil, error)
141
- @unknown default:
142
- completion(nil, nil)
143
- }
144
- }
145
- }
146
- ```
147
-
148
- ---
149
-
150
- ### "Cannot find 'CometChatConversationsWithMessages' in scope" or "Cannot find 'CometChatMessages' in scope"
151
-
152
- **Cause:** Neither class exists in the kit. They look like "pre-built composite UIViewControllers" but are NOT exported from `CometChatUIKitSwift`. Older docs and AI-generated guides sometimes claim they exist.
153
-
154
- **Solution:** Compose your own `MessagesVC` from the real building blocks (`CometChatMessageHeader` + `CometChatMessageList` + `CometChatMessageComposer`). The pattern is the same one the kit's sample app uses (`SampleApp/View Controllers/CometChat Components/MessagesVC.swift`).
155
-
156
- ```swift
157
- import CometChatUIKitSwift
158
- import CometChatSDK
159
-
160
- let conversations = CometChatConversations()
161
- let navController = UINavigationController(rootViewController: conversations)
162
-
163
- conversations.set(onItemClick: { [weak navController] conversation, _ in
164
- let messagesVC = MessagesVC() // your own VC composing CometChatMessageHeader + List + Composer
165
- if let group = conversation.conversationWith as? Group {
166
- messagesVC.set(group: group)
167
- } else if let user = conversation.conversationWith as? User {
168
- messagesVC.set(user: user)
169
- }
170
- navController?.pushViewController(messagesVC, animated: true)
171
- })
172
- ```
173
-
174
- See `cometchat-ios-components` § 13 ("Custom MessagesVC Implementation") for the full `MessagesVC` source.
175
-
176
- ---
177
-
178
- ### "Cannot find 'CometChatCallLogs' in scope"
179
-
180
- **Cause:** `CometChatCallLogs` requires `CometChatCallsSDK` which is not installed.
181
-
182
- **Solutions:**
183
-
184
- 1. **Install the Calls SDK:**
185
- ```ruby
186
- # Podfile
187
- pod 'CometChatCallsSDK', '~> 5.0'
188
- ```
189
-
190
- 2. **Or wrap in conditional compilation:**
191
- ```swift
192
- #if canImport(CometChatCallsSDK)
193
- let callLogs = CometChatCallLogs()
194
- #else
195
- // Show placeholder or hide calls tab
196
- #endif
197
- ```
198
-
199
- ---
200
-
201
- ### "Duplicate symbols" or "Multiple commands produce"
202
-
203
- **Cause:** Conflicting dependencies or duplicate frameworks.
204
-
205
- **Solutions:**
206
-
207
- 1. **Clean derived data:**
208
- ```bash
209
- rm -rf ~/Library/Developer/Xcode/DerivedData
210
- ```
211
-
212
- 2. **Check for duplicate pods:**
213
- ```bash
214
- pod deintegrate
215
- pod install
216
- ```
217
-
218
- 3. **Check Build Phases:**
219
- - Go to Target → Build Phases → Link Binary With Libraries
220
- - Remove any duplicate frameworks
221
-
222
- ---
223
-
224
- ### "The iOS deployment target is set to X.X, but the range of supported deployment target versions is Y.Y to Z.Z"
225
-
226
- **Cause:** Minimum iOS version mismatch.
227
-
228
- **Solution:**
229
-
230
- 1. Update your project's deployment target to iOS 13.0 or higher
231
- 2. Update Podfile:
232
- ```ruby
233
- platform :ios, '13.0'
234
- ```
235
-
236
- 3. Run:
237
- ```bash
238
- pod install
239
- ```
240
-
241
- ---
242
-
243
- ### "Sandbox: rsync.samba denied"
244
-
245
- **Cause:** Xcode sandbox permission issue (common in Xcode 15+).
246
-
247
- **Solution:**
248
-
249
- 1. Disable User Script Sandboxing in Build Settings:
250
- - Select your app target
251
- - Go to Build Settings
252
- - Search for "User Script Sandboxing"
253
- - Set **ENABLE_USER_SCRIPT_SANDBOXING** to **No**
254
-
255
- 2. Or add to your `Podfile`:
256
- ```ruby
257
- post_install do |installer|
258
- installer.pods_project.targets.each do |target|
259
- target.build_configurations.each do |config|
260
- config.build_settings['ENABLE_USER_SCRIPT_SANDBOXING'] = 'NO'
261
- end
262
- end
263
- end
264
- ```
265
-
266
- 3. Then run:
267
- ```bash
268
- pod install
269
- ```
270
-
271
- 4. Clean and rebuild:
272
- ```bash
273
- rm -rf ~/Library/Developer/Xcode/DerivedData
274
- ```
275
-
276
- ---
277
-
278
- ### "Framework not found" during archive
279
-
280
- **Cause:** Framework search paths issue.
281
-
282
- **Solution:**
283
-
284
- 1. Go to Target → Build Settings
285
- 2. Search for "Framework Search Paths"
286
- 3. Add: `$(inherited)` and `$(PROJECT_DIR)/Pods`
287
- 4. Set "Build Active Architecture Only" to No for Release
288
-
289
- ---
290
-
291
- ## 2. Runtime Errors
292
-
293
- ### "CometChat is not initialized"
294
-
295
- **Cause:** Trying to use CometChat before initialization completes.
296
-
297
- **Solution:**
298
-
299
- ```swift
300
- // ❌ Wrong - using before init completes
301
- CometChatUIKit(uiKitSettings: settings) { _ in }
302
- let conversations = CometChatConversations() // Too early!
303
-
304
- // ✅ Correct - wait for completion
305
- CometChatUIKit(uiKitSettings: settings) { result in
306
- switch result {
307
- case .success:
308
- DispatchQueue.main.async {
309
- let conversations = CometChatConversations()
310
- // Now safe to use
311
- }
312
- case .failure(let error):
313
- print("Init failed: \(error)")
314
- }
315
- }
316
- ```
317
-
318
- ---
319
-
320
- ### "Invalid App ID" or "App not found"
321
-
322
- **Cause:** Wrong App ID or region.
323
-
324
- **Solutions:**
325
-
326
- 1. Verify App ID in CometChat Dashboard
327
- 2. Check region matches (us, eu, or in)
328
- 3. Ensure no extra spaces in credentials
329
-
330
- ```swift
331
- let uiKitSettings = UIKitSettings()
332
- .set(appID: "YOUR_APP_ID") // No spaces!
333
- .set(region: "us") // Lowercase
334
- .build()
335
- ```
336
-
337
- ---
338
-
339
- ### "Invalid Auth Key"
340
-
341
- **Cause:** Wrong or expired Auth Key.
342
-
343
- **Solutions:**
344
-
345
- 1. Get fresh Auth Key from Dashboard → API & Auth Keys
346
- 2. Use the correct key type (Auth Key, not REST API Key)
347
- 3. Check for copy/paste errors
348
-
349
- ---
350
-
351
- ### "User not found" or "UID not found"
352
-
353
- **Cause:** Trying to login with a UID that doesn't exist.
354
-
355
- **Solutions:**
356
-
357
- 1. **Use pre-created test users:**
358
- - `cometchat-uid-1` through `cometchat-uid-5`
359
-
360
- 2. **Create user first:**
361
- ```swift
362
- let user = User(uid: "new-user-123", name: "John Doe")
363
- CometChatUIKit.create(user: user) { result in
364
- switch result {
365
- case .success(let user):
366
- // Now login
367
- CometChatUIKit.login(uid: user.uid ?? "") { _ in }
368
- case .onError(let error):
369
- print("Create failed: \(error)")
370
- }
371
- }
372
- ```
373
-
374
- ---
375
-
376
- ### "Already logged in"
377
-
378
- **Cause:** Calling login when user is already logged in.
379
-
380
- **Solution:**
381
-
382
- ```swift
383
- // Check for existing session first
384
- if let currentUser = CometChatUIKit.getLoggedInUser() {
385
- print("Already logged in as: \(currentUser.name ?? "")")
386
- // Proceed to chat UI
387
- } else {
388
- // Login
389
- CometChatUIKit.login(uid: "user-123") { _ in }
390
- }
391
- ```
392
-
393
- ---
394
-
395
- ### Blank/Empty Conversation List
396
-
397
- **Cause:** No conversations exist for the logged-in user.
398
-
399
- **Solutions:**
400
-
401
- 1. **Send a test message:**
402
- - Go to CometChat Dashboard → Users
403
- - Select another user
404
- - Send a message to your logged-in user
405
-
406
- 2. **Check user is logged in:**
407
- ```swift
408
- if let user = CometChatUIKit.getLoggedInUser() {
409
- print("Logged in as: \(user.uid ?? "")")
410
- } else {
411
- print("Not logged in!")
412
- }
413
- ```
414
-
415
- 3. **Check for errors:**
416
- ```swift
417
- let conversations = CometChatConversations()
418
- conversations.set(onError: { error in
419
- print("Error loading conversations: \(error.errorDescription ?? "")")
420
- })
421
- conversations.set(onEmpty: {
422
- print("No conversations found")
423
- })
424
- ```
425
-
426
- ---
427
-
428
- ### Messages Not Sending
429
-
430
- **Cause:** Various issues with message sending.
431
-
432
- **Solutions:**
433
-
434
- 1. **Check user/group is set:**
435
- ```swift
436
- let composer = CometChatMessageComposer()
437
- composer.set(user: user) // Must be set!
438
- ```
439
-
440
- 2. **Check for errors:**
441
- ```swift
442
- composer.set(onError: { error in
443
- print("Composer error: \((error as? CometChatException)?.errorDescription ?? "")")
444
- })
445
- ```
446
-
447
- 3. **Verify network connection:**
448
- ```swift
449
- import Network
450
-
451
- let monitor = NWPathMonitor()
452
- monitor.pathUpdateHandler = { path in
453
- if path.status == .satisfied {
454
- print("Connected")
455
- } else {
456
- print("No connection")
457
- }
458
- }
459
- monitor.start(queue: DispatchQueue.global())
460
- ```
461
-
462
- ---
463
-
464
- ### Push Notifications Not Working
465
-
466
- **Cause:** Multiple possible issues.
467
-
468
- **Checklist:**
469
-
470
- 1. **Physical device?** Push doesn't work on simulator
471
-
472
- 2. **Permissions granted?**
473
- ```swift
474
- UNUserNotificationCenter.current().getNotificationSettings { settings in
475
- print("Authorization status: \(settings.authorizationStatus.rawValue)")
476
- }
477
- ```
478
-
479
- 3. **Token registered?**
480
- ```swift
481
- func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
482
- let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
483
- print("APNs Token: \(token)")
484
-
485
- // Register with CometChat
486
- CometChat.registerTokenForPushNotification(token: token, settings: ["voip": false]) { success in
487
- print("Token registered: \(success)")
488
- } onError: { error in
489
- print("Token registration failed: \(error?.errorDescription ?? "")")
490
- }
491
- }
492
- ```
493
-
494
- 4. **Certificate uploaded?** Check Dashboard → Notifications → Push Notifications
495
-
496
- 5. **Correct environment?** Development vs Production certificate must match
497
-
498
- ---
499
-
500
- ### Calls Not Working
501
-
502
- **Cause:** Missing SDK or permissions.
503
-
504
- **Checklist:**
505
-
506
- 1. **CometChatCallsSDK installed?**
507
- ```ruby
508
- pod 'CometChatCallsSDK', '~> 5.0'
509
- ```
510
-
511
- 2. **Permissions in Info.plist?**
512
- ```xml
513
- <key>NSCameraUsageDescription</key>
514
- <string>Camera access for video calls</string>
515
- <key>NSMicrophoneUsageDescription</key>
516
- <string>Microphone access for calls</string>
517
- ```
518
-
519
- 3. **Background modes enabled?**
520
- - Audio, AirPlay, and Picture in Picture
521
- - Voice over IP
522
-
523
- 4. **Testing on real device?** Calls don't work on simulator
524
-
525
- 5. **Did you call `CometChatCalls.login(...)`?** ⚠️ **On iOS there is NO `CometChatCalls.login`** — the iOS `CometChatCallsSDK` has no `login`/`joinSession`/`SessionSettingsBuilder`. The authority is the vendored `CometChatCallsSDK.swiftinterface` (`generateToken` / `startSession` / `CallSettingsBuilder` / `CallsEventsDelegate`). The `calls-sdk-ios` repo's own `skills/` describe a *different* API and will mislead you — don't follow them. Default calling works through the UI Kit (`CometChatUIKit` calling-enabled) without a separate calls login; for custom calling, use `generateToken` → `startSession`.
526
-
527
- ### Background push for calls not arriving (Privacy manifest / APNs vs FCM)
528
-
529
- **Cause:** Missing privacy manifest, or an APNs-vs-FCM provider mismatch.
530
-
531
- **Fix:**
532
- - Add a **`PrivacyInfo.xcprivacy`** privacy manifest to the app target (required by App Store review; its absence can also break some push/SDK behaviors).
533
- - Match the **provider** to your token type: if you registered an **APNs** device/VoIP token, the dashboard provider must be **APNs** (`.p8` + Team ID + Key ID, dev-vs-prod environment matching the build); if you route iOS through **FCM**, register with the FCM provider and the `FCM_IOS` platform. A token registered against the wrong provider silently never delivers. See `cometchat-ios-push`.
534
-
535
- ---
536
-
537
- ### Memory Warnings / Crashes
538
-
539
- **Cause:** Memory leaks or retain cycles.
540
-
541
- **Solutions:**
542
-
543
- 1. **Use weak references in closures:**
544
- ```swift
545
- conversations.set(onItemClick: { [weak self] conversation, _ in
546
- self?.openMessages(for: conversation)
547
- })
548
- ```
549
-
550
- 2. **Remove listeners when done:**
551
- ```swift
552
- override func viewWillDisappear(_ animated: Bool) {
553
- super.viewWillDisappear(animated)
554
- CometChatMessageEvents.removeListener("my-listener")
555
- }
556
- ```
557
-
558
- 3. **Profile with Instruments:**
559
- - Product → Profile → Leaks
560
- - Look for CometChat-related leaks
561
-
562
- ---
563
-
564
- ### UI Not Updating
565
-
566
- **Cause:** Updates happening on background thread.
567
-
568
- **Solution:**
569
-
570
- ```swift
571
- // Always update UI on main thread
572
- CometChatUIKit.login(uid: "user-123") { result in
573
- DispatchQueue.main.async {
574
- switch result {
575
- case .success:
576
- self.showConversations()
577
- case .onError(let error):
578
- self.showError(error)
579
- }
580
- }
581
- }
582
- ```
583
-
584
- ---
585
-
586
- ## 3. Debugging Techniques
587
-
588
- ### Inspect SDK errors
589
-
590
- The CometChat iOS SDK has **no public log-level API** (there is no
591
- `CometChat.setLogLevel` / `AppSettingsBuilder` logging toggle). Diagnose by
592
- reading the `CometChatException` handed to each call's `onError` closure:
593
-
594
- ```swift
595
- CometChat.init(appId: appID, appSettings: settings, onSuccess: { _ in
596
- print("CometChat init OK")
597
- }, onError: { error in
598
- // CometChatException → code + message (init's onError is non-optional)
599
- print("init failed:", error.errorCode, error.errorDescription)
600
- })
601
- ```
602
-
603
- ### Check Connection Status
604
-
605
- ```swift
606
- CometChat.addConnectionListener("debug-listener", self)
607
-
608
- extension YourClass: CometChatConnectionDelegate {
609
- func connected() {
610
- print("✅ CometChat connected")
611
- }
612
-
613
- func connecting() {
614
- print("🔄 CometChat connecting...")
615
- }
616
-
617
- func disconnected() {
618
- print("❌ CometChat disconnected")
619
- }
620
- }
621
- ```
622
-
623
- ### Monitor Message Events
624
-
625
- ```swift
626
- class DebugMessageListener: CometChatMessageDelegate {
627
-
628
- func onTextMessageReceived(textMessage: TextMessage) {
629
- print("📩 Text message received: \(textMessage.text ?? "")")
630
- }
631
-
632
- func onMediaMessageReceived(mediaMessage: MediaMessage) {
633
- print("📎 Media message received: \(mediaMessage.messageType)")
634
- }
635
-
636
- func onMessageDeleted(message: BaseMessage) {
637
- print("🗑 Message deleted: \(message.id)")
638
- }
639
- }
640
-
641
- CometChat.addMessageListener("debug-messages", DebugMessageListener())
642
- ```
643
-
644
- ### Network Debugging
645
-
646
- Use Charles Proxy or Proxyman to inspect CometChat API calls:
647
-
648
- 1. Install Charles Proxy
649
- 2. Enable SSL Proxying for `*.cometchat.io`
650
- 3. Install Charles certificate on device/simulator
651
- 4. Monitor requests and responses
652
-
653
- ### Xcode Debugging
654
-
655
- **Breakpoints:**
656
- - Set breakpoints in CometChat callbacks
657
- - Use symbolic breakpoints for CometChat methods
658
-
659
- **Console:**
660
- ```swift
661
- // Print current state
662
- print("User: \(CometChatUIKit.getLoggedInUser()?.uid ?? "none")")
663
- print("Logged in: \(CometChatUIKit.getLoggedInUser() != nil)")
664
- ```
665
-
666
- ---
667
-
668
- ## 4. Common Error Codes
669
-
670
- | Code | Description | Solution |
671
- |---|---|---|
672
- | `ERR_UID_NOT_FOUND` | User doesn't exist | Create user first |
673
- | `ERR_ALREADY_LOGGED_IN` | User already logged in | Check session before login |
674
- | `ERR_NOT_LOGGED_IN` | No active session | Login first |
675
- | `AUTH_ERR_AUTH_TOKEN_NOT_FOUND` | Invalid auth token | Generate new token |
676
- | `ERR_INVALID_APP_ID` | Wrong App ID | Verify in dashboard |
677
- | `ERR_INVALID_API_KEY` | Wrong API/Auth Key | Get correct key from dashboard |
678
- | `ERR_BLOCKED_BY_EXTENSION` | Blocked by extension | Check extension settings |
679
- | `ERR_RATE_LIMIT_EXCEEDED` | Too many requests | Implement rate limiting |
680
- | `ERR_WEBSOCKET_CONNECTION_FAILED` | Connection failed | Check network, retry |
681
-
682
- ---
683
-
684
- ## 5. Performance Issues
685
-
686
- ### Slow Conversation Loading
687
-
688
- **Solutions:**
689
-
690
- 1. **Limit initial fetch:**
691
- ```swift
692
- let conversations = CometChatConversations()
693
- conversations.set(conversationsRequestBuilder: ConversationRequest.ConversationRequestBuilder()
694
- .set(limit: 20) // Reduce initial load
695
- )
696
- ```
697
-
698
- 2. **Enable pagination:**
699
- Conversations automatically paginate. Ensure you're not fetching all at once.
700
-
701
- ### Slow Message Loading
702
-
703
- **Solutions:**
704
-
705
- 1. **Limit message fetch:**
706
- ```swift
707
- let messageList = CometChatMessageList()
708
- messageList.set(messagesRequestBuilder: MessagesRequest.MessageRequestBuilder()
709
- .set(uid: user.uid ?? "")
710
- .set(limit: 30) // Reduce initial load
711
- )
712
- ```
713
-
714
- 2. **Hide unnecessary features:**
715
- ```swift
716
- messageList.hideReceipts = true // If not needed
717
- messageList.hideAvatar = true // If not needed
718
- ```
719
-
720
- ### High Memory Usage
721
-
722
- **Solutions:**
723
-
724
- 1. **Release unused view controllers:**
725
- ```swift
726
- // Don't keep strong references to dismissed VCs
727
- ```
728
-
729
- 2. **Clear image cache if needed:**
730
- ```swift
731
- // CometChat handles image caching internally
732
- // But you can clear URLCache if needed
733
- URLCache.shared.removeAllCachedResponses()
734
- ```
735
-
736
- ---
737
-
738
- ## 6. SwiftUI-Specific Issues
739
-
740
- ### View Not Updating
741
-
742
- **Cause:** SwiftUI not detecting state changes.
743
-
744
- **Solution:**
745
-
746
- ```swift
747
- struct ChatView: View {
748
- @State private var selectedConversation: Conversation?
749
-
750
- var body: some View {
751
- ConversationsWrapper(selectedConversation: $selectedConversation)
752
- .onChange(of: selectedConversation) { newValue in
753
- // Handle selection
754
- }
755
- }
756
- }
757
-
758
- struct ConversationsWrapper: UIViewControllerRepresentable {
759
- @Binding var selectedConversation: Conversation?
760
-
761
- func makeUIViewController(context: Context) -> CometChatConversations {
762
- let vc = CometChatConversations()
763
- vc.set(onItemClick: { conversation, _ in
764
- selectedConversation = conversation
765
- })
766
- return vc
767
- }
768
-
769
- func updateUIViewController(_ uiViewController: CometChatConversations, context: Context) {
770
- // Handle updates if needed
771
- }
772
- }
773
- ```
774
-
775
- ### Navigation Issues
776
-
777
- **Cause:** Mixing UIKit navigation with SwiftUI.
778
-
779
- **Solution:**
780
-
781
- ```swift
782
- struct ChatNavigationView: View {
783
- @State private var path = NavigationPath()
784
-
785
- var body: some View {
786
- NavigationStack(path: $path) {
787
- ConversationsView(onSelect: { conversation in
788
- path.append(conversation)
789
- })
790
- .navigationDestination(for: Conversation.self) { conversation in
791
- MessagesView(conversation: conversation)
792
- }
793
- }
794
- }
795
- }
796
- ```
797
-
798
- ---
799
-
800
- ## 7. Quick Fixes Checklist
801
-
802
- When something isn't working:
803
-
804
- 1. [ ] **Clean build:** Cmd + Shift + K
805
- 2. [ ] **Delete derived data:** `rm -rf ~/Library/Developer/Xcode/DerivedData`
806
- 3. [ ] **Reinstall pods:** `pod deintegrate && pod install`
807
- 4. [ ] **Check credentials:** App ID, Auth Key, Region
808
- 5. [ ] **Check user exists:** Use test users or create first
809
- 6. [ ] **Check network:** Device has internet connection
810
- 7. [ ] **Check permissions:** Camera, microphone, notifications
811
- 8. [ ] **Check main thread:** UI updates on main thread
812
- 9. [ ] **Check completion handlers:** Wait for async operations
813
- 10. [ ] **Inspect errors:** read the `CometChatException` in each call's `onError` (`errorCode` + `errorDescription`) — the SDK has no log-level toggle
814
-
815
- ---
816
-
817
- ## 8. Theming Errors
818
-
819
- ### "Value of type 'MessageBubbleStyle' has no member 'outgoingBackgroundColor'"
820
-
821
- **Cause:** Incorrect property access for message bubble styles.
822
-
823
- **Solution:** Message bubble styles use separate `.incoming` and `.outgoing` style objects, not combined properties:
824
-
825
- ```swift
826
- // ✅ CORRECT - Use separate incoming/outgoing styles
827
- CometChatMessageBubble.style.outgoing.backgroundColor = CometChatTheme.primaryColor
828
- CometChatMessageBubble.style.incoming.backgroundColor = CometChatTheme.neutralColor300
829
-
830
- // For text colors within bubbles
831
- CometChatMessageBubble.style.outgoing.textBubbleStyle.textColor = .white
832
- CometChatMessageBubble.style.incoming.textBubbleStyle.textColor = CometChatTheme.textColorPrimary
833
- ```
834
-
835
- ---
836
-
837
- ### "Value of type 'ConversationsStyle' has no member 'titleColor'"
838
-
839
- **Cause:** Using incorrect property names for component styles.
840
-
841
- **Solution:** Check the actual property names in the style struct:
842
-
843
- ```swift
844
- // ✅ CORRECT ConversationsStyle properties
845
- CometChatConversations.style.listItemTitleTextColor = CometChatTheme.textColorPrimary
846
- CometChatConversations.style.listItemTitleFont = CometChatTypography.Heading4.medium
847
- CometChatConversations.style.listItemSubTitleTextColor = CometChatTheme.textColorSecondary
848
- CometChatConversations.style.listItemSubTitleFont = CometChatTypography.Body.regular
849
- ```
850
-
851
- ---
852
-
853
- ### "Value of type 'MessageComposerStyle' has no member 'inputBackgroundColor'"
854
-
855
- **Cause:** Using incorrect property names for composer style.
856
-
857
- **Solution:** Use the correct property names:
858
-
859
- ```swift
860
- // ✅ CORRECT MessageComposerStyle properties
861
- CometChatMessageComposer.style.composeBoxBackgroundColor = CometChatTheme.backgroundColor01
862
- CometChatMessageComposer.style.composeBoxBorderColor = CometChatTheme.borderColorDefault
863
- CometChatMessageComposer.style.placeHolderTextColor = CometChatTheme.textColorTertiary
864
- CometChatMessageComposer.style.textFiledColor = CometChatTheme.textColorPrimary
865
- CometChatMessageComposer.style.activeSendButtonImageBackgroundColor = CometChatTheme.primaryColor
866
- ```
867
-
868
- ---
869
-
870
- ### "Value of type 'BadgeStyle' has no member 'cornerRadius'" (type mismatch)
871
-
872
- **Cause:** `BadgeStyle.cornerRadius` is `CometChatCornerStyle?`, not a simple value.
873
-
874
- **Solution:**
875
-
876
- ```swift
877
- // ✅ CORRECT - cornerRadius is optional CometChatCornerStyle
878
- CometChatBadge.style.cornerRadius = CometChatCornerStyle(cornerRadius: 8)
879
- // or nil for default pill shape
880
- CometChatBadge.style.cornerRadius = nil
881
- ```
882
-
883
- ---
884
-
885
- ### "Cannot assign value of type 'UIColor' to type 'CGColor'"
886
-
887
- **Cause:** `BadgeStyle.borderColor` is `CGColor`, not `UIColor`.
888
-
889
- **Solution:**
890
-
891
- ```swift
892
- // ✅ CORRECT - use .cgColor
893
- CometChatBadge.style.borderColor = UIColor.clear.cgColor
894
- CometChatBadge.style.borderColor = UIColor.white.cgColor
895
- ```
896
-
897
- ---
898
-
899
- ### Theme Changes Not Applying
900
-
901
- **Cause:** Theme configured after UI is already displayed.
902
-
903
- **Solution:** Configure theme before showing any CometChat UI:
904
-
905
- ```swift
906
- // In AppDelegate or App init, BEFORE showing any CometChat views
907
- func configureTheme() {
908
- CometChatTheme.primaryColor = UIColor.systemBlue
909
- CometChatTheme.backgroundColor01 = UIColor.systemBackground
910
- // ... other theme settings
911
- }
912
-
913
- // Call this before CometChatUIKit.init()
914
- configureTheme()
915
- ```
916
-
917
- ---
918
-
919
- ### "Type 'CometChatSpacing' has no member 'Spacing1'" or similar
920
-
921
- **Cause:** Using incorrect property access for spacing values.
922
-
923
- **Solution:** `CometChatSpacing` uses nested classes, not direct properties:
924
-
925
- ```swift
926
- // ✅ CORRECT - Use nested class syntax
927
- CometChatSpacing.Spacing.s1 = 4
928
- CometChatSpacing.Spacing.s2 = 8
929
- CometChatSpacing.Padding.p1 = 4
930
- CometChatSpacing.Padding.p2 = 8
931
- CometChatSpacing.Radius.r1 = 4
932
- CometChatSpacing.Radius.r2 = 8
933
- CometChatSpacing.Radius.rMax = 1000
934
- CometChatSpacing.Margin.m1 = 4
935
- ```
936
-
937
- ---
938
-
939
- ### "Cannot infer type of closure parameter" or "Cannot infer contextual base"
940
-
941
- **Cause:** Missing type annotations in closures for custom views.
942
-
943
- **Solution:** Always provide explicit type annotations for closure parameters:
944
-
945
- ```swift
946
- import CometChatSDK
947
-
948
- // ✅ CORRECT - Explicit type annotation
949
- users.set(subtitle: { (user: User?) -> UIView in
950
- let label = UILabel()
951
- if user?.status == .online {
952
- label.text = "Online"
953
- label.textColor = .systemGreen
954
- } else {
955
- label.text = "Offline"
956
- label.textColor = .gray
957
- }
958
- return label
959
- })
960
- ```
961
-
962
- Note: Use `set(subtitle:)` method, not direct property assignment. The `User` type is from `CometChatSDK`.
963
-
964
- ---
965
-
966
- ### "Value of type 'CometChatUsers' has no member 'subtitleView'"
967
-
968
- **Cause:** Using wrong property name.
969
-
970
- **Solution:** `CometChatUsers` uses `subtitle`, not `subtitleView`:
971
-
972
- ```swift
973
- // ✅ CORRECT
974
- users.set(subtitle: { (user: User?) -> UIView in
975
- // Return custom view
976
- })
977
-
978
- // Different components use different names:
979
- // - CometChatUsers: set(subtitle:)
980
- // - CometChatConversations: set(subtitleView:)
981
- // - CometChatMessageHeader: set(subtitleView:)
982
- ```
983
-
984
- ---
985
-
986
- ## 10. Getting Help
987
-
988
- ### CometChat Resources
989
-
990
- - **Documentation:** https://www.cometchat.com/docs/ios-uikit
991
- - **GitHub Issues:** https://github.com/cometchat/cometchat-uikit-ios/issues
992
- - **Support:** https://www.cometchat.com/support
993
-
994
- ### Information to Include in Bug Reports
995
-
996
- 1. CometChatUIKitSwift version
997
- 2. iOS version
998
- 3. Xcode version
999
- 4. Device (simulator or physical)
1000
- 5. Error message / stack trace
1001
- 6. Steps to reproduce
1002
- 7. Relevant code snippets
1003
-