@cometchat/skills 4.4.2 → 5.0.1
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 +44 -0
- package/LICENSE +21 -0
- package/MIGRATING.md +187 -0
- package/README.md +52 -156
- package/RULES.md +125 -0
- package/bin/cometchat-skills.mjs +1280 -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 +156 -74
- package/peers.yaml +355 -0
- package/registry/README.md +31 -0
- package/registry/android-calls-v5.json +94 -0
- package/registry/android-v6.json +177 -0
- package/registry/angular-v5.json +154 -0
- package/registry/flutter-calls-v5.json +94 -0
- package/registry/flutter-v6.json +159 -0
- package/registry/ios-calls-v5.json +99 -0
- package/registry/ios-v5.json +152 -0
- package/registry/rn-calls-v5.json +99 -0
- package/registry/rn-v5.json +169 -0
- package/registry/sdk-android-v5.json +93 -0
- package/registry/sdk-jsv4.json +93 -0
- package/registry/web-calls-v5.json +94 -0
- package/registry/web-v7.json +154 -0
- package/skills/cometchat/SKILL.md +47 -2096
- package/skills/cometchat-a11y/SKILL.md +44 -472
- package/skills/cometchat-analytics/SKILL.md +61 -0
- 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 +41 -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 +102 -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-audit/SKILL.md +61 -0
- package/skills/cometchat-compliance/SKILL.md +63 -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 +132 -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 +59 -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-i18n/SKILL.md +35 -404
- 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 +182 -1068
- package/skills/cometchat-ios-core/references/anti-patterns.md +113 -0
- package/skills/cometchat-ios-core/references/docs-map.md +124 -0
- package/skills/cometchat-ios-core/references/install.md +23 -0
- package/skills/cometchat-ios-core/references/layout.md +219 -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-production/SKILL.md +67 -723
- package/skills/cometchat-ios-push/SKILL.md +24 -602
- package/skills/cometchat-ios-testing/SKILL.md +36 -355
- package/skills/cometchat-ios-troubleshooting/SKILL.md +31 -989
- 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-migrate-from-getstream/SKILL.md +65 -0
- package/skills/cometchat-migrate-from-getstream/references/concept-map.md +98 -0
- package/skills/cometchat-migrate-from-getstream/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-getstream/references/feature-map.md +108 -0
- package/skills/cometchat-migrate-from-getstream/references/inventory.md +82 -0
- package/skills/cometchat-migrate-from-getstream/references/native-build.md +9 -0
- package/skills/cometchat-migrate-from-getstream/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-sendbird/SKILL.md +64 -0
- package/skills/cometchat-migrate-from-sendbird/references/concept-map.md +99 -0
- package/skills/cometchat-migrate-from-sendbird/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-sendbird/references/feature-map.md +104 -0
- package/skills/cometchat-migrate-from-sendbird/references/inventory.md +86 -0
- package/skills/cometchat-migrate-from-sendbird/references/native-build.md +10 -0
- package/skills/cometchat-migrate-from-sendbird/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-twilio/SKILL.md +52 -0
- package/skills/cometchat-migrate-from-twilio/references/concept-map.md +49 -0
- package/skills/cometchat-migrate-from-twilio/references/data-migration.md +50 -0
- package/skills/cometchat-migrate-from-twilio/references/feature-map.md +27 -0
- package/skills/cometchat-migrate-from-twilio/references/inventory.md +53 -0
- package/skills/cometchat-migrate-from-twilio/references/report-template.md +52 -0
- package/skills/cometchat-moderation/SKILL.md +58 -0
- package/skills/cometchat-onboarding/SKILL.md +92 -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 +105 -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 +335 -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 +127 -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 +79 -0
- package/skills/cometchat-react-native-push/SKILL.md +88 -0
- package/skills/cometchat-react-native-sdk/SKILL.md +133 -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 +174 -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/layout.md +150 -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-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-production/SKILL.md +84 -0
- package/skills/cometchat-react-v7-push/SKILL.md +53 -0
- package/skills/cometchat-react-v7-testing/SKILL.md +60 -0
- package/skills/cometchat-react-v7-troubleshooting/SKILL.md +47 -0
- package/skills/cometchat-security/SKILL.md +80 -0
- package/skills/cometchat-self-host/SKILL.md +56 -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 +932 -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 +134 -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-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-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-theming/SKILL.md +0 -667
- 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,400 +1,89 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cometchat-android-v6-migration
|
|
3
|
-
description:
|
|
3
|
+
description: "Upgrade an Android app from the CometChat v5 UI Kit (Java, XML Views) to v6 (Kotlin — XML Views or Jetpack Compose): artifact and package changes, the CometChatThreadedMessagesHeader rename, LiveData→StateFlow, events→CometChatEvents SharedFlow, style objects→theme attributes/style data classes, and minSdk 28. Triggers: 'upgrade cometchat android v5 to v6', 'migrate android ui kit to v6', 'v6 import paths android', 'cometchat android breaking changes'."
|
|
4
4
|
license: "MIT"
|
|
5
|
-
compatibility: "
|
|
5
|
+
compatibility: "FROM com.cometchat:chat-uikit-android 5.x (Java/XML Views, minSdk 24 — note the DIFFERENT artifact id; chatuikit-kotlin-android has no 5.x) TO 6.0.x — com.cometchat:chatuikit-kotlin-android (XML Views) or com.cometchat:chatuikit-compose-android (Compose) + chatuikit-core-android; Kotlin >=1.9 / AGP >=8; JVM 11; minSdk 28; compileSdk >=36; com.cometchat:chat-sdk-android ^5"
|
|
6
6
|
metadata:
|
|
7
7
|
author: "CometChat"
|
|
8
|
-
version: "
|
|
9
|
-
tags: "cometchat android v5 v6
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
tags: "cometchat android migration v5 v6 upgrade kotlin compose breaking-changes"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
> **Ground truth:** the live page `/ui-kit/android/upgrading-from-v5` (the authoritative breaking-change map — every mapping below is quoted from it) + catalog `android-v6.json` (what exists AFTER the upgrade) + `COVERAGE.md` (the v5→v6 verdict table). Removed/renamed v5 names appear in PROSE only — never emit a v5 symbol in a code fence.
|
|
13
13
|
|
|
14
|
-
Migration recipes for moving from CometChat Android UIKit V5 (`chat-uikit-android:5.x`) to V6 (`chatuikit-{compose,kotlin}-android:6.0.+`). V6 is stable (GA 2026-05-25) and the recommended target for new apps; existing V5 apps can migrate when ready — there's no forced timeline, and V5 remains supported. This skill covers both the decision and the mechanics.
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
> ⚠️ **Before you touch code:** a v5→v6 upgrade hits two build blockers the moment the new artifact
|
|
16
|
+
> resolves. Set `android.useAndroidX=true` + `android.enableJetifier=true` in `gradle.properties`
|
|
17
|
+
> (the Chat SDK still pulls a pre-AndroidX transitive → `Duplicate class android.support.v4.*`) and
|
|
18
|
+
> keep `configurations.all { exclude(group = "org.jetbrains", module = "annotations-java5") }`.
|
|
19
|
+
> Floors also rise: **minSdk 28 · Kotlin 2.1 · AGP 8.9.1**.
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
- `cometchat-android-
|
|
20
|
-
- `cometchat-android-v6-
|
|
21
|
-
- `cometchat-android-v6-builder-settings` — the new UIKitSettings API in detail
|
|
22
|
-
- `cometchat-android-v6-{compose,kotlin}-{components,placement,theming,customization}` — surface-specific destination skills
|
|
23
|
-
- `cometchat-android-v6-calls` — calls migration (calls SDK is bundled in V6)
|
|
21
|
+
## Companion skills (read first)
|
|
22
|
+
- `cometchat-android-v6-core` — the v6 install, credentials (`assets/cometchat-settings.json`), `initFromSettings → login → render`. The migration ENDS in core's golden path; this skill gets you there.
|
|
23
|
+
- After migrating: `cometchat-android-v6-{kotlin,compose}-customization` (styling moved), `cometchat-android-v6-events` (events moved).
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- V6 source — installed `chatuikit-{compose,kotlin}-android@6.0.+` artifacts
|
|
28
|
-
- Sister skill — `cometchat-flutter-v6-migration` (different platform, same migration shape)
|
|
25
|
+
## Use this skill when
|
|
26
|
+
"upgrade our Android UI Kit from v5 to v6", "we're on the Java UI Kit, move us to Kotlin/Compose", "what breaks in v6?", "fix these v5 imports". This is **reconciliation**, not onboarding — a `version_conflict` is expected here and resolving it IS the job.
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
## 1. When to migrate vs stay
|
|
33
|
-
|
|
34
|
-
**Stay on V5 if:**
|
|
35
|
-
|
|
36
|
-
- Your app is in production and stable
|
|
37
|
-
- You're not actively shipping new chat features
|
|
38
|
-
- You don't need V6's specific additions (Compose-first surface, AI Agent integration, Material 3 theming defaults)
|
|
39
|
-
- Your minSdk is 21-27 (V6 requires minSdk 28)
|
|
40
|
-
|
|
41
|
-
**Move to V6 if:**
|
|
42
|
-
|
|
43
|
-
- You're starting a new project
|
|
44
|
-
- You're rewriting your existing app's UI to Compose anyway
|
|
45
|
-
- You need V6 features that aren't backported to V5 (e.g. some AI Agent components)
|
|
46
|
-
- You've validated V6 against your use cases on a sample project first
|
|
47
|
-
|
|
48
|
-
**The dispatcher (`cometchat-android-v6`) routes by detected version.** Both V5 and V6 skill sets ship in `npx @cometchat/skills add --family android` — the migration here lives under V6 because that's the destination cohort.
|
|
49
|
-
|
|
50
|
-
---
|
|
28
|
+
## Prerequisites & install
|
|
29
|
+
Before touching code: confirm the current artifact + version, that the app builds, and **minSdk**. v6 requires **minSdk 28** (v5 allowed 24) — if the app targets lower, that's a product decision to raise it; surface it FIRST, it can block the whole migration.
|
|
51
30
|
|
|
52
|
-
##
|
|
53
|
-
|
|
54
|
-
V6 is split into two surfaces:
|
|
55
|
-
|
|
56
|
-
| Surface | Package | When to pick |
|
|
31
|
+
## Breaking-change map (from the docs table)
|
|
32
|
+
| Area | V5 | V6 |
|
|
57
33
|
|---|---|---|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
34
|
+
| Language | Java | Kotlin |
|
|
35
|
+
| Modules | single `com.cometchat:chat-uikit-android` (the v5 id — **not** `chatuikit-kotlin-android`, which only ever published 6.x) | `chatuikit-kotlin-android` (XML) **or** `chatuikit-compose-android` (Compose) + shared `chatuikit-core-android` |
|
|
36
|
+
| Import root | `com.cometchat.chatuikit.*` | `com.cometchat.uikit.kotlin.presentation.*` / `com.cometchat.uikit.compose.presentation.*` |
|
|
37
|
+
| `CometChatUIKit` | `com.cometchat.chatuikit.shared.cometchatuikit.CometChatUIKit` | `com.cometchat.uikit.core.CometChatUIKit` |
|
|
38
|
+
| `UIKitSettings` | `com.cometchat.chatuikit.shared.cometchatuikit.UIKitSettings` | `com.cometchat.uikit.core.UIKitSettings` |
|
|
39
|
+
| State | `LiveData` observers | `StateFlow` / coroutines |
|
|
40
|
+
| Architecture | View + ViewModel + Adapter (2 layers) | View → ViewModel → Repository → DataSource (4 layers) |
|
|
41
|
+
| Events | `CometChat*Events.addListener()/removeListener()` | `CometChatEvents` singleton, `SharedFlow` collected in a coroutine scope |
|
|
42
|
+
| Theming | `Palette` + `Typography` objects | XML attrs extending `CometChatTheme.DayNight`, or the `CometChatTheme {}` composable |
|
|
43
|
+
| Styling | `setStyle(ComponentStyle)` | XML `@StyleRes` theme attributes, or style data classes `.default().copy()` |
|
|
44
|
+
| ViewModel access | Java ViewModel + `LiveData` | Kotlin ViewModel + `StateFlow` (`getViewModel()`/`setViewModel()`) |
|
|
45
|
+
| List ops | adapter manipulation | `ListOperations<T>` (`addItem`, `removeItem`, `updateItem`, `moveItemToTop`, `batch {}`) |
|
|
46
|
+
| Repository | not exposed | swappable via factory (`*ViewModelFactory`) |
|
|
47
|
+
| minSdk | 24 | **28** |
|
|
48
|
+
|
|
49
|
+
**Component renames — only ONE**: `CometChatThreadedMessagesHeader` → **`CometChatThreadHeader`**. Everything else (`CometChatConversations`, `CometChatUsers`, `CometChatGroups`, `CometChatMessageHeader`, `CometChatMessageList`, `CometChatMessageComposer`, `CometChatIncomingCall`, `CometChatOutgoingCall`, `CometChatCallButtons`, `CometChatCallLogs`, `CometChatGroupMembers`) **keeps its name and only moves package**.
|
|
50
|
+
|
|
51
|
+
## Codemod / steps (in this order)
|
|
52
|
+
1. **Decide the cohort** — staying on XML Views (`chatuikit-kotlin-android`, smallest diff) or moving to Compose (`chatuikit-compose-android`, a UI rewrite of the chat screens). Ask; don't assume. Never ship both.
|
|
53
|
+
2. **Raise minSdk to 28** and confirm Kotlin/AGP/JVM 11 are in place.
|
|
54
|
+
3. **Swap the dependency** to the 6.x artifact for the chosen cohort (+ the CometChat Maven repo, `core` §Install). Remove the v5 artifact — grep the build file for **`com.cometchat:chat-uikit-android`** (that is the v5 id) — entirely — a leftover v5 dependency is the duplicate-class/`version_conflict` failure.
|
|
55
|
+
4. **Rewrite imports** (the bulk of the diff, mechanical):
|
|
56
|
+
- `com.cometchat.chatuikit.shared.cometchatuikit.CometChatUIKit` → `com.cometchat.uikit.core.CometChatUIKit` (same for `UIKitSettings`).
|
|
57
|
+
- `com.cometchat.chatuikit.<area>.<Component>` → `com.cometchat.uikit.kotlin.presentation.<area>.ui.<Component>` (XML Views) or `…uikit.compose.presentation.<area>.ui.<Component>` (Compose).
|
|
58
|
+
- Grep targets: `com.cometchat.chatuikit.` (any hit is v5) and `CometChatThreadedMessagesHeader` (the one rename).
|
|
59
|
+
5. **Migrate init to v6** — the v6 default is `CometChatUIKit.initFromSettings(context, callback)` reading `app/src/main/assets/cometchat-settings.json`, then `login` in `onSuccess` (`core`). Move credentials out of source while you're here.
|
|
60
|
+
6. **Events** — replace every `addListener`/`removeListener` pair with a `CometChatEvents.<domain>Events.collect { }` in `lifecycleScope` (Views) or `LaunchedEffect` (Compose). No manual removal (→ `cometchat-android-v6-events`).
|
|
61
|
+
7. **State** — `LiveData.observe(...)` → collecting `StateFlow` in a lifecycle-aware scope.
|
|
62
|
+
8. **Styling/theming** — style objects → theme attributes (`themes.xml` extending `CometChatTheme.DayNight`) or Compose style data classes (→ `cometchat-android-v6-{kotlin,compose}-customization`).
|
|
63
|
+
9. **Compose only**: rebuild the chat screens as composables (`core`'s golden path / `cometchat-android-v6-{kotlin,compose}-placement` recipes) — XML layouts hosting kit views don't carry over.
|
|
64
|
+
10. **Build, then run** — fix per component using the docs page's "Component-by-Component Migration" section (fetch it: `/ui-kit/android/upgrading-from-v5.md`).
|
|
65
|
+
|
|
66
|
+
## Before → after patterns
|
|
67
|
+
```java
|
|
68
|
+
// V5 (Java) — imports + init
|
|
69
|
+
import com.cometchat.chatuikit.shared.cometchatuikit.CometChatUIKit;
|
|
70
|
+
import com.cometchat.chatuikit.conversations.CometChatConversations;
|
|
77
71
|
```
|
|
78
|
-
|
|
79
|
-
### V6 (Compose path)
|
|
80
|
-
|
|
81
|
-
```kotlin
|
|
82
|
-
dependencies {
|
|
83
|
-
implementation("com.cometchat:chatuikit-compose-android:6.0.+")
|
|
84
|
-
// No separate calls SDK — calls bundled into the same artifact
|
|
85
|
-
// Compose dependencies (if not already present)
|
|
86
|
-
implementation(platform("androidx.compose:compose-bom:2024.02.00"))
|
|
87
|
-
implementation("androidx.compose.material3:material3")
|
|
88
|
-
implementation("androidx.compose.ui:ui")
|
|
89
|
-
implementation("androidx.compose.ui:ui-tooling-preview")
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### V6 (Kotlin Views path)
|
|
94
|
-
|
|
95
72
|
```kotlin
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
// Material Components for theming (`CometChatTheme.DayNight` extends Material themes)
|
|
100
|
-
implementation("com.google.android.material:material:1.11.+")
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### `gradle.properties` rules carry over
|
|
105
|
-
|
|
106
|
-
```properties
|
|
107
|
-
android.useAndroidX=true
|
|
108
|
-
android.enableJetifier=true
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Both still required on V6.
|
|
112
|
-
|
|
113
|
-
### `minSdk` floor
|
|
114
|
-
|
|
115
|
-
V5: minSdk 21. V6: **minSdk 28**. If you're on minSdk 21-27 and want V6, this is the first thing to address — bump minSdk and audit your other dependencies for compatibility.
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 4. Init API rewrite
|
|
120
|
-
|
|
121
|
-
### V5 — `UIKitSettingsBuilder`
|
|
122
|
-
|
|
123
|
-
```kotlin
|
|
124
|
-
val settings = UIKitSettingsBuilder()
|
|
125
|
-
.setRegion("us")
|
|
126
|
-
.setAppId(BuildConfig.COMETCHAT_APP_ID)
|
|
127
|
-
.setAuthKey(BuildConfig.COMETCHAT_AUTH_KEY)
|
|
128
|
-
.subscribePresenceForAllUsers()
|
|
129
|
-
.build()
|
|
130
|
-
|
|
131
|
-
CometChatUIKit.init(this, settings, object : CometChat.CallbackListener<String>() {
|
|
132
|
-
override fun onSuccess(s: String) { /* ... */ }
|
|
133
|
-
override fun onError(e: CometChatException) { /* ... */ }
|
|
134
|
-
})
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### V6 — `UIKitSettings.UIKitSettingsBuilder()`
|
|
138
|
-
|
|
139
|
-
```kotlin
|
|
140
|
-
val settings = UIKitSettings.UIKitSettingsBuilder()
|
|
141
|
-
.setAppId(BuildConfig.COMETCHAT_APP_ID)
|
|
142
|
-
.setRegion(BuildConfig.COMETCHAT_REGION)
|
|
143
|
-
.setAuthKey(BuildConfig.COMETCHAT_AUTH_KEY)
|
|
144
|
-
.subscribePresenceForAllUsers()
|
|
145
|
-
.setEnableCalling(true) // ← calls toggled on here, not via separate SDK
|
|
146
|
-
.build()
|
|
147
|
-
|
|
148
|
-
CometChatUIKit.init(this, settings, object : CometChat.CallbackListener<String>() {
|
|
149
|
-
override fun onSuccess(result: String) { /* ... */ }
|
|
150
|
-
override fun onError(e: CometChatException) { /* surface to UI */ }
|
|
151
|
-
})
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
Differences:
|
|
155
|
-
|
|
156
|
-
- Builder: unchanged — both V5 and V6 use `UIKitSettings.UIKitSettingsBuilder()` (nested class)
|
|
157
|
-
- Calls: separate SDK init → `.setEnableCalling(true)` flag on the builder
|
|
158
|
-
- Result handling: unchanged — `init()`/`login()` still take `CometChat.CallbackListener<T>` (onSuccess/onError). There is **no** `Result.Success`/`Result.Error` sealed class in V6.
|
|
159
|
-
|
|
160
|
-
For full builder option mapping, see `cometchat-android-v6-builder-settings`.
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## 5. Calls integration migration
|
|
165
|
-
|
|
166
|
-
V5 has a separate `calls-sdk-android` artifact + a separate `CometChatCalls.init`. V6 bundles calls into `chatuikit-{compose,kotlin}-android` and toggles via `.setEnableCalling(true)`.
|
|
167
|
-
|
|
168
|
-
### V5 calls init
|
|
169
|
-
|
|
170
|
-
```kotlin
|
|
171
|
-
// In Application.onCreate
|
|
172
|
-
CometChat.init(this, BuildConfig.COMETCHAT_APP_ID, appSettings, /* callback */)
|
|
173
|
-
|
|
174
|
-
val callAppSettings = CallAppSettingsBuilder()
|
|
175
|
-
.setAppId(BuildConfig.COMETCHAT_APP_ID)
|
|
176
|
-
.setRegion(BuildConfig.COMETCHAT_REGION)
|
|
177
|
-
.build()
|
|
178
|
-
CometChatCalls.init(this, callAppSettings, /* callback */)
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### V6 calls init
|
|
182
|
-
|
|
183
|
-
```kotlin
|
|
184
|
-
val settings = UIKitSettings.UIKitSettingsBuilder()
|
|
185
|
-
// ... appId, region, authKey ...
|
|
186
|
-
.setEnableCalling(true) // ← that's it; calls SDK init happens internally
|
|
187
|
-
.build()
|
|
188
|
-
|
|
189
|
-
// init takes a CometChat.CallbackListener<String> (an abstract class — NOT a
|
|
190
|
-
// fun interface), so use the object form, not a trailing lambda.
|
|
191
|
-
CometChatUIKit.init(this, settings, object : CometChat.CallbackListener<String>() {
|
|
192
|
-
override fun onSuccess(result: String) { /* ready */ }
|
|
193
|
-
override fun onError(e: CometChatException) { /* handle */ }
|
|
194
|
-
})
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### Permissions + manifest carry over
|
|
198
|
-
|
|
199
|
-
V5's manifest entries (FOREGROUND_SERVICE_*, MANAGE_OWN_CALLS, BIND_TELECOM_CONNECTION_SERVICE, RECORD_AUDIO, CAMERA, POST_NOTIFICATIONS) are unchanged on V6. Same `foregroundServiceType="phoneCall|microphone|camera"` rule applies. See `cometchat-android-v5-calls/references/voip-calling.md` — the VoIP push implementation works as-is on V6.
|
|
200
|
-
|
|
201
|
-
### KEEP `calls-sdk-android:5.0.+` — V6 still needs it as a peer dep
|
|
202
|
-
|
|
203
|
-
**⚠️ Despite vendor marketing of "bundled calling," chatuikit-compose-android:6.0.0 ships without the calls SDK and CRASHES on init without it.** Keep `com.cometchat:calls-sdk-android:5.0.+` in `app/build.gradle.kts` plus apply the W3 stub-class workaround. Full set of five required workarounds is in `cometchat-android-v6-calls` §"Five required workarounds" — apply them all if your app uses calls.
|
|
204
|
-
|
|
205
|
-
Earlier guidance to "drop calls-sdk-android" was wrong; validated end-to-end against a web peer on 2026-05-12 confirmed the dep is mandatory.
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## 6. Theme system rewrite
|
|
210
|
-
|
|
211
|
-
### V5 — XML theme attrs + style classes
|
|
212
|
-
|
|
213
|
-
```xml
|
|
214
|
-
<!-- res/values/themes.xml -->
|
|
215
|
-
<style name="Theme.YourApp" parent="Theme.Material3.DayNight.NoActionBar">
|
|
216
|
-
<item name="cometchatPrimaryColor">@color/your_primary</item>
|
|
217
|
-
<item name="cometchatBackgroundColor">@color/your_bg</item>
|
|
218
|
-
<!-- ... -->
|
|
219
|
-
</style>
|
|
73
|
+
// V6 (Kotlin, XML Views cohort)
|
|
74
|
+
import com.cometchat.uikit.core.CometChatUIKit
|
|
75
|
+
import com.cometchat.uikit.kotlin.presentation.conversations.ui.CometChatConversations
|
|
220
76
|
```
|
|
221
|
-
|
|
222
|
-
Plus programmatic overrides via `CometChatTheme.getInstance().palette.setPrimary(...)`.
|
|
223
|
-
|
|
224
|
-
### V6 Compose — `CometChatTheme` composable
|
|
225
|
-
|
|
226
77
|
```kotlin
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
primary = Color(0xFF6750A4),
|
|
231
|
-
// ...
|
|
232
|
-
),
|
|
233
|
-
typography = ourTypography,
|
|
234
|
-
shapes = ourShapes,
|
|
235
|
-
) {
|
|
236
|
-
AppNavigation()
|
|
237
|
-
}
|
|
78
|
+
// V6 events — the old addListener/removeListener pair becomes a scoped collect
|
|
79
|
+
lifecycleScope.launch {
|
|
80
|
+
CometChatEvents.messageEvents.collect { event -> /* when (event) { … } */ }
|
|
238
81
|
}
|
|
239
82
|
```
|
|
83
|
+
> The thread header is the one rename to grep for; everything else is a package move. Full per-component diffs (Conversations, Users, Groups, Message Header/List/Composer): the docs page's component sections.
|
|
240
84
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
```xml
|
|
244
|
-
<!-- res/values/themes.xml -->
|
|
245
|
-
<style name="Theme.YourApp" parent="CometChatTheme.DayNight">
|
|
246
|
-
<item name="cometchatPrimaryColor">@color/your_primary</item>
|
|
247
|
-
<!-- ... -->
|
|
248
|
-
</style>
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**CRITICAL:** Activity themes hosting V6 Kotlin Views components MUST inherit from `CometChatTheme.DayNight` (or its `.Light` / `.Dark` variants) — NOT `Theme.AppCompat.*` or `Theme.MaterialComponents.*`. V6 components extend `MaterialCardView` and reference kit-specific theme attrs that aren't in the older theme parents. Crash signature: `Failed to resolve attribute at index N`.
|
|
252
|
-
|
|
253
|
-
This is documented in `cometchat-android-v6-troubleshooting` and surfaced in the V6 calls smoke (calls components are the canary that exposes the bug first).
|
|
254
|
-
|
|
255
|
-
### Migration plan for theme
|
|
256
|
-
|
|
257
|
-
1. Audit V5 theme attrs (`grep cometchat res/values/`)
|
|
258
|
-
2. Map each to its V6 equivalent (most are same names; some have been renamed for Material 3 alignment)
|
|
259
|
-
3. Activity manifest: change `android:theme="@style/Theme.AppCompat.*"` → `android:theme="@style/Theme.YourApp"` where the new theme inherits `CometChatTheme.DayNight`
|
|
260
|
-
4. Programmatic theme overrides: rewrite via Compose `CometChatTheme(colorScheme = ...)` or Kotlin Views `CometChatTheme.setPrimaryColor(...)` (the `CometChatTheme` object exposes `setPrimaryColor`/`setExtendedPrimaryColor*`/`setNeutralColor*` etc. — there is no `.singleton.colors` field; depends on surface)
|
|
261
|
-
|
|
262
|
-
For full mapping, see `cometchat-android-v6-{compose,kotlin}-theming`.
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## 7. Component name + import migration
|
|
267
|
-
|
|
268
|
-
The component names (`CometChatConversations`, `CometChatMessageList`, `CometChatMessageHeader`, `CometChatMessageComposer`, `CometChatUsers`, `CometChatGroups`, `CometChatCallButtons`, etc.) are unchanged in V6. The packages differ:
|
|
269
|
-
|
|
270
|
-
### V5 imports
|
|
271
|
-
|
|
272
|
-
```kotlin
|
|
273
|
-
import com.cometchat.chatuikit.conversations.CometChatConversations
|
|
274
|
-
import com.cometchat.chatuikit.messages.CometChatMessageList
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### V6 Compose imports
|
|
278
|
-
|
|
279
|
-
```kotlin
|
|
280
|
-
import com.cometchat.uikit.compose.presentation.conversations.ui.CometChatConversations
|
|
281
|
-
import com.cometchat.uikit.compose.presentation.messagelist.ui.CometChatMessageList
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### V6 Kotlin Views imports
|
|
285
|
-
|
|
286
|
-
```kotlin
|
|
287
|
-
import com.cometchat.uikit.kotlin.presentation.conversations.ui.CometChatConversations
|
|
288
|
-
import com.cometchat.uikit.kotlin.presentation.messagelist.ui.CometChatMessageList
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
The skill rewrites imports during migration. The V6 namespace is `com.cometchat.uikit.{compose,kotlin}.presentation.<feature>.ui` — NOT the V5 `com.cometchat.chatuikit.*`. Most projects can do a regex sweep:
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
# Compose path
|
|
295
|
-
sed -i -E 's|com.cometchat.chatuikit.([a-z]+)|com.cometchat.uikit.compose.presentation.\1.ui|g' app/src/main/kotlin/**/*.kt
|
|
296
|
-
# Kotlin Views path
|
|
297
|
-
sed -i -E 's|com.cometchat.chatuikit.([a-z]+)|com.cometchat.uikit.kotlin.presentation.\1.ui|g' app/src/main/kotlin/**/*.kt
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
But verify each rewrite — some V5 modules have been split or merged in V6 in ways the agent should review case-by-case.
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
## 8. Side-by-side cohort selection
|
|
305
|
-
|
|
306
|
-
V5 and V6 skill sets both ship in `--family android`. During migration, the dispatcher detects which is in use from `app/build.gradle.kts`:
|
|
307
|
-
|
|
308
|
-
- `chat-uikit-android:5.x` only → V5 cohort
|
|
309
|
-
- `chatuikit-{compose,kotlin}-android:6.x` only → V6 cohort
|
|
310
|
-
- Both present → ASK (rare; usually means in-progress migration)
|
|
311
|
-
|
|
312
|
-
For an in-progress migration, you can have V5 and V6 in the same module temporarily, but they'll fight over runtime singletons (`CometChatUIKit.init` exists in both). Best practice: migrate one feature at a time, fully — don't leave a half-migrated state.
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
## 9. Migration plan template
|
|
317
|
-
|
|
318
|
-
```
|
|
319
|
-
□ Audit current V5 integration
|
|
320
|
-
□ Which V5 skills' patterns are in use?
|
|
321
|
-
□ List Activities / Fragments hosting CometChat surfaces
|
|
322
|
-
□ List custom views, decorators, request builders
|
|
323
|
-
□ List theme attrs in use
|
|
324
|
-
|
|
325
|
-
□ Pick V6 surface
|
|
326
|
-
□ Compose vs Kotlin Views per chat screen
|
|
327
|
-
□ Bump minSdk if below 28
|
|
328
|
-
|
|
329
|
-
□ Update gradle
|
|
330
|
-
□ Remove chat-uikit-android:5.x
|
|
331
|
-
□ KEEP calls-sdk-android:5.0.+ (V6 needs it as peer dep — see §"KEEP calls-sdk-android:5.0.+" above)
|
|
332
|
-
□ Add chatuikit-{compose,kotlin}-android:6.0.+
|
|
333
|
-
□ Add Compose deps (if applicable) or Material Components (if Kotlin Views)
|
|
334
|
-
|
|
335
|
-
□ Rewrite init
|
|
336
|
-
□ UIKitSettingsBuilder → UIKitSettings.UIKitSettingsBuilder()
|
|
337
|
-
□ Drop separate CometChatCalls.init; add .setEnableCalling(true) on UIKitSettings
|
|
338
|
-
□ init callback stays CometChat.CallbackListener<String> (V6 did NOT switch to a Result/sealed-class API)
|
|
339
|
-
|
|
340
|
-
□ Rewrite themes
|
|
341
|
-
□ Activity theme parent → CometChatTheme.DayNight (Kotlin Views)
|
|
342
|
-
□ Compose entry uses CometChatTheme composable
|
|
343
|
-
□ Re-map any custom theme attrs
|
|
344
|
-
|
|
345
|
-
□ Rewrite imports
|
|
346
|
-
□ All com.cometchat.chatuikit.* → com.cometchat.chatuikit.{compose,kotlin}.*
|
|
347
|
-
|
|
348
|
-
□ Migrate custom views / decorators / request builders
|
|
349
|
-
□ See cometchat-android-v6-{compose,kotlin}-customization
|
|
350
|
-
|
|
351
|
-
□ Verify build
|
|
352
|
-
□ ./gradlew clean assembleDebug
|
|
353
|
-
□ Resolve any "Duplicate class" errors (drop conflicting V5 deps)
|
|
354
|
-
|
|
355
|
-
□ Smoke on real device
|
|
356
|
-
□ Login → see conversations
|
|
357
|
-
□ Send message
|
|
358
|
-
□ Call (voice + video)
|
|
359
|
-
□ Theme renders correctly (light + dark)
|
|
360
|
-
□ No crashes from theme parent mismatch
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
## 10. Common migration failure modes
|
|
366
|
-
|
|
367
|
-
| Symptom | Cause | Fix |
|
|
368
|
-
|---|---|---|
|
|
369
|
-
| Build error: "Duplicate class com.cometchat.chatuikit.*" | Both V5 and V6 deps in `app/build.gradle.kts` | Remove `chat-uikit-android:5.x` |
|
|
370
|
-
| `IllegalArgumentException` at activity start | Activity theme not `CometChatTheme.DayNight` | Update theme parent |
|
|
371
|
-
| Calls don't ring / `E/CallManager: Calling module not found` | chatuikit-compose:6.0.0 needs `calls-sdk-android:5.0.+` as explicit peer + W1–W5 workarounds | See `cometchat-android-v6-calls` §"Five required workarounds" — do NOT remove calls-sdk-android |
|
|
372
|
-
| Theme attrs missing | V5 attr name renamed in V6 | Audit `cometchat-android-v6-{compose,kotlin}-theming` for the V6 attr name |
|
|
373
|
-
| `Failed to resolve attribute at index N` | Activity theme inherits `Theme.AppCompat.*` | Change parent to `CometChatTheme.DayNight` |
|
|
374
|
-
| Init never resolves | V5 `CometChat.init` still being called alongside V6 `CometChatUIKit.init` | Remove the V5 call |
|
|
375
|
-
| `minSdk` build error | Trying to use V6 with minSdk < 28 | Bump minSdk to 28 |
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
## 11. Verification checklist
|
|
380
|
-
|
|
381
|
-
- [ ] `app/build.gradle.kts` has only one CometChat dep tree (V5 OR V6, not both)
|
|
382
|
-
- [ ] `minSdk = 28` or higher
|
|
383
|
-
- [ ] All V5 imports rewritten to the V6 surface (`compose` or `kotlin` namespace)
|
|
384
|
-
- [ ] `UIKitSettingsBuilder` → `UIKitSettings.UIKitSettingsBuilder()` everywhere
|
|
385
|
-
- [ ] `.setEnableCalling(true)` on the builder if calls are used
|
|
386
|
-
- [ ] Activity themes inherit `CometChatTheme.DayNight` (Kotlin Views path)
|
|
387
|
-
- [ ] No `CometChatCalls.init` calls outside what V6 does internally
|
|
388
|
-
- [ ] `calls-sdk-android:5.0.+` retained as explicit peer dep (V6 needs it; despite vendor marketing of "bundled calls")
|
|
389
|
-
- [ ] Build succeeds: `./gradlew clean assembleDebug`
|
|
390
|
-
- [ ] Real-device smoke: login + chat + voice call + video call
|
|
391
|
-
- [ ] Theme smoke: light mode + dark mode + custom palette renders correctly
|
|
392
|
-
|
|
393
|
-
## 12. Pointers
|
|
85
|
+
## Common pitfalls
|
|
86
|
+
Leaving the v5 artifact in the tree (duplicate classes) · mixing both v6 cohorts · missing the minSdk 28 bump · migrating imports but keeping `LiveData` observers · keeping `addListener`/`removeListener` for UI-Kit events (now flows) · missing the `CometChatThreadedMessagesHeader` → `CometChatThreadHeader` rename · carrying v5 style objects forward · keeping the classic `init(...)` instead of moving to `initFromSettings` · assuming Compose is a drop-in for XML screens · migrating code but leaving credentials hardcoded.
|
|
394
87
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
- `cometchat-android-v6-{compose,kotlin}-{components,placement,theming,customization}` — destination skills per surface
|
|
398
|
-
- `cometchat-android-v6-calls` — calls integration delta
|
|
399
|
-
- `cometchat-android-v6-troubleshooting` — common V6-specific failure modes (theme parent, R8, Compose runtime)
|
|
400
|
-
- `cometchat-flutter-v6-migration` — sibling skill for Flutter (same migration shape on a different platform)
|
|
88
|
+
## Verify it works
|
|
89
|
+
Zero matches for `com.cometchat.chatuikit.` and `CometChatThreadedMessagesHeader` in the source; only ONE cometchat UI-Kit artifact resolves (`./gradlew :app:dependencies`); the fence gate compiles (`./gradlew :app:assembleDebug # in YOUR app (npm run verify:fences:android-v6 is a pack-repo gate)`). On device: init + login succeed, conversations → messages works, threads/search round-trip, events fire once, theming still matches the brand, calls/push (if used) still work. Any capability that existed in v5 and has no v6 equivalent must be reported to the user, not silently dropped — see `COVERAGE.md`.
|