@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.
- package/.claude-plugin/marketplace.json +55 -0
- package/.claude-plugin/plugin.json +14 -0
- package/CHANGELOG.md +36 -0
- package/LICENSE +21 -0
- package/README.md +41 -163
- package/RULES.md +114 -0
- package/bin/cometchat-skills.mjs +1180 -0
- package/bin/legacy-skills.json +95 -0
- package/catalogs/android-v6.json +1646 -0
- package/catalogs/flutter-v6.json +651 -0
- package/catalogs/ios-v5.json +1383 -0
- package/catalogs/rn-calls-v5.json +134 -0
- package/catalogs/rn-calls-v5.symbols.txt +58 -0
- package/catalogs/rn-sdk-v4.json +672 -0
- package/catalogs/rn-v5.json +449 -0
- package/catalogs/rn-v5.symbols.txt +216 -0
- package/catalogs/sdk-android-v5.json +514 -0
- package/contracts.android-calls-v5.json +122 -0
- package/contracts.android-v6.json +135 -0
- package/contracts.angular-v5.json +694 -0
- package/contracts.flutter-calls-v5.json +77 -0
- package/contracts.flutter-v6.json +126 -0
- package/contracts.ios-calls-v5.json +67 -0
- package/contracts.ios-v5.json +436 -0
- package/contracts.json +82 -0
- package/contracts.rn-calls-v5.json +77 -0
- package/contracts.rn-v5.json +727 -0
- package/contracts.sdk-android-v5.json +15 -0
- package/contracts.web-calls-v5.json +45 -0
- package/features.android-calls-v5.json +246 -0
- package/features.android-v6.json +65 -0
- package/features.angular-v5.json +521 -0
- package/features.flutter-calls-v5.json +286 -0
- package/features.flutter-v6.json +484 -0
- package/features.ios-calls-v5.json +236 -0
- package/features.ios-v5.json +573 -0
- package/features.json +61 -0
- package/features.rn-calls-v5.json +187 -0
- package/features.rn-v5.json +614 -0
- package/features.sdk-android-v5.json +40 -0
- package/features.sdk-jsv4.json +24 -0
- package/features.web-calls-v5.json +108 -0
- package/package.json +151 -74
- package/peers.yaml +312 -0
- package/registry/README.md +31 -0
- package/registry/android-calls-v5.json +54 -0
- package/registry/android-v6.json +137 -0
- package/registry/angular-v5.json +114 -0
- package/registry/flutter-calls-v5.json +54 -0
- package/registry/flutter-v6.json +119 -0
- package/registry/ios-calls-v5.json +59 -0
- package/registry/ios-v5.json +97 -0
- package/registry/rn-calls-v5.json +59 -0
- package/registry/rn-v5.json +129 -0
- package/registry/sdk-android-v5.json +53 -0
- package/registry/sdk-jsv4.json +53 -0
- package/registry/web-calls-v5.json +54 -0
- package/registry/web-v7.json +99 -0
- package/skills/cometchat/SKILL.md +42 -2096
- package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
- package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
- package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
- package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
- package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
- package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
- package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
- package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
- package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
- package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
- package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
- package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
- package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
- package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
- package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
- package/skills/cometchat-android-v6-core/SKILL.md +236 -672
- package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
- package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
- package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
- package/skills/cometchat-android-v6-core/references/layout.md +112 -0
- package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
- package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
- package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
- package/skills/cometchat-android-v6-events/SKILL.md +46 -184
- package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
- package/skills/cometchat-android-v6-features/SKILL.md +74 -143
- package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
- package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
- package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
- package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
- package/skills/cometchat-android-v6-production/SKILL.md +40 -179
- package/skills/cometchat-android-v6-push/SKILL.md +39 -289
- package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
- package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
- package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
- package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
- package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
- package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
- package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
- package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
- package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
- package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
- package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
- package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
- package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
- package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
- package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
- package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
- package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
- package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
- package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
- package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
- package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
- package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
- package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
- package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
- package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
- package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
- package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
- package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
- package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
- package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
- package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
- package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
- package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
- package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
- package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
- package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
- package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
- package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
- package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
- package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
- package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
- package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
- package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
- package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
- package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
- package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
- package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
- package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
- package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
- package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
- package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
- package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
- package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
- package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
- package/skills/cometchat-ios-calls/SKILL.md +112 -563
- package/skills/cometchat-ios-components/SKILL.md +44 -834
- package/skills/cometchat-ios-core/SKILL.md +181 -1068
- package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
- package/skills/cometchat-ios-core/references/docs-map.md +123 -0
- package/skills/cometchat-ios-core/references/install.md +23 -0
- package/skills/cometchat-ios-core/references/layout.md +186 -0
- package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
- package/skills/cometchat-ios-core/references/swiftui.md +91 -0
- package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
- package/skills/cometchat-ios-customization/SKILL.md +33 -968
- package/skills/cometchat-ios-features/SKILL.md +29 -738
- package/skills/cometchat-ios-migration/SKILL.md +39 -0
- package/skills/cometchat-ios-placement/SKILL.md +51 -729
- package/skills/cometchat-ios-push/SKILL.md +24 -602
- package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
- package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
- package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
- package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
- package/skills/cometchat-onboarding/SKILL.md +89 -0
- package/skills/cometchat-onboarding/references/archetypes.md +51 -0
- package/skills/cometchat-onboarding/references/calling-first.md +77 -0
- package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
- package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
- package/skills/cometchat-onboarding/references/platforms.md +90 -0
- package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
- package/skills/cometchat-react-native-calls/SKILL.md +200 -0
- package/skills/cometchat-react-native-components/SKILL.md +142 -0
- package/skills/cometchat-react-native-core/SKILL.md +313 -0
- package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
- package/skills/cometchat-react-native-core/references/component-props.md +105 -0
- package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
- package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
- package/skills/cometchat-react-native-core/references/layout.md +61 -0
- package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
- package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
- package/skills/cometchat-react-native-customization/SKILL.md +198 -0
- package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
- package/skills/cometchat-react-native-features/SKILL.md +122 -0
- package/skills/cometchat-react-native-migration/SKILL.md +103 -0
- package/skills/cometchat-react-native-placement/SKILL.md +158 -0
- package/skills/cometchat-react-native-production/SKILL.md +78 -0
- package/skills/cometchat-react-native-push/SKILL.md +88 -0
- package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
- package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
- package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
- package/skills/cometchat-react-native-testing/SKILL.md +94 -0
- package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
- package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
- package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
- package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
- package/skills/cometchat-react-v7-components/SKILL.md +72 -0
- package/skills/cometchat-react-v7-core/SKILL.md +101 -0
- package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
- package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
- package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
- package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
- package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
- package/skills/cometchat-react-v7-core/references/layout.md +158 -0
- package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
- package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
- package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
- package/skills/cometchat-react-v7-core/references/theming.md +52 -0
- package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
- package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
- package/skills/cometchat-react-v7-features/SKILL.md +92 -0
- package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
- package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
- package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
- package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
- package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
- package/skills/cometchat-react-v7-push/SKILL.md +53 -0
- package/test-suite/README.md +70 -0
- package/test-suite/catalogs/android-calls-v5.json +830 -0
- package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
- package/test-suite/catalogs/android-v6.json +1646 -0
- package/test-suite/catalogs/android-v6.symbols.txt +298 -0
- package/test-suite/catalogs/angular-v5.json +7587 -0
- package/test-suite/catalogs/flutter-calls-v5.json +196 -0
- package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
- package/test-suite/catalogs/flutter-v6.json +651 -0
- package/test-suite/catalogs/ios-calls-v5.json +158 -0
- package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
- package/test-suite/catalogs/ios-v5.json +1383 -0
- package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
- package/test-suite/catalogs/rn-calls-v5.json +134 -0
- package/test-suite/catalogs/rn-sdk-v4.json +672 -0
- package/test-suite/catalogs/rn-v5.json +449 -0
- package/test-suite/catalogs/sdk-android-v5.json +514 -0
- package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
- package/test-suite/catalogs/sdk-jsv4.json +800 -0
- package/test-suite/catalogs/web-calls-v5.json +195 -0
- package/test-suite/catalogs/web-v7.json +1243 -0
- package/test-suite/scripts/build-registry.mjs +113 -0
- package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
- package/test-suite/scripts/catalog-refresh.mjs +100 -0
- package/test-suite/scripts/lint-skills.mjs +909 -0
- package/test-suite/scripts/measure-tokens.mjs +169 -0
- package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
- package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
- package/test-suite/scripts/typecheck-fences.mjs +206 -0
- package/test-suite/scripts/verify-catalog.mjs +242 -0
- package/test-suite/scripts/verify-contract-fences.mjs +94 -0
- package/test-suite/scripts/verify-detection.mjs +178 -0
- package/test-suite/scripts/verify-docs-base.mjs +91 -0
- package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
- package/test-suite/scripts/verify-golden-path.mjs +138 -0
- package/test-suite/scripts/verify-oracle-components.mjs +133 -0
- package/test-suite/scripts/verify-template-bindings.mjs +148 -0
- package/test-suite/typecheck/angular-v5/package.json +21 -0
- package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
- package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
- package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
- package/test-suite/typecheck/web-v7/package.json +18 -0
- package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
- package/bin/install.js +0 -1003
- package/skills/.claude-plugin/marketplace.json +0 -86
- package/skills/cometchat/references/asking-questions.md +0 -48
- package/skills/cometchat-a11y/SKILL.md +0 -477
- package/skills/cometchat-android-v5/SKILL.md +0 -121
- package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
- package/skills/cometchat-android-v5-calls/references/README.md +0 -53
- package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
- package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
- package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
- package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
- package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
- package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
- package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
- package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
- package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
- package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
- package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
- package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
- package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
- package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
- package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
- package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
- package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
- package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
- package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
- package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
- package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
- package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
- package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
- package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
- package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
- package/skills/cometchat-android-v5-components/SKILL.md +0 -431
- package/skills/cometchat-android-v5-core/SKILL.md +0 -486
- package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
- package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
- package/skills/cometchat-android-v5-features/SKILL.md +0 -131
- package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
- package/skills/cometchat-android-v5-production/SKILL.md +0 -95
- package/skills/cometchat-android-v5-push/SKILL.md +0 -619
- package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
- package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
- package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
- package/skills/cometchat-android-v6/SKILL.md +0 -108
- package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
- package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
- package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
- package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
- package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
- package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
- package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
- package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
- package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
- package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
- package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
- package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
- package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
- package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
- package/skills/cometchat-angular-calls/SKILL.md +0 -380
- package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
- package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
- package/skills/cometchat-angular-calls/references/call-session.md +0 -167
- package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
- package/skills/cometchat-angular-calls/references/device-management.md +0 -154
- package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
- package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
- package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
- package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
- package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
- package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
- package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
- package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
- package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
- package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
- package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
- package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
- package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
- package/skills/cometchat-angular-components/SKILL.md +0 -235
- package/skills/cometchat-angular-core/SKILL.md +0 -386
- package/skills/cometchat-angular-customization/SKILL.md +0 -616
- package/skills/cometchat-angular-features/SKILL.md +0 -329
- package/skills/cometchat-angular-patterns/SKILL.md +0 -256
- package/skills/cometchat-angular-placement/SKILL.md +0 -314
- package/skills/cometchat-angular-production/SKILL.md +0 -564
- package/skills/cometchat-angular-push/SKILL.md +0 -389
- package/skills/cometchat-angular-testing/SKILL.md +0 -605
- package/skills/cometchat-angular-theming/SKILL.md +0 -290
- package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
- package/skills/cometchat-astro-patterns/SKILL.md +0 -708
- package/skills/cometchat-calls/SKILL.md +0 -364
- package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
- package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
- package/skills/cometchat-calls/references/use-case-support.md +0 -189
- package/skills/cometchat-calls/references/use-case-team.md +0 -180
- package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
- package/skills/cometchat-components/SKILL.md +0 -1142
- package/skills/cometchat-core/SKILL.md +0 -1048
- package/skills/cometchat-customization/SKILL.md +0 -580
- package/skills/cometchat-customization/references/component-catalog.md +0 -236
- package/skills/cometchat-features/SKILL.md +0 -861
- package/skills/cometchat-flutter-v5/SKILL.md +0 -173
- package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
- package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
- package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
- package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
- package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
- package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
- package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
- package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
- package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
- package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
- package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
- package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
- package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
- package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
- package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
- package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
- package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
- package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
- package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
- package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
- package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
- package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
- package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
- package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
- package/skills/cometchat-flutter-v6/SKILL.md +0 -446
- package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
- package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
- package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
- package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
- package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
- package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
- package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
- package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
- package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
- package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
- package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
- package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
- package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
- package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
- package/skills/cometchat-i18n/SKILL.md +0 -419
- package/skills/cometchat-ios/SKILL.md +0 -325
- package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
- package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
- package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
- package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
- package/skills/cometchat-ios-calls/references/call-session.md +0 -218
- package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
- package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
- package/skills/cometchat-ios-calls/references/device-management.md +0 -171
- package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
- package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
- package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
- package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
- package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
- package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
- package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
- package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
- package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
- package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
- package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
- package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
- package/skills/cometchat-ios-production/SKILL.md +0 -738
- package/skills/cometchat-ios-testing/SKILL.md +0 -376
- package/skills/cometchat-ios-theming/SKILL.md +0 -667
- package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
- package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
- package/skills/cometchat-native-calls/SKILL.md +0 -671
- package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
- package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
- package/skills/cometchat-native-calls/references/call-session.md +0 -182
- package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
- package/skills/cometchat-native-calls/references/device-management.md +0 -158
- package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
- package/skills/cometchat-native-calls/references/group-calls.md +0 -296
- package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
- package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
- package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
- package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
- package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
- package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
- package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
- package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
- package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
- package/skills/cometchat-native-calls/references/share-invite.md +0 -146
- package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
- package/skills/cometchat-native-components/SKILL.md +0 -628
- package/skills/cometchat-native-core/SKILL.md +0 -679
- package/skills/cometchat-native-customization/SKILL.md +0 -716
- package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
- package/skills/cometchat-native-features/SKILL.md +0 -638
- package/skills/cometchat-native-placement/SKILL.md +0 -509
- package/skills/cometchat-native-production/SKILL.md +0 -700
- package/skills/cometchat-native-push/SKILL.md +0 -594
- package/skills/cometchat-native-testing/SKILL.md +0 -582
- package/skills/cometchat-native-theming/SKILL.md +0 -681
- package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
- package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
- package/skills/cometchat-placement/SKILL.md +0 -1360
- package/skills/cometchat-production/SKILL.md +0 -1027
- package/skills/cometchat-react-calls/SKILL.md +0 -752
- package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
- package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
- package/skills/cometchat-react-calls/references/call-session.md +0 -235
- package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
- package/skills/cometchat-react-calls/references/device-management.md +0 -210
- package/skills/cometchat-react-calls/references/group-calls.md +0 -257
- package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
- package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
- package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
- package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
- package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
- package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
- package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
- package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
- package/skills/cometchat-react-calls/references/share-invite.md +0 -175
- package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
- package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
- package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
- package/skills/cometchat-react-patterns/SKILL.md +0 -628
- package/skills/cometchat-react-push/SKILL.md +0 -634
- package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
- package/skills/cometchat-react-testing/SKILL.md +0 -413
- package/skills/cometchat-theming/SKILL.md +0 -498
- package/skills/cometchat-troubleshooting/SKILL.md +0 -294
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-android-v5-testing
|
|
3
|
-
description: "Testing patterns for CometChat Android — JUnit + Mockito setup, mocking the SDK, Espresso UI tests, E2E with Maestro, and CI integration."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x; JUnit 4 (kit sample apps); Mockito/MockK"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat android testing junit espresso maestro mockito ci"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only; +`calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/ui-kit/android/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
|
-
> **Companion skills:** `cometchat-android-v5-core` covers init/login patterns you're testing;
|
|
15
|
-
> `cometchat-android-v5-components` covers component APIs to assert against.
|
|
16
|
-
|
|
17
|
-
## Purpose
|
|
18
|
-
|
|
19
|
-
This skill teaches how to write and run tests against a CometChat Android integration. Covers unit tests with JUnit + Mockito/MockK, UI tests with Espresso, E2E with Maestro, and CI integration.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Use this skill when
|
|
24
|
-
|
|
25
|
-
- "Add tests for my CometChat integration"
|
|
26
|
-
- "How do I mock CometChat in tests?"
|
|
27
|
-
- "Set up E2E testing"
|
|
28
|
-
- "CI pipeline for chat tests"
|
|
29
|
-
|
|
30
|
-
## Do not use this skill when
|
|
31
|
-
|
|
32
|
-
- Setting up the integration → use `cometchat-android-v5-core`
|
|
33
|
-
- Diagnosing runtime issues → use `cometchat-android-v5-troubleshooting`
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 1. What to test vs what to skip
|
|
38
|
-
|
|
39
|
-
**Worth testing:**
|
|
40
|
-
- Custom components you wrote (custom bubbles, headers, empty states)
|
|
41
|
-
- Navigation logic triggered by CometChat events (push tap → deep-link)
|
|
42
|
-
- Init/login lifecycle (init before login, already-logged-in skip)
|
|
43
|
-
- Production auth token refresh logic
|
|
44
|
-
- User-ID mapping (your auth system → CometChat UID)
|
|
45
|
-
|
|
46
|
-
**Skip:**
|
|
47
|
-
- UIKit internals — that's CometChat's responsibility
|
|
48
|
-
- Realtime delivery (A sends, B receives) — requires real servers, flaky
|
|
49
|
-
- Presence/typing indicators — race-prone
|
|
50
|
-
- Snapshot tests of CometChat components — theme changes churn them
|
|
51
|
-
|
|
52
|
-
**Golden rule:** if the test fails because YOUR code changed, it's valuable. If it fails because the UIKit updated, it's churn.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 2. Toolchain
|
|
57
|
-
|
|
58
|
-
| Layer | Tool | Why |
|
|
59
|
-
|---|---|---|
|
|
60
|
-
| Unit tests | JUnit 4 + Mockito / MockK | Standard Android unit testing |
|
|
61
|
-
| Component tests | Robolectric | Run Android component tests without emulator |
|
|
62
|
-
| UI tests | Espresso | Android's native UI testing framework |
|
|
63
|
-
| E2E | Maestro | Declarative YAML flows, fast, stable |
|
|
64
|
-
| CI | GitHub Actions / Bitrise | Automated test runs |
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## 3. Mocking the CometChat SDK
|
|
69
|
-
|
|
70
|
-
**Java (Mockito):**
|
|
71
|
-
```java
|
|
72
|
-
@RunWith(MockitoJUnitRunner.class)
|
|
73
|
-
public class ChatViewModelTest {
|
|
74
|
-
@Test
|
|
75
|
-
public void testLoginCallsInit() {
|
|
76
|
-
try (MockedStatic<CometChatUIKit> mocked = mockStatic(CometChatUIKit.class)) {
|
|
77
|
-
mocked.when(CometChatUIKit::getLoggedInUser).thenReturn(null);
|
|
78
|
-
mocked.when(CometChatUIKit::isSDKInitialized).thenReturn(true);
|
|
79
|
-
|
|
80
|
-
// Test your ViewModel or helper that calls login
|
|
81
|
-
// Verify init was called before login
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**Kotlin (MockK):**
|
|
88
|
-
```kotlin
|
|
89
|
-
@Test
|
|
90
|
-
fun `already logged in skips login`() {
|
|
91
|
-
mockkStatic(CometChatUIKit::class)
|
|
92
|
-
every { CometChatUIKit.getLoggedInUser() } returns mockk<User>()
|
|
93
|
-
|
|
94
|
-
// Your code should skip login
|
|
95
|
-
verify(exactly = 0) { CometChatUIKit.login(any(), any()) }
|
|
96
|
-
|
|
97
|
-
unmockkAll()
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## 4. Espresso UI tests
|
|
104
|
-
|
|
105
|
-
```java
|
|
106
|
-
@RunWith(AndroidJUnit4.class)
|
|
107
|
-
public class MessagesActivityTest {
|
|
108
|
-
@Rule
|
|
109
|
-
public ActivityScenarioRule<MessagesActivity> rule =
|
|
110
|
-
new ActivityScenarioRule<>(MessagesActivity.class);
|
|
111
|
-
|
|
112
|
-
@Test
|
|
113
|
-
public void messageListIsDisplayed() {
|
|
114
|
-
onView(withId(R.id.messageList)).check(matches(isDisplayed()));
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
@Test
|
|
118
|
-
public void composerIsDisplayed() {
|
|
119
|
-
onView(withId(R.id.composer)).check(matches(isDisplayed()));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 5. E2E with Maestro
|
|
127
|
-
|
|
128
|
-
`.maestro/chat-happy-path.yaml`:
|
|
129
|
-
```yaml
|
|
130
|
-
appId: com.yourapp.android
|
|
131
|
-
---
|
|
132
|
-
- launchApp
|
|
133
|
-
- tapOn: "Login"
|
|
134
|
-
- inputText: "cometchat-uid-1"
|
|
135
|
-
- tapOn: "Continue"
|
|
136
|
-
- assertVisible: "Chats"
|
|
137
|
-
- tapOn:
|
|
138
|
-
id: "conversations"
|
|
139
|
-
index: 0
|
|
140
|
-
- assertVisible: "Type a message"
|
|
141
|
-
- inputText: "Hello from Maestro"
|
|
142
|
-
- tapOn:
|
|
143
|
-
id: "send_button"
|
|
144
|
-
- assertVisible: "Hello from Maestro"
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Run: `maestro test .maestro/chat-happy-path.yaml`
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## 6. CI integration
|
|
152
|
-
|
|
153
|
-
```yaml
|
|
154
|
-
# .github/workflows/test.yml
|
|
155
|
-
name: test
|
|
156
|
-
on: [push, pull_request]
|
|
157
|
-
jobs:
|
|
158
|
-
unit-tests:
|
|
159
|
-
runs-on: ubuntu-latest
|
|
160
|
-
steps:
|
|
161
|
-
- uses: actions/checkout@v4
|
|
162
|
-
- uses: actions/setup-java@v4
|
|
163
|
-
with:
|
|
164
|
-
java-version: 17
|
|
165
|
-
distribution: temurin
|
|
166
|
-
- run: ./gradlew test
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 7. Common failure modes
|
|
172
|
-
|
|
173
|
-
| Symptom | Cause | Fix |
|
|
174
|
-
|---|---|---|
|
|
175
|
-
| `NoClassDefFoundError: CometChat` | SDK not mocked | Add Mockito/MockK mock for static methods |
|
|
176
|
-
| Espresso test hangs | Async CometChat operation | Register `IdlingResource` |
|
|
177
|
-
| Tests pass locally, fail on CI | Emulator not booted | Pin emulator API level in CI |
|
|
178
|
-
| `IllegalStateException: not initialized` | `init()` not called in test setup | Mock `isSDKInitialized()` to return `true` |
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Hard rules
|
|
183
|
-
|
|
184
|
-
- **Mock the SDK in every unit test.** Running real CometChat requires network + servers.
|
|
185
|
-
- **Don't test UIKit internals.** You're responsible for YOUR code.
|
|
186
|
-
- **Skip realtime tests.** They require real servers and produce flaky suites.
|
|
187
|
-
- **Assert on view IDs and state, not pixels.** Theme changes churn pixel assertions.
|
|
188
|
-
- **E2E runs on emulator/device, not JUnit.** Don't test real CometChat flow in unit tests.
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-android-v5-theming
|
|
3
|
-
description: "Customize CometChat UI to match your app's design system. Covers CometChatTheme, XML attributes, style classes, dark mode, and color system."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat android theming customization branding dark-mode colors styles"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only; +`calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/ui-kit/android/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
|
-
> **Companion skills:** `cometchat-android-v5-core` covers initialization;
|
|
15
|
-
> `cometchat-android-v5-components` provides the component catalog;
|
|
16
|
-
> `cometchat-android-v5-customization` covers deeper component-level overrides.
|
|
17
|
-
|
|
18
|
-
## Purpose
|
|
19
|
-
|
|
20
|
-
This skill teaches how to theme CometChat Android UI Kit v5 to match your app's design system. CometChat uses a combination of XML theme attributes, the `CometChatTheme` static class, and per-component style resources.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Use this skill when
|
|
25
|
-
|
|
26
|
-
- Changing CometChat colors to match brand
|
|
27
|
-
- Customizing fonts or typography
|
|
28
|
-
- Enabling dark mode
|
|
29
|
-
- Applying per-component styles
|
|
30
|
-
- "How do I change the primary color?"
|
|
31
|
-
- "How do I make CometChat match my app theme?"
|
|
32
|
-
|
|
33
|
-
## Do not use this skill when
|
|
34
|
-
|
|
35
|
-
- Writing custom message templates → use `cometchat-android-v5-customization`
|
|
36
|
-
- Adding features → use `cometchat-android-v5-features`
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 1. How CometChat theming works
|
|
41
|
-
|
|
42
|
-
CometChat's visual identity is driven by XML theme attributes defined in `attrs.xml` files. Every `CometChat*` component reads these attributes from the current theme. To override: define the attributes in your app's theme.
|
|
43
|
-
|
|
44
|
-
### The CometChatTheme class
|
|
45
|
-
|
|
46
|
-
`CometChatTheme` is a static utility class that provides programmatic access to theme colors. It reads from XML theme attributes and supports runtime overrides.
|
|
47
|
-
|
|
48
|
-
**Key static methods:**
|
|
49
|
-
|
|
50
|
-
| Method | Description |
|
|
51
|
-
|---|---|
|
|
52
|
-
| `setPrimaryColor(int)` | Override primary color at runtime |
|
|
53
|
-
| `getPrimaryColor(Context)` | Get current primary color |
|
|
54
|
-
| `getExtendedPrimaryColor50(Context)` through `getExtendedPrimaryColor900(Context)` | Get extended primary color shades (auto-generated from primary) |
|
|
55
|
-
| `getBackgroundColor1(Context)` | Primary background color |
|
|
56
|
-
| `getTextColorPrimary(Context)` | Primary text color |
|
|
57
|
-
| `getTextColorSecondary(Context)` | Secondary text color |
|
|
58
|
-
| `getIconTintHighlight(Context)` | Highlighted icon tint |
|
|
59
|
-
| `getIconTintSecondary(Context)` | Secondary icon tint |
|
|
60
|
-
|
|
61
|
-
### Setting primary color programmatically
|
|
62
|
-
|
|
63
|
-
**Java:**
|
|
64
|
-
```java
|
|
65
|
-
CometChatTheme.setPrimaryColor(Color.parseColor("#6C63FF"));
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Kotlin:**
|
|
69
|
-
```kotlin
|
|
70
|
-
CometChatTheme.setPrimaryColor(Color.parseColor("#6C63FF"))
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
This must be called before any CometChat component is inflated. The extended color shades (50–900) are auto-generated by blending the primary color with white (light mode) or black (dark mode).
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 2. XML theme attributes
|
|
78
|
-
|
|
79
|
-
Override CometChat colors in your app's `themes.xml`:
|
|
80
|
-
|
|
81
|
-
```xml
|
|
82
|
-
<style name="AppTheme" parent="CometChatTheme.DayNight">
|
|
83
|
-
<!-- CometChat primary color -->
|
|
84
|
-
<item name="cometchatPrimaryColor">#6C63FF</item>
|
|
85
|
-
|
|
86
|
-
<!-- Background colors -->
|
|
87
|
-
<item name="cometchatBackgroundColor1">#FFFFFF</item>
|
|
88
|
-
<item name="cometchatBackgroundColor2">#F5F5F5</item>
|
|
89
|
-
|
|
90
|
-
<!-- Text colors -->
|
|
91
|
-
<item name="cometchatTextColorPrimary">#141414</item>
|
|
92
|
-
<item name="cometchatTextColorSecondary">#727272</item>
|
|
93
|
-
|
|
94
|
-
<!-- Extended primary shades (optional — auto-generated if not set) -->
|
|
95
|
-
<item name="cometchatExtendedPrimaryColor50">#F0EEFF</item>
|
|
96
|
-
<item name="cometchatExtendedPrimaryColor100">#D9D5FF</item>
|
|
97
|
-
</style>
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## 3. Per-component styles
|
|
103
|
-
|
|
104
|
-
Each component has its own style attribute that can be overridden in your theme. The naming convention is `cometchat<ComponentName>Style`.
|
|
105
|
-
|
|
106
|
-
| Component | Style attribute | Example |
|
|
107
|
-
|---|---|---|
|
|
108
|
-
| `CometChatConversations` | `cometchatConversationsStyle` | `@style/CustomConversationsStyle` |
|
|
109
|
-
| `CometChatMessageList` | `cometchatMessageListStyle` | `@style/CustomMessageListStyle` |
|
|
110
|
-
| `CometChatMessageComposer` | `cometchatMessageComposerStyle` | `@style/CustomComposerStyle` |
|
|
111
|
-
| `CometChatMessageHeader` | `cometchatMessageHeaderStyle` | `@style/CustomHeaderStyle` |
|
|
112
|
-
| `CometChatUsers` | `cometchatUsersStyle` | `@style/CustomUsersStyle` |
|
|
113
|
-
| `CometChatGroups` | `cometchatGroupsStyle` | `@style/CustomGroupsStyle` |
|
|
114
|
-
| `CometChatAvatar` | `cometchatAvatarStyle` | `@style/CustomAvatarStyle` |
|
|
115
|
-
| `CometChatBadge` | `cometchatBadgeStyle` | `@style/CustomBadgeStyle` |
|
|
116
|
-
| `CometChatStatusIndicator` | `cometchatStatusIndicatorStyle` | `@style/CustomStatusStyle` |
|
|
117
|
-
| `CometChatMessageReceipt` | `cometchatMessageReceiptStyle` | `@style/CustomReceiptStyle` |
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 4. Programmatic styling
|
|
122
|
-
|
|
123
|
-
Every component exposes setter methods for colors, text appearances, and drawables:
|
|
124
|
-
|
|
125
|
-
**Java:**
|
|
126
|
-
```java
|
|
127
|
-
CometChatConversations conversations = findViewById(R.id.conversations);
|
|
128
|
-
conversations.setBackgroundColor(Color.WHITE);
|
|
129
|
-
conversations.setTitleTextColor(Color.BLACK);
|
|
130
|
-
conversations.setTitleTextAppearance(R.style.MyTitleStyle);
|
|
131
|
-
conversations.setSeparatorColor(Color.LTGRAY);
|
|
132
|
-
conversations.setAvatarStyle(R.style.MyAvatarStyle);
|
|
133
|
-
conversations.setStatusIndicatorStyle(R.style.MyStatusStyle);
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 5. Dark mode
|
|
139
|
-
|
|
140
|
-
CometChat respects Android's `DayNight` theme. Define separate values in `values-night/themes.xml`:
|
|
141
|
-
|
|
142
|
-
```xml
|
|
143
|
-
<!-- values/themes.xml (light) -->
|
|
144
|
-
<style name="AppTheme" parent="CometChatTheme.DayNight">
|
|
145
|
-
<item name="cometchatPrimaryColor">#6C63FF</item>
|
|
146
|
-
<item name="cometchatBackgroundColor1">#FFFFFF</item>
|
|
147
|
-
<item name="cometchatTextColorPrimary">#141414</item>
|
|
148
|
-
</style>
|
|
149
|
-
|
|
150
|
-
<!-- values-night/themes.xml (dark) -->
|
|
151
|
-
<style name="AppTheme" parent="CometChatTheme.DayNight">
|
|
152
|
-
<item name="cometchatPrimaryColor">#7B73FF</item>
|
|
153
|
-
<item name="cometchatBackgroundColor1">#1A1A2E</item>
|
|
154
|
-
<item name="cometchatTextColorPrimary">#E0E0E0</item>
|
|
155
|
-
</style>
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
The `CometChatTheme` class auto-detects the current night mode and adjusts extended color shades accordingly.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Hard rules
|
|
163
|
-
|
|
164
|
-
- **Set primary color BEFORE inflating components.** `CometChatTheme.setPrimaryColor()` must be called before `setContentView()` or component inflation.
|
|
165
|
-
- **Use XML theme attributes for global overrides.** Per-component setters are for fine-tuning.
|
|
166
|
-
- **Extended primary shades are auto-generated.** Only override them if you need exact brand colors at each shade level.
|
|
167
|
-
- **Dark mode uses `values-night/`.** Follow Android's standard `DayNight` theme pattern.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-android-v5-troubleshooting
|
|
3
|
-
description: "Diagnose and fix problems with a CometChat Android integration. Gradle errors, runtime crashes, rendering issues, and version compatibility."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "Android 7.0+; Java 8+; Kotlin 1.8+; com.cometchat:chat-uikit-android:5.x"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat android troubleshooting fix diagnose errors crashes gradle proguard"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `com.cometchat:chat-uikit-android:5.x` (legacy/maintenance-only; +`calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android`. **Official docs:** https://www.cometchat.com/docs/ui-kit/android/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
|
-
> **Companion skills:** `cometchat-android-v5-core` covers correct init/login patterns;
|
|
15
|
-
> `cometchat-android-v5-production` covers ProGuard rules.
|
|
16
|
-
|
|
17
|
-
## Purpose
|
|
18
|
-
|
|
19
|
-
This skill teaches how to diagnose CometChat Android integration problems systematically. It covers Gradle build errors, runtime crashes, rendering issues, and version compatibility.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Use this skill when
|
|
24
|
-
|
|
25
|
-
- "CometChat isn't working"
|
|
26
|
-
- "I'm getting a build error"
|
|
27
|
-
- "The chat screen is blank"
|
|
28
|
-
- "Messages aren't loading"
|
|
29
|
-
- Gradle sync failures
|
|
30
|
-
- Runtime crashes with CometChat in the stack trace
|
|
31
|
-
|
|
32
|
-
## Do not use this skill when
|
|
33
|
-
|
|
34
|
-
- Setting up a new integration → use `cometchat-android-v5-core`
|
|
35
|
-
- Customizing appearance → use `cometchat-android-v5-theming`
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 1. Common issues
|
|
40
|
-
|
|
41
|
-
| Symptom | Likely cause | Fix |
|
|
42
|
-
|---|---|---|
|
|
43
|
-
| `Could not resolve com.cometchat:chat-uikit-android` | Missing Maven repo | Add `maven { url "https://dl.cloudsmith.io/public/cometchat/cometchat/maven/" }` to repositories |
|
|
44
|
-
| `Duplicate class com.cometchat.*` | Multiple CometChat versions | Check dependency tree: `./gradlew app:dependencies` |
|
|
45
|
-
| Blank conversation list | Not logged in, or no conversations exist | Verify `getLoggedInUser() != null`. Send a test message from dashboard. |
|
|
46
|
-
| `CometChatException: ERR - Authentication null` | `init()` not called or failed | Call `init()` before `login()`. Check `isSDKInitialized()`. |
|
|
47
|
-
| `CometChatException: appIdErr` | App ID not set in UIKitSettings | Verify `setAppId()` in UIKitSettingsBuilder |
|
|
48
|
-
| Components show but no data | Login succeeded but wrong region | Verify region matches dashboard: `"us"`, `"eu"`, `"in"` |
|
|
49
|
-
| `ClassNotFoundException` in release build | ProGuard stripping CometChat classes | Add `-keep class com.cometchat.** { *; }` to proguard-rules.pro |
|
|
50
|
-
| `UnsupportedOperationException: Failed to resolve attribute` when inflating CometChat views | App theme inherits `Theme.AppCompat.*` or `Theme.Material3.*` — the kit's attrs are resolved against Material 2 (`CometChatTheme.DayNight` itself parents on `Theme.MaterialComponents.DayNight.NoActionBar`) | Change app theme parent to `CometChatTheme.DayNight` |
|
|
51
|
-
| `NetworkOnMainThreadException` | Calling CometChat sync methods on main thread | Use callbacks (all CometChat methods are async) |
|
|
52
|
-
| `minSdkVersion 21` error | CometChat requires API 24+ | Set `minSdkVersion 24` in build.gradle |
|
|
53
|
-
| Message list shows wrong messages | `setUser()`/`setGroup()` called with wrong object | Verify UID/GUID matches the intended conversation |
|
|
54
|
-
| Calling buttons not showing | Calling SDK not added | Add `com.cometchat:calls-sdk-android:5.+` dependency (matches `-core`/`-features`) |
|
|
55
|
-
| `java.lang.NoSuchMethodError` | Version mismatch between UI Kit and Chat SDK | Use compatible versions — UI Kit 5.x requires Chat SDK 4.x |
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 2. Diagnostic steps
|
|
60
|
-
|
|
61
|
-
1. **Check init:** `CometChatUIKit.isSDKInitialized()` — must be `true`
|
|
62
|
-
2. **Check login:** `CometChatUIKit.getLoggedInUser()` — must not be `null`
|
|
63
|
-
3. **Check Gradle:** `./gradlew app:dependencies | grep cometchat` — verify versions
|
|
64
|
-
4. **Check manifest:** Verify `INTERNET` permission
|
|
65
|
-
5. **Check region:** Must match dashboard exactly
|
|
66
|
-
6. **Check logs:** Filter logcat for `CometChat` tag
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Hard rules
|
|
71
|
-
|
|
72
|
-
- **Always check init + login first.** 90% of "it's not working" issues are init/login failures.
|
|
73
|
-
- **Never guess at the cause.** Check logcat, check the dependency tree, check the dashboard.
|
|
74
|
-
- **ProGuard is the #1 release-build issue.** Always add keep rules before the first release build.
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-android-v6
|
|
3
|
-
description: "Entry-point dispatcher for CometChat Android UIKit v6 — routes to the correct skill based on project stack and task"
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "Android 9.0+ (API 28); Kotlin 1.9+; com.cometchat:chatuikit-compose-android:6.x / com.cometchat:chatuikit-kotlin-android:6.x"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat, android, uikit, kotlin, jetpack-compose, dispatcher"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `com.cometchat:chatuikit-{compose,kotlin}-android:6.x` (+ `calls-sdk-android:5.x`) — resolved AAR (javap) + `ui-kit/android/v6`. **Official docs:** https://www.cometchat.com/docs/ui-kit/android/v6/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
|
-
> **Companion skills:** cometchat-android-v6-core, cometchat-android-v6-events, cometchat-android-v6-kotlin-components, cometchat-android-v6-compose-components, cometchat-android-v6-kotlin-theming, cometchat-android-v6-compose-theming, cometchat-android-v6-kotlin-customization, cometchat-android-v6-compose-customization, cometchat-android-v6-kotlin-placement, cometchat-android-v6-compose-placement, cometchat-android-v6-builder-settings, cometchat-android-v6-features, cometchat-android-v6-extensions, cometchat-android-v6-push, cometchat-android-v6-production, cometchat-android-v6-troubleshooting, cometchat-android-v6-testing
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
This is the entry-point skill for the CometChat Android UIKit v6. It detects the project's UI stack (Kotlin Views, Jetpack Compose, or both) and routes to the correct specialized skill.
|
|
19
|
-
|
|
20
|
-
## Use this skill when
|
|
21
|
-
|
|
22
|
-
- The user mentions "CometChat" in an Android/Kotlin project
|
|
23
|
-
- The user wants to add chat, messaging, or calling features to an Android app
|
|
24
|
-
- You need to determine which CometChat skill to activate
|
|
25
|
-
- The user asks a general CometChat question without specifying a stack
|
|
26
|
-
|
|
27
|
-
## Do not use this skill when
|
|
28
|
-
|
|
29
|
-
- You already know which specific skill to use (go directly to it)
|
|
30
|
-
- The project is React, React Native, iOS, Flutter, or Web (this skill is Android-only)
|
|
31
|
-
|
|
32
|
-
## 1. Project Detection
|
|
33
|
-
|
|
34
|
-
Detect the UI stack by inspecting the project's Gradle files:
|
|
35
|
-
|
|
36
|
-
```kotlin
|
|
37
|
-
// Check build.gradle.kts or build.gradle for dependencies:
|
|
38
|
-
|
|
39
|
-
// Jetpack Compose stack
|
|
40
|
-
implementation("com.cometchat:chatuikit-compose-android:6.x")
|
|
41
|
-
|
|
42
|
-
// Kotlin Views stack
|
|
43
|
-
implementation("com.cometchat:chatuikit-kotlin-android:6.x")
|
|
44
|
-
|
|
45
|
-
// Core only (shared module, no UI)
|
|
46
|
-
implementation("com.cometchat:chatuikit-core-android:6.x")
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Also check for module includes in `settings.gradle`:
|
|
50
|
-
- `:chatuikit-compose` → Compose stack
|
|
51
|
-
- `:chatuikit-kotlin` → Kotlin Views stack
|
|
52
|
-
- `:chatuikit-core` → Core module
|
|
53
|
-
|
|
54
|
-
## 2. Architecture Overview
|
|
55
|
-
|
|
56
|
-
v6 uses a 3-module architecture:
|
|
57
|
-
|
|
58
|
-
| Module | Package | Purpose |
|
|
59
|
-
|---|---|---|
|
|
60
|
-
| `chatuikit-core` | `com.cometchat.uikit.core` | Shared: init, login, ViewModels, events, data layer |
|
|
61
|
-
| `chatuikit-kotlin` | `com.cometchat.uikit.kotlin` | Kotlin Views UI: custom Views, RecyclerView, XML themes |
|
|
62
|
-
| `chatuikit-compose` | `com.cometchat.uikit.compose` | Compose UI: @Composable functions, CompositionLocal themes |
|
|
63
|
-
|
|
64
|
-
Both UI modules depend on `chatuikit-core`. The core module holds all business logic.
|
|
65
|
-
|
|
66
|
-
## 3. Routing Table
|
|
67
|
-
|
|
68
|
-
| User wants to... | Route to skill |
|
|
69
|
-
|---|---|
|
|
70
|
-
| Add CometChat to a project / Gradle setup | `cometchat-android-v6-core` |
|
|
71
|
-
| Initialize the SDK / login / logout | `cometchat-android-v6-core` |
|
|
72
|
-
| Configure UIKitSettings in detail | `cometchat-android-v6-builder-settings` |
|
|
73
|
-
| Use a component (Kotlin Views) | `cometchat-android-v6-kotlin-components` |
|
|
74
|
-
| Use a component (Jetpack Compose) | `cometchat-android-v6-compose-components` |
|
|
75
|
-
| Place components in Activities/Fragments | `cometchat-android-v6-kotlin-placement` |
|
|
76
|
-
| Place components in Compose screens | `cometchat-android-v6-compose-placement` |
|
|
77
|
-
| Change colors/fonts (Kotlin Views) | `cometchat-android-v6-kotlin-theming` |
|
|
78
|
-
| Change colors/fonts (Compose) | `cometchat-android-v6-compose-theming` |
|
|
79
|
-
| Customize bubble rendering (Kotlin Views) | `cometchat-android-v6-kotlin-customization` |
|
|
80
|
-
| Customize bubble rendering (Compose) | `cometchat-android-v6-compose-customization` |
|
|
81
|
-
| Use AI features, reactions, polls, stickers | `cometchat-android-v6-features` |
|
|
82
|
-
| Extend with custom DataSources / message types | `cometchat-android-v6-extensions` |
|
|
83
|
-
| Listen to chat/call/user events | `cometchat-android-v6-events` |
|
|
84
|
-
| Add push notifications / FCM / VoIP | `cometchat-android-v6-push` |
|
|
85
|
-
| Prepare for production release | `cometchat-android-v6-production` |
|
|
86
|
-
| Debug issues | `cometchat-android-v6-troubleshooting` |
|
|
87
|
-
| Write tests | `cometchat-android-v6-testing` |
|
|
88
|
-
|
|
89
|
-
## 4. Quick-Start Decision Tree
|
|
90
|
-
|
|
91
|
-
1. **New project?** → `cometchat-android-v6-core` (Gradle setup + init)
|
|
92
|
-
2. **Which UI stack?**
|
|
93
|
-
- Jetpack Compose → `cometchat-compose-*` skills
|
|
94
|
-
- Kotlin Views (XML layouts) → `cometchat-kotlin-*` skills
|
|
95
|
-
- Both → Use the appropriate stack-specific skill for each task
|
|
96
|
-
3. **What task?**
|
|
97
|
-
- Show a component → `*-components`
|
|
98
|
-
- Style/theme → `*-theming`
|
|
99
|
-
- Customize bubbles → `*-customization`
|
|
100
|
-
- Place in navigation → `*-placement`
|
|
101
|
-
|
|
102
|
-
## Hard rules
|
|
103
|
-
|
|
104
|
-
- ALWAYS detect the project stack before routing to a stack-specific skill
|
|
105
|
-
- NEVER mix Kotlin Views APIs with Compose APIs in the same code example
|
|
106
|
-
- NEVER reference v5 Java UIKit APIs — v6 is Kotlin-only
|
|
107
|
-
- When both stacks are present, ask the user which stack they're working with before proceeding
|
|
108
|
-
- Route to the most specific skill possible — don't try to answer from this dispatcher skill
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Adding calls to an existing chat integration (Android V6 / Compose)
|
|
2
|
-
|
|
3
|
-
V6 calls are **bundled** into `chatuikit-{compose,kotlin}-android:6.x` — there's no separate calls SDK to install. To turn calls on, call `.enableCalling()` on your UIKit settings.
|
|
4
|
-
|
|
5
|
-
**Read first:** `cometchat-android-v6-calls/SKILL.md` — V6 architecture.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Step 1 — Verify chat-uikit cohort
|
|
10
|
-
|
|
11
|
-
```kotlin
|
|
12
|
-
// app/build.gradle.kts
|
|
13
|
-
dependencies {
|
|
14
|
-
implementation("com.cometchat:chatuikit-compose-android:6.+")
|
|
15
|
-
// (or chatuikit-kotlin-android for Views)
|
|
16
|
-
}
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
If you're on `chatuikit-android` v5 or `calls-sdk-android` separately, this is the wrong family — see `cometchat-android-v5-calls/references/add-calls-to-existing-chat.md`.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Step 2 — Enable calling on UIKit
|
|
24
|
-
|
|
25
|
-
Find your existing UIKit init (typically in `Application.onCreate` or `MainActivity.onCreate`):
|
|
26
|
-
|
|
27
|
-
```kotlin
|
|
28
|
-
val uikitSettings = UIKitSettings.Builder()
|
|
29
|
-
.setAppId(APP_ID)
|
|
30
|
-
.setRegion(REGION)
|
|
31
|
-
.setAuthKey(AUTH_KEY) // OR .subscribePresenceForAllUsers() etc.
|
|
32
|
-
.enableCalling() // NEW — adds calls
|
|
33
|
-
.build()
|
|
34
|
-
|
|
35
|
-
CometChatUIKit.init(this, uikitSettings, /* callback */)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
That's the entire migration for V6. The bundled calls SDK initializes when chat init succeeds.
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Step 3 — Permissions + manifest
|
|
43
|
-
|
|
44
|
-
Same as V5 (see V5 sister doc). V6 doesn't change permission requirements.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Step 4 — Mount CometChatIncomingCall
|
|
49
|
-
|
|
50
|
-
In Compose:
|
|
51
|
-
|
|
52
|
-
```kotlin
|
|
53
|
-
@Composable
|
|
54
|
-
fun AppRoot() {
|
|
55
|
-
Box(modifier = Modifier.fillMaxSize()) {
|
|
56
|
-
AppContent()
|
|
57
|
-
CometChatIncomingCall() // overlay on top — handles incoming call UI
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
In Views (Kotlin XML):
|
|
63
|
-
|
|
64
|
-
```xml
|
|
65
|
-
<!-- activity_main.xml -->
|
|
66
|
-
<FrameLayout ...>
|
|
67
|
-
<fragment android:id="@+id/main_content" .../>
|
|
68
|
-
<com.cometchat.chatuikit.calls.incomingcall.CometChatIncomingCall
|
|
69
|
-
android:layout_width="match_parent"
|
|
70
|
-
android:layout_height="match_parent"/>
|
|
71
|
-
</FrameLayout>
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Step 5 — FCM VoIP push
|
|
77
|
-
|
|
78
|
-
Same as V5 (see `cometchat-android-v5-calls/references/server-fcm-voip.md`). V6 adds a Compose-friendly `IncomingCallActivity` pattern — see `cometchat-android-v6-calls/references/server-fcm-voip.md`.
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Verification checklist
|
|
83
|
-
|
|
84
|
-
- [ ] `chatuikit-compose-android:6.+` (or `chatuikit-kotlin-android:6.+`) in app deps
|
|
85
|
-
- [ ] `.enableCalling()` chained into UIKitSettings.Builder
|
|
86
|
-
- [ ] Manifest permissions same as V5
|
|
87
|
-
- [ ] `CometChatIncomingCall` mounted (Compose overlay or Views FrameLayout)
|
|
88
|
-
- [ ] FCM token registration wired
|
|
89
|
-
- [ ] Run `cometchat verify --calls` — `v6_enable_calling` should pass
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Pointers
|
|
94
|
-
|
|
95
|
-
- `cometchat-android-v5-calls/references/add-calls-to-existing-chat.md` — V5 sister (separate calls SDK)
|
|
96
|
-
- `cometchat-android-v6-calls/SKILL.md`
|
|
97
|
-
- `cometchat-android-v6-calls/references/server-fcm-voip.md` — Compose-flavored server FCM
|