@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,161 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-flutter-v5-theming
|
|
3
|
-
description: "Use when customizing the visual appearance of CometChat Flutter UIKit v5 components. Triggers on CometChatThemeHelper, CometChatColorPalette, CometChatSpacing, CometChatTypography, Style classes, merge()."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "cometchat_uikit_shared ^5.2.3; flutter >=2.5.0"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat flutter v5 theme colors typography spacing dark-mode styling"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `cometchat_chat_uikit: ^5.2` (legacy/maintenance-only; calls via raw `cometchat_calls_sdk ^5.0.2`) — pub-cache source + `ui-kit/flutter/v5`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/v5/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
|
-
# CometChat Flutter UIKit v5 — Theming & Styling
|
|
15
|
-
|
|
16
|
-
How to customize the visual appearance of all CometChat v5 components.
|
|
17
|
-
|
|
18
|
-
## Theme System Architecture
|
|
19
|
-
|
|
20
|
-
Three layers, resolved via Flutter's `ThemeExtension` system:
|
|
21
|
-
|
|
22
|
-
1. `CometChatColorPalette` — colors (primary, neutral, alert, background, text, icon, button, border)
|
|
23
|
-
2. `CometChatSpacing` — spacing, padding, margin, and radius tokens
|
|
24
|
-
3. `CometChatTypography` — text styles (heading1-4, body, caption1-2, button, link, title)
|
|
25
|
-
|
|
26
|
-
Access via static helpers:
|
|
27
|
-
```dart
|
|
28
|
-
final colors = CometChatThemeHelper.getColorPalette(context);
|
|
29
|
-
final spacing = CometChatThemeHelper.getSpacing(context);
|
|
30
|
-
final typography = CometChatThemeHelper.getTypography(context);
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Important:** `getColorPalette()` creates a new object every call, resolving each token via `Theme.of(context)`. Cache in `didChangeDependencies()`, never call in `build()`.
|
|
34
|
-
|
|
35
|
-
## Applying a Custom Theme
|
|
36
|
-
|
|
37
|
-
Register `CometChatColorPalette` as a `ThemeExtension` on your `ThemeData`:
|
|
38
|
-
|
|
39
|
-
```dart
|
|
40
|
-
// ✅ CORRECT
|
|
41
|
-
MaterialApp(
|
|
42
|
-
theme: ThemeData(
|
|
43
|
-
extensions: [
|
|
44
|
-
CometChatColorPalette(
|
|
45
|
-
primary: const Color(0xFF6852D6),
|
|
46
|
-
textPrimary: const Color(0xFF141414),
|
|
47
|
-
textSecondary: const Color(0xFF727272),
|
|
48
|
-
),
|
|
49
|
-
],
|
|
50
|
-
),
|
|
51
|
-
darkTheme: ThemeData(
|
|
52
|
-
extensions: [
|
|
53
|
-
CometChatColorPalette(
|
|
54
|
-
primary: const Color(0xFF604CC3),
|
|
55
|
-
textPrimary: const Color(0xFFFFFFFF),
|
|
56
|
-
textSecondary: const Color(0xFFA0A0A0),
|
|
57
|
-
),
|
|
58
|
-
],
|
|
59
|
-
),
|
|
60
|
-
)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Dark Mode
|
|
64
|
-
|
|
65
|
-
```dart
|
|
66
|
-
CometChatThemeMode.mode = ThemeMode.dark; // Force dark
|
|
67
|
-
CometChatThemeMode.mode = ThemeMode.system; // Follow system
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Commonly Used Color Tokens
|
|
71
|
-
|
|
72
|
-
| Token | Description | Light Default | Dark Default |
|
|
73
|
-
|-------|-------------|---------------|--------------|
|
|
74
|
-
| `primary` | Brand color | `#6852D6` | `#604CC3` |
|
|
75
|
-
| `background1`–`4` | Surface backgrounds | neutral50→neutral300 | neutral50→neutral300 |
|
|
76
|
-
| `textPrimary` | Main text | neutral900 | neutral900 |
|
|
77
|
-
| `textSecondary` | Secondary text | neutral600 | neutral600 |
|
|
78
|
-
| `borderLight` | Subtle borders | neutral200 | neutral200 |
|
|
79
|
-
| `iconPrimary` | Main icons | neutral900 | neutral900 |
|
|
80
|
-
| `iconSecondary` | Secondary icons | neutral500 | neutral500 |
|
|
81
|
-
| `iconHighlight` | Highlighted icons | primary | primary |
|
|
82
|
-
| `error` | Error states | `#F44649` | `#C73C3E` |
|
|
83
|
-
| `white` / `black` | Fixed (NOT brightness-aware) | `Colors.white` / `Colors.black` | Same |
|
|
84
|
-
| `transparent` | Transparent | `Colors.transparent` | Same |
|
|
85
|
-
| `neutral600` | Used for date styles | — | — |
|
|
86
|
-
|
|
87
|
-
Extended primary shades (`extendedPrimary50`–`900`) are auto-generated from `primary`. Override individually if needed.
|
|
88
|
-
|
|
89
|
-
## Commonly Used Spacing Tokens
|
|
90
|
-
|
|
91
|
-
| Token | Default |
|
|
92
|
-
|-------|---------|
|
|
93
|
-
| `padding` / `spacing` / `radius` | 2 |
|
|
94
|
-
| `padding1` / `spacing1` / `radius1` | 4 |
|
|
95
|
-
| `padding2` / `spacing2` / `radius2` | 8 |
|
|
96
|
-
| `padding3` / `spacing3` / `radius3` | 12 |
|
|
97
|
-
| `padding4` / `spacing4` / `radius4` | 16 |
|
|
98
|
-
| `padding5` / `spacing5` / `radius5` | 20 |
|
|
99
|
-
| `padding6` / `spacing6` | 24 |
|
|
100
|
-
| `radiusMax` / `spacingMax` | 1000 |
|
|
101
|
-
|
|
102
|
-
## Typography Tokens
|
|
103
|
-
|
|
104
|
-
`CometChatTypography` provides: `heading1`–`heading4`, `body`, `caption1`, `caption2`, `button`, `link`, `title`.
|
|
105
|
-
|
|
106
|
-
Each has `.bold`, `.medium`, `.regular` variants:
|
|
107
|
-
```dart
|
|
108
|
-
typography.body?.regular?.fontSize
|
|
109
|
-
typography.heading2?.bold?.fontWeight
|
|
110
|
-
typography.caption1?.regular?.fontFamily
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Theme Caching Pattern (from package source)
|
|
114
|
-
|
|
115
|
-
All UIKit components cache theme unconditionally in `didChangeDependencies()`:
|
|
116
|
-
|
|
117
|
-
```dart
|
|
118
|
-
// ✅ CORRECT — matches actual package pattern
|
|
119
|
-
@override
|
|
120
|
-
void didChangeDependencies() {
|
|
121
|
-
super.didChangeDependencies();
|
|
122
|
-
colorPalette = CometChatThemeHelper.getColorPalette(context);
|
|
123
|
-
spacing = CometChatThemeHelper.getSpacing(context);
|
|
124
|
-
typography = CometChatThemeHelper.getTypography(context);
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Do NOT use a `_themeInitialized` flag — it prevents theme updates on system theme changes.
|
|
129
|
-
|
|
130
|
-
## Component Style Classes — merge() Pattern
|
|
131
|
-
|
|
132
|
-
Every component has a `CometChat{Component}Style` extending `ThemeExtension`. Resolved internally:
|
|
133
|
-
|
|
134
|
-
```dart
|
|
135
|
-
// Inside component's didChangeDependencies():
|
|
136
|
-
style = CometChatThemeHelper.getTheme<CometChatConversationsStyle>(
|
|
137
|
-
context: context,
|
|
138
|
-
defaultTheme: CometChatConversationsStyle.of,
|
|
139
|
-
).merge(widget.conversationsStyle);
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Pass overrides via constructor:
|
|
143
|
-
```dart
|
|
144
|
-
CometChatConversations(
|
|
145
|
-
conversationsStyle: CometChatConversationsStyle(
|
|
146
|
-
backgroundColor: Colors.black,
|
|
147
|
-
),
|
|
148
|
-
)
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Gotchas
|
|
152
|
-
|
|
153
|
-
- `colorPalette.white` / `black` / `transparent` are NOT brightness-aware — use `neutral50` for brightness-aware white
|
|
154
|
-
- Extended primary shades auto-generated from `primary` by blending with white (light) or black (dark)
|
|
155
|
-
|
|
156
|
-
## Checklist — Theming
|
|
157
|
-
|
|
158
|
-
- [ ] Colors from `CometChatThemeHelper.getColorPalette(context)`, never hardcoded
|
|
159
|
-
- [ ] Theme cached in `didChangeDependencies()`, not `build()`
|
|
160
|
-
- [ ] Custom theme registered as `ThemeExtension` on both `theme` and `darkTheme`
|
|
161
|
-
- [ ] Component styles passed via constructor props
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-flutter-v5-troubleshooting
|
|
3
|
-
description: "Use when debugging CometChat Flutter UIKit v5 issues. Symptom-to-cause lookup, verify checks, common errors, drift detection."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "cometchat_chat_uikit ^5.2.14; cometchat_calls_uikit ^5.0.15; cometchat_uikit_shared ^5.2.3"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat flutter v5 troubleshooting debug errors fix"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `cometchat_chat_uikit: ^5.2` (legacy/maintenance-only; calls via raw `cometchat_calls_sdk ^5.0.2`) — pub-cache source + `ui-kit/flutter/v5`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/v5/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
|
-
# CometChat Flutter UIKit v5 — Troubleshooting
|
|
15
|
-
|
|
16
|
-
Symptom-to-cause lookup and verification checks.
|
|
17
|
-
|
|
18
|
-
## Init / Login Issues
|
|
19
|
-
|
|
20
|
-
| Symptom | Cause | Fix |
|
|
21
|
-
|---------|-------|-----|
|
|
22
|
-
| "Authentication null" | `CometChatUIKit.init()` not called | Call init before login/components |
|
|
23
|
-
| "APP ID null" | appId not set in UIKitSettingsBuilder | Set `..appId = 'YOUR_APP_ID'` |
|
|
24
|
-
| Login hangs silently | `init()` hasn't completed yet | Await init completion via `onSuccess` before calling login |
|
|
25
|
-
| "ERR_INVALID_REGION" | Uppercase region | Use lowercase: `'us'`, `'eu'`, `'in'` |
|
|
26
|
-
| Login succeeds but no messages load | `subscriptionType` not set | Set `..subscriptionType = CometChatSubscriptionType.allUsers` |
|
|
27
|
-
|
|
28
|
-
## UI / Layout Issues
|
|
29
|
-
|
|
30
|
-
| Symptom | Cause | Fix |
|
|
31
|
-
|---------|-------|-----|
|
|
32
|
-
| Theme jank during keyboard animation | `CometChatThemeHelper.getColorPalette(context)` called in `build()` | Cache in `didChangeDependencies()` |
|
|
33
|
-
| Components don't reflect theme changes | Using `_themeInitialized` flag | Remove flag — cache unconditionally in `didChangeDependencies()` |
|
|
34
|
-
| Hardcoded colors don't match dark mode | Using `Color(0xFF...)` instead of theme tokens | Use `colorPalette.primary`, `colorPalette.textPrimary`, etc. |
|
|
35
|
-
| `colorPalette.white` doesn't change in dark mode | `white`/`black`/`transparent` are NOT brightness-aware | Use `colorPalette.neutral50` for brightness-aware white |
|
|
36
|
-
|
|
37
|
-
## GetX Issues
|
|
38
|
-
|
|
39
|
-
| Symptom | Cause | Fix |
|
|
40
|
-
|---------|-------|-----|
|
|
41
|
-
| "GetX controller not found" | Using `Get.find()` before `Get.put()` | Let UIKit components manage their own controllers |
|
|
42
|
-
| Controller not disposed | Manually created controller without cleanup | Use `controllerTag` or let widget manage lifecycle |
|
|
43
|
-
| Multiple controller instances | Creating controller outside the widget | Let the widget's `initState()` handle `Get.put()` |
|
|
44
|
-
| `Get.delete()` throws | Deleting controller that was created with `controllerTag` | Only delete if `controllerTag` was null (widget-managed) |
|
|
45
|
-
|
|
46
|
-
## Listener / Event Issues
|
|
47
|
-
|
|
48
|
-
| Symptom | Cause | Fix |
|
|
49
|
-
|---------|-------|-----|
|
|
50
|
-
| Duplicate events firing | Listener not removed in `dispose()` | Always remove with same ID used to register |
|
|
51
|
-
| Listener ID collision | Hardcoded listener ID string | Use timestamp: `'id_${DateTime.now().millisecondsSinceEpoch}'` |
|
|
52
|
-
| No typing indicators | `subscriptionType` not set | Set `CometChatSubscriptionType.allUsers` |
|
|
53
|
-
| No online/offline status | `subscriptionType` not set | Same fix |
|
|
54
|
-
| `ccMessageSent` not firing | Using `CometChat.sendMessage()` directly | Use `CometChatUIKit.sendTextMessage()` instead |
|
|
55
|
-
| Events fire after screen disposed | Listener not removed | Remove in `dispose()` / `onClose()` |
|
|
56
|
-
|
|
57
|
-
## Call Issues
|
|
58
|
-
|
|
59
|
-
| Symptom | Cause | Fix |
|
|
60
|
-
|---------|-------|-----|
|
|
61
|
-
| Incoming call overlay doesn't show | `CallNavigationContext.navigatorKey` not set | Set on `MaterialApp.navigatorKey` |
|
|
62
|
-
| Call buttons don't appear | `CometChatCallingExtension` not registered | Set `..callingExtension = CometChatCallingExtension()` on UIKitSettingsBuilder |
|
|
63
|
-
| Call fails silently | Camera/microphone permissions not granted | Request `Permission.camera` and `Permission.microphone` |
|
|
64
|
-
| Incoming calls not handled | Call listener not registered globally | Register `CallListener` + `CometChatCallEventListener` at dashboard level |
|
|
65
|
-
|
|
66
|
-
## Push Notification Issues
|
|
67
|
-
|
|
68
|
-
| Symptom | Cause | Fix |
|
|
69
|
-
|---------|-------|-----|
|
|
70
|
-
| No push notifications | Token not registered | Call `CometChatNotifications.registerPushToken(PushPlatforms.FCM_FLUTTER_ANDROID, fcmToken: token, ...)` after login (`PNRegistry.registerPNService` is a v5 sample-app extension, not a kit API — must be copied in; see cometchat-flutter-v5-push) |
|
|
71
|
-
| Notifications after logout | Token not unregistered | Call `CometChatNotifications.unregisterPushToken(onSuccess:, onError:)` before logout |
|
|
72
|
-
| Duplicate notifications | Foreground notification shown for active conversation | Check `conversationId` match before showing |
|
|
73
|
-
| VoIP call notification doesn't show | Background handler not top-level | Use `@pragma('vm:entry-point')` on top-level function |
|
|
74
|
-
| Tap doesn't navigate | `CallNavigationContext.navigatorKey.currentContext` is null | Ensure `navigatorKey` is set on MaterialApp |
|
|
75
|
-
| iOS VoIP token not registered | Missing VoIP background mode | Enable Voice over IP in Xcode Background Modes |
|
|
76
|
-
|
|
77
|
-
## Android Build Issues
|
|
78
|
-
|
|
79
|
-
| Symptom | Cause | Fix |
|
|
80
|
-
|---------|-------|-----|
|
|
81
|
-
| Release build crash | Missing ProGuard keep rules | Add `-keep class com.cometchat.** { *; }` |
|
|
82
|
-
| Build fails with minSdk error | minSdk too low | Set `minSdk 24` in `android/app/build.gradle` (matches vendor sample apps; bump to 26 ONLY if calls + min-SDK runtime errors) |
|
|
83
|
-
| AndroidX conflict | Missing AndroidX migration | Set BOTH `android.useAndroidX=true` AND `android.enableJetifier=true` in `gradle.properties` |
|
|
84
|
-
|
|
85
|
-
## iOS Build Issues
|
|
86
|
-
|
|
87
|
-
| Symptom | Cause | Fix |
|
|
88
|
-
|---------|-------|-----|
|
|
89
|
-
| Camera/mic permission crash | Missing Info.plist entries | Add `NSCameraUsageDescription`, `NSMicrophoneUsageDescription` |
|
|
90
|
-
| Pod install fails | Cocoapods version mismatch | Run `pod repo update` then `pod install` |
|
|
91
|
-
|
|
92
|
-
## Callback Signature Errors
|
|
93
|
-
|
|
94
|
-
| Symptom | Cause | Fix |
|
|
95
|
-
|---------|-------|-----|
|
|
96
|
-
| Type error on `CometChatUsers.onItemTap` | Missing `BuildContext` parameter | Signature is `Function(BuildContext, User)?` |
|
|
97
|
-
| Type error on `CometChatGroups.onItemTap` | Missing `BuildContext` parameter | Signature is `Function(BuildContext, Group)?` |
|
|
98
|
-
| Type error on `CometChatConversations.onItemTap` | Extra `BuildContext` parameter | Signature is `Function(Conversation)?` — no BuildContext |
|
|
99
|
-
| Type error on `CometChatGroupMembers.onItemTap` | Extra `BuildContext` parameter | Signature is `Function(GroupMember)?` — no BuildContext |
|
|
100
|
-
|
|
101
|
-
## v5 vs v6 Drift Detection
|
|
102
|
-
|
|
103
|
-
If you see any of these in a v5 project, it's a v6 pattern that was accidentally used:
|
|
104
|
-
|
|
105
|
-
| v6 Pattern (wrong in v5) | v5 Equivalent |
|
|
106
|
-
|--------------------------|---------------|
|
|
107
|
-
| `import 'package:flutter_bloc/flutter_bloc.dart'` | GetX — no BLoC in v5 |
|
|
108
|
-
| `extends Bloc<Event, State>` | `extends GetxController` |
|
|
109
|
-
| `extends Equatable` | Not used in v5 |
|
|
110
|
-
| `ServiceLocator.get<T>()` | `Get.find<T>()` or let widget manage |
|
|
111
|
-
| Single `cometchat_chat_uikit` with calls built-in | Separate `cometchat_calls_uikit` package |
|
|
112
|
-
| Per-component style classes (e.g. `CometChatConversationsStyle`, `CometChatMessageListStyle`) + theme via `CometChatTheme` | Per-widget feature flags only (no BuilderSettings/BuilderColor/BuilderTypography in v5 — those are v4 leftovers) |
|
|
113
|
-
| `enableCalls: true` + `CallingConfiguration()` on UIKitSettingsBuilder | `..callingExtension = CometChatCallingExtension()` |
|
|
114
|
-
|
|
115
|
-
## Verify Checklist
|
|
116
|
-
|
|
117
|
-
Run through this when something isn't working:
|
|
118
|
-
|
|
119
|
-
- [ ] `CometChatUIKit.init()` completes before any other CometChat call
|
|
120
|
-
- [ ] `subscriptionType` set in UIKitSettingsBuilder
|
|
121
|
-
- [ ] `region` is lowercase
|
|
122
|
-
- [ ] Theme cached in `didChangeDependencies()`, not `build()`
|
|
123
|
-
- [ ] All listeners registered with unique IDs
|
|
124
|
-
- [ ] All listeners removed in `dispose()` / `onClose()`
|
|
125
|
-
- [ ] `CallNavigationContext.navigatorKey` set on MaterialApp
|
|
126
|
-
- [ ] `CometChatCallingExtension()` set if using calls
|
|
127
|
-
- [ ] Push tokens registered after login
|
|
128
|
-
- [ ] Push tokens unregistered before logout
|
|
129
|
-
- [ ] ProGuard rules present for release builds
|
|
130
|
-
- [ ] No v6 imports (`flutter_bloc`, `equatable`, `BlocProvider` / `BlocBuilder`)
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-flutter-v5-users-groups
|
|
3
|
-
description: "Use when working with CometChat Flutter UIKit v5 user and group list components. Triggers on CometChatUsers, CometChatGroups, CometChatGroupMembers, CometChatChangeScope."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "cometchat_chat_uikit ^5.2.14; cometchat_uikit_shared ^5.2.3"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat flutter v5 users groups members scope contacts"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
> **Ground truth:** `cometchat_chat_uikit: ^5.2` (legacy/maintenance-only; calls via raw `cometchat_calls_sdk ^5.0.2`) — pub-cache source + `ui-kit/flutter/v5`. **Official docs:** https://www.cometchat.com/docs/ui-kit/flutter/v5/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
|
-
# CometChat Flutter UIKit v5 — Users & Groups
|
|
15
|
-
|
|
16
|
-
Components for displaying and managing users, groups, and group members.
|
|
17
|
-
|
|
18
|
-
## CometChatUsers
|
|
19
|
-
|
|
20
|
-
Displays a list of users, sorted alphabetically.
|
|
21
|
-
|
|
22
|
-
### Key Props
|
|
23
|
-
|
|
24
|
-
| Prop | Type | Default | Description |
|
|
25
|
-
|------|------|---------|-------------|
|
|
26
|
-
| `usersRequestBuilder` | `UsersRequestBuilder?` | — | Custom fetch builder |
|
|
27
|
-
| `usersStyle` | `CometChatUsersStyle` | `const CometChatUsersStyle()` | Visual styling |
|
|
28
|
-
| `onItemTap` | `Function(BuildContext, User)?` | — | Tap callback (**includes BuildContext**) |
|
|
29
|
-
| `onItemLongPress` | `Function(BuildContext, User)?` | — | Long press callback |
|
|
30
|
-
| `subtitleView` | `Widget? Function(BuildContext, User)?` | — | Custom subtitle |
|
|
31
|
-
| `title` | `String?` | — | List title |
|
|
32
|
-
| `showBackButton` | `bool` | `true` | Show back button |
|
|
33
|
-
| `hideSearch` | `bool` | `false` | Hide search bar |
|
|
34
|
-
| `selectionMode` | `SelectionMode?` | — | Enable selection mode |
|
|
35
|
-
| `onSelection` | `Function(List<User>?, BuildContext)?` | — | Selection callback |
|
|
36
|
-
| `usersStatusVisibility` | `bool?` | `true` | Show online status |
|
|
37
|
-
| `hideAppbar` | `bool?` | `false` | Hide app bar |
|
|
38
|
-
| `appBarOptions` | `List<Widget> Function(BuildContext)?` | — | App bar trailing widgets |
|
|
39
|
-
| `controllerTag` | `String?` | — | Custom GetX controller tag |
|
|
40
|
-
| `stickyHeaderVisibility` | `bool?` | `false` | Show alphabetical headers |
|
|
41
|
-
|
|
42
|
-
### Usage
|
|
43
|
-
|
|
44
|
-
```dart
|
|
45
|
-
CometChatUsers(
|
|
46
|
-
onItemTap: (context, user) {
|
|
47
|
-
Navigator.push(context, MaterialPageRoute(
|
|
48
|
-
builder: (_) => MessagesScreen(user: user),
|
|
49
|
-
));
|
|
50
|
-
},
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
// With custom request builder
|
|
54
|
-
CometChatUsers(
|
|
55
|
-
usersRequestBuilder: UsersRequestBuilder()
|
|
56
|
-
..limit = 30
|
|
57
|
-
..friendsOnly = true,
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
// Filter by role (e.g., AI agents)
|
|
61
|
-
CometChatUsers(
|
|
62
|
-
title: "Agents",
|
|
63
|
-
usersRequestBuilder: UsersRequestBuilder()
|
|
64
|
-
..roles = [AIConstants.aiRole],
|
|
65
|
-
onItemTap: (context, user) { ... },
|
|
66
|
-
)
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## CometChatGroups
|
|
70
|
-
|
|
71
|
-
Displays a list of groups with type indicators.
|
|
72
|
-
|
|
73
|
-
### Key Props
|
|
74
|
-
|
|
75
|
-
| Prop | Type | Default | Description |
|
|
76
|
-
|------|------|---------|-------------|
|
|
77
|
-
| `groupsRequestBuilder` | `GroupsRequestBuilder?` | — | Custom fetch builder |
|
|
78
|
-
| `groupsStyle` | `CometChatGroupsStyle?` | — | Visual styling |
|
|
79
|
-
| `onItemTap` | `Function(BuildContext, Group)?` | — | Tap callback (**includes BuildContext**) |
|
|
80
|
-
| `onItemLongPress` | `Function(BuildContext, Group)?` | — | Long press callback |
|
|
81
|
-
| `subtitleView` | `Widget? Function(BuildContext, Group)?` | — | Custom subtitle |
|
|
82
|
-
| `title` | `String?` | — | List title |
|
|
83
|
-
| `showBackButton` | `bool` | `true` | Show back button |
|
|
84
|
-
| `hideSearch` | `bool` | `false` | Hide search bar |
|
|
85
|
-
| `selectionMode` | `SelectionMode?` | — | Enable selection mode |
|
|
86
|
-
| `groupTypeVisibility` | `bool` | `true` | Show group type icon |
|
|
87
|
-
| `hideAppbar` | `bool?` | `false` | Hide app bar |
|
|
88
|
-
| `appBarOptions` | `List<Widget> Function(BuildContext)?` | — | App bar trailing widgets |
|
|
89
|
-
| `controllerTag` | `String?` | — | Custom GetX controller tag |
|
|
90
|
-
|
|
91
|
-
### Usage
|
|
92
|
-
|
|
93
|
-
```dart
|
|
94
|
-
CometChatGroups(
|
|
95
|
-
onItemTap: (context, group) {
|
|
96
|
-
Navigator.push(context, MaterialPageRoute(
|
|
97
|
-
builder: (_) => MessagesScreen(group: group),
|
|
98
|
-
));
|
|
99
|
-
},
|
|
100
|
-
)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## CometChatGroupMembers
|
|
104
|
-
|
|
105
|
-
Displays members of a specific group with role indicators.
|
|
106
|
-
|
|
107
|
-
```dart
|
|
108
|
-
CometChatGroupMembers(
|
|
109
|
-
group: group,
|
|
110
|
-
onItemTap: (member) {
|
|
111
|
-
debugPrint('Tapped: ${member.name}, role: ${member.scope}');
|
|
112
|
-
},
|
|
113
|
-
)
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Key props: `group` (required), `groupMembersRequestBuilder`, **`style`** (`CometChatGroupMembersStyle?` — prop name is `style`, NOT `groupMembersStyle`; verified `cometchat_group_members.dart:25/88`), `subtitleView`, `trailingView`, `onItemTap` (`Function(GroupMember)?` — **no BuildContext**), `selectionMode`, `onSelection` (`Function(List<GroupMember>?)?` — no BuildContext).
|
|
117
|
-
|
|
118
|
-
## CometChatChangeScope
|
|
119
|
-
|
|
120
|
-
Widget for changing a group member's scope/role.
|
|
121
|
-
|
|
122
|
-
```dart
|
|
123
|
-
CometChatChangeScope(group: group, member: member)
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Callback Signature Differences
|
|
127
|
-
|
|
128
|
-
| Component | `onItemTap` signature |
|
|
129
|
-
|-----------|----------------------|
|
|
130
|
-
| `CometChatConversations` | `Function(Conversation)?` — **no BuildContext** |
|
|
131
|
-
| `CometChatUsers` | `Function(BuildContext, User)?` — **has BuildContext** |
|
|
132
|
-
| `CometChatGroups` | `Function(BuildContext, Group)?` — **has BuildContext** |
|
|
133
|
-
| `CometChatGroupMembers` | `Function(GroupMember)?` — **no BuildContext** |
|
|
134
|
-
|
|
135
|
-
This is a common source of confusion.
|
|
136
|
-
|
|
137
|
-
## Anti-Patterns
|
|
138
|
-
|
|
139
|
-
```dart
|
|
140
|
-
// ❌ WRONG — missing BuildContext in Users/Groups onItemTap
|
|
141
|
-
CometChatUsers(onItemTap: (user) { ... }) // Missing BuildContext!
|
|
142
|
-
|
|
143
|
-
// ✅ CORRECT
|
|
144
|
-
CometChatUsers(onItemTap: (context, user) { ... })
|
|
145
|
-
CometChatGroups(onItemTap: (context, group) { ... })
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Checklist — Users & Groups
|
|
149
|
-
|
|
150
|
-
- [ ] `onItemTap` callback signature includes `BuildContext` for Users/Groups
|
|
151
|
-
- [ ] Custom request builders set appropriate limits
|
|
152
|
-
- [ ] Let widgets manage their own GetX controller lifecycle
|