@cometchat/skills 4.4.2 → 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 (490) 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/LICENSE +21 -0
  5. package/README.md +41 -163
  6. package/RULES.md +114 -0
  7. package/bin/cometchat-skills.mjs +1180 -0
  8. package/bin/legacy-skills.json +95 -0
  9. package/catalogs/android-v6.json +1646 -0
  10. package/catalogs/flutter-v6.json +651 -0
  11. package/catalogs/ios-v5.json +1383 -0
  12. package/catalogs/rn-calls-v5.json +134 -0
  13. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  14. package/catalogs/rn-sdk-v4.json +672 -0
  15. package/catalogs/rn-v5.json +449 -0
  16. package/catalogs/rn-v5.symbols.txt +216 -0
  17. package/catalogs/sdk-android-v5.json +514 -0
  18. package/contracts.android-calls-v5.json +122 -0
  19. package/contracts.android-v6.json +135 -0
  20. package/contracts.angular-v5.json +694 -0
  21. package/contracts.flutter-calls-v5.json +77 -0
  22. package/contracts.flutter-v6.json +126 -0
  23. package/contracts.ios-calls-v5.json +67 -0
  24. package/contracts.ios-v5.json +436 -0
  25. package/contracts.json +82 -0
  26. package/contracts.rn-calls-v5.json +77 -0
  27. package/contracts.rn-v5.json +727 -0
  28. package/contracts.sdk-android-v5.json +15 -0
  29. package/contracts.web-calls-v5.json +45 -0
  30. package/features.android-calls-v5.json +246 -0
  31. package/features.android-v6.json +65 -0
  32. package/features.angular-v5.json +521 -0
  33. package/features.flutter-calls-v5.json +286 -0
  34. package/features.flutter-v6.json +484 -0
  35. package/features.ios-calls-v5.json +236 -0
  36. package/features.ios-v5.json +573 -0
  37. package/features.json +61 -0
  38. package/features.rn-calls-v5.json +187 -0
  39. package/features.rn-v5.json +614 -0
  40. package/features.sdk-android-v5.json +40 -0
  41. package/features.sdk-jsv4.json +24 -0
  42. package/features.web-calls-v5.json +108 -0
  43. package/package.json +151 -74
  44. package/peers.yaml +312 -0
  45. package/registry/README.md +31 -0
  46. package/registry/android-calls-v5.json +54 -0
  47. package/registry/android-v6.json +137 -0
  48. package/registry/angular-v5.json +114 -0
  49. package/registry/flutter-calls-v5.json +54 -0
  50. package/registry/flutter-v6.json +119 -0
  51. package/registry/ios-calls-v5.json +59 -0
  52. package/registry/ios-v5.json +97 -0
  53. package/registry/rn-calls-v5.json +59 -0
  54. package/registry/rn-v5.json +129 -0
  55. package/registry/sdk-android-v5.json +53 -0
  56. package/registry/sdk-jsv4.json +53 -0
  57. package/registry/web-calls-v5.json +54 -0
  58. package/registry/web-v7.json +99 -0
  59. package/skills/cometchat/SKILL.md +42 -2096
  60. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  61. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  62. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  63. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  66. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  67. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  68. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  69. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  70. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  71. package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
  72. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  73. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  74. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  75. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  76. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  77. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  78. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  79. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  80. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  81. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  82. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  83. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  84. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  85. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  86. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  87. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  88. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  89. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  90. package/skills/cometchat-android-v6-production/SKILL.md +40 -179
  91. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  92. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  93. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  94. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  95. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  96. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  97. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  98. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  99. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  100. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  101. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  102. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  103. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  104. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  105. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  106. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  107. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  108. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  109. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  110. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  111. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  112. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  113. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  114. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  115. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  116. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  117. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  118. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  119. package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
  120. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  121. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  122. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  123. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  124. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  125. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  126. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  127. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  128. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
  129. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  130. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  131. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  132. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  133. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  134. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  135. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  136. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  137. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  138. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  139. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  140. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  141. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
  142. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  143. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  144. package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
  145. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  146. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  147. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  148. package/skills/cometchat-ios-calls/SKILL.md +112 -563
  149. package/skills/cometchat-ios-components/SKILL.md +44 -834
  150. package/skills/cometchat-ios-core/SKILL.md +181 -1068
  151. package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
  152. package/skills/cometchat-ios-core/references/docs-map.md +123 -0
  153. package/skills/cometchat-ios-core/references/install.md +23 -0
  154. package/skills/cometchat-ios-core/references/layout.md +186 -0
  155. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  156. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  157. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  158. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  159. package/skills/cometchat-ios-features/SKILL.md +29 -738
  160. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  161. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  162. package/skills/cometchat-ios-push/SKILL.md +24 -602
  163. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  164. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  165. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  166. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  167. package/skills/cometchat-onboarding/SKILL.md +89 -0
  168. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  169. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  170. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  171. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  172. package/skills/cometchat-onboarding/references/platforms.md +90 -0
  173. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  174. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  175. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  176. package/skills/cometchat-react-native-core/SKILL.md +313 -0
  177. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  178. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  179. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  180. package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
  181. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  182. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  183. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  184. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  185. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  186. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  187. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  188. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  189. package/skills/cometchat-react-native-production/SKILL.md +78 -0
  190. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  191. package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
  192. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  193. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  194. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  195. package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
  196. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  197. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  198. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  199. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  200. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  201. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  202. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  203. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  204. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  205. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  206. package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
  207. package/skills/cometchat-react-v7-core/references/layout.md +158 -0
  208. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  209. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  210. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  211. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  212. package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
  213. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  214. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  215. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  216. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  217. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  218. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  219. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  220. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  221. package/test-suite/README.md +70 -0
  222. package/test-suite/catalogs/android-calls-v5.json +830 -0
  223. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  224. package/test-suite/catalogs/android-v6.json +1646 -0
  225. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  226. package/test-suite/catalogs/angular-v5.json +7587 -0
  227. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  228. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  229. package/test-suite/catalogs/flutter-v6.json +651 -0
  230. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  231. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  232. package/test-suite/catalogs/ios-v5.json +1383 -0
  233. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  234. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  235. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  236. package/test-suite/catalogs/rn-v5.json +449 -0
  237. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  238. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  239. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  240. package/test-suite/catalogs/web-calls-v5.json +195 -0
  241. package/test-suite/catalogs/web-v7.json +1243 -0
  242. package/test-suite/scripts/build-registry.mjs +113 -0
  243. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  244. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  245. package/test-suite/scripts/lint-skills.mjs +909 -0
  246. package/test-suite/scripts/measure-tokens.mjs +169 -0
  247. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  248. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  249. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  250. package/test-suite/scripts/verify-catalog.mjs +242 -0
  251. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  252. package/test-suite/scripts/verify-detection.mjs +178 -0
  253. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  254. package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
  255. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  256. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  257. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  258. package/test-suite/typecheck/angular-v5/package.json +21 -0
  259. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  260. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  261. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  262. package/test-suite/typecheck/web-v7/package.json +18 -0
  263. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  264. package/bin/install.js +0 -1003
  265. package/skills/.claude-plugin/marketplace.json +0 -86
  266. package/skills/cometchat/references/asking-questions.md +0 -48
  267. package/skills/cometchat-a11y/SKILL.md +0 -477
  268. package/skills/cometchat-android-v5/SKILL.md +0 -121
  269. package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
  270. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  271. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  272. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  273. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  274. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  275. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  276. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  277. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  278. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  279. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  280. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  281. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  282. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  283. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  284. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  285. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  286. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  287. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  288. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  289. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  290. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  291. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  292. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  293. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  294. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  295. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  296. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  297. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  298. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  299. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  300. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  301. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  302. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  303. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  304. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  305. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  306. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  307. package/skills/cometchat-android-v6/SKILL.md +0 -108
  308. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  309. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  310. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  311. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  312. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  313. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  314. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  315. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  316. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  317. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  318. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  319. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  320. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  321. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  322. package/skills/cometchat-angular-calls/SKILL.md +0 -380
  323. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  324. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  325. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  326. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  327. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  328. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  329. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  330. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  331. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  332. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  333. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  334. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  335. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  336. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  337. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  338. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  339. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  340. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  341. package/skills/cometchat-angular-components/SKILL.md +0 -235
  342. package/skills/cometchat-angular-core/SKILL.md +0 -386
  343. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  344. package/skills/cometchat-angular-features/SKILL.md +0 -329
  345. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  346. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  347. package/skills/cometchat-angular-production/SKILL.md +0 -564
  348. package/skills/cometchat-angular-push/SKILL.md +0 -389
  349. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  350. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  351. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  352. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  353. package/skills/cometchat-calls/SKILL.md +0 -364
  354. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  355. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  356. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  357. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  358. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  359. package/skills/cometchat-components/SKILL.md +0 -1142
  360. package/skills/cometchat-core/SKILL.md +0 -1048
  361. package/skills/cometchat-customization/SKILL.md +0 -580
  362. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  363. package/skills/cometchat-features/SKILL.md +0 -861
  364. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  365. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
  366. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  367. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  368. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  369. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  370. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  371. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  372. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  373. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  374. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  375. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  376. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  377. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  378. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  379. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  380. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  381. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  382. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  383. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  384. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  385. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  386. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  387. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  388. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  389. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  390. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  391. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  392. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  393. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  394. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  395. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  396. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  397. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  398. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  399. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  400. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  401. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  402. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  403. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  404. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  405. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  406. package/skills/cometchat-i18n/SKILL.md +0 -419
  407. package/skills/cometchat-ios/SKILL.md +0 -325
  408. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
  409. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  410. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  411. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  412. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  413. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  414. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  415. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  416. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  417. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  418. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  419. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  420. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  421. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  422. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  423. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  424. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  425. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  426. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  427. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  428. package/skills/cometchat-ios-production/SKILL.md +0 -738
  429. package/skills/cometchat-ios-testing/SKILL.md +0 -376
  430. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  431. package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
  432. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  433. package/skills/cometchat-native-calls/SKILL.md +0 -671
  434. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  435. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  436. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  437. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  438. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  439. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  440. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  441. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  442. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  443. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  444. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  445. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  446. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  447. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  448. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  449. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  450. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  451. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  452. package/skills/cometchat-native-components/SKILL.md +0 -628
  453. package/skills/cometchat-native-core/SKILL.md +0 -679
  454. package/skills/cometchat-native-customization/SKILL.md +0 -716
  455. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  456. package/skills/cometchat-native-features/SKILL.md +0 -638
  457. package/skills/cometchat-native-placement/SKILL.md +0 -509
  458. package/skills/cometchat-native-production/SKILL.md +0 -700
  459. package/skills/cometchat-native-push/SKILL.md +0 -594
  460. package/skills/cometchat-native-testing/SKILL.md +0 -582
  461. package/skills/cometchat-native-theming/SKILL.md +0 -681
  462. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  463. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  464. package/skills/cometchat-placement/SKILL.md +0 -1360
  465. package/skills/cometchat-production/SKILL.md +0 -1027
  466. package/skills/cometchat-react-calls/SKILL.md +0 -752
  467. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  468. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  469. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  470. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  471. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  472. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  473. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  474. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  475. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  476. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  477. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  478. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  479. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  480. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  481. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  482. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  483. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  484. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  485. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  486. package/skills/cometchat-react-push/SKILL.md +0 -634
  487. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  488. package/skills/cometchat-react-testing/SKILL.md +0 -413
  489. package/skills/cometchat-theming/SKILL.md +0 -498
  490. 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
-