@cometchat/skills 4.4.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +55 -0
- package/.claude-plugin/plugin.json +14 -0
- package/CHANGELOG.md +36 -0
- package/LICENSE +21 -0
- package/README.md +41 -163
- package/RULES.md +114 -0
- package/bin/cometchat-skills.mjs +1180 -0
- package/bin/legacy-skills.json +95 -0
- package/catalogs/android-v6.json +1646 -0
- package/catalogs/flutter-v6.json +651 -0
- package/catalogs/ios-v5.json +1383 -0
- package/catalogs/rn-calls-v5.json +134 -0
- package/catalogs/rn-calls-v5.symbols.txt +58 -0
- package/catalogs/rn-sdk-v4.json +672 -0
- package/catalogs/rn-v5.json +449 -0
- package/catalogs/rn-v5.symbols.txt +216 -0
- package/catalogs/sdk-android-v5.json +514 -0
- package/contracts.android-calls-v5.json +122 -0
- package/contracts.android-v6.json +135 -0
- package/contracts.angular-v5.json +694 -0
- package/contracts.flutter-calls-v5.json +77 -0
- package/contracts.flutter-v6.json +126 -0
- package/contracts.ios-calls-v5.json +67 -0
- package/contracts.ios-v5.json +436 -0
- package/contracts.json +82 -0
- package/contracts.rn-calls-v5.json +77 -0
- package/contracts.rn-v5.json +727 -0
- package/contracts.sdk-android-v5.json +15 -0
- package/contracts.web-calls-v5.json +45 -0
- package/features.android-calls-v5.json +246 -0
- package/features.android-v6.json +65 -0
- package/features.angular-v5.json +521 -0
- package/features.flutter-calls-v5.json +286 -0
- package/features.flutter-v6.json +484 -0
- package/features.ios-calls-v5.json +236 -0
- package/features.ios-v5.json +573 -0
- package/features.json +61 -0
- package/features.rn-calls-v5.json +187 -0
- package/features.rn-v5.json +614 -0
- package/features.sdk-android-v5.json +40 -0
- package/features.sdk-jsv4.json +24 -0
- package/features.web-calls-v5.json +108 -0
- package/package.json +151 -74
- package/peers.yaml +312 -0
- package/registry/README.md +31 -0
- package/registry/android-calls-v5.json +54 -0
- package/registry/android-v6.json +137 -0
- package/registry/angular-v5.json +114 -0
- package/registry/flutter-calls-v5.json +54 -0
- package/registry/flutter-v6.json +119 -0
- package/registry/ios-calls-v5.json +59 -0
- package/registry/ios-v5.json +97 -0
- package/registry/rn-calls-v5.json +59 -0
- package/registry/rn-v5.json +129 -0
- package/registry/sdk-android-v5.json +53 -0
- package/registry/sdk-jsv4.json +53 -0
- package/registry/web-calls-v5.json +54 -0
- package/registry/web-v7.json +99 -0
- package/skills/cometchat/SKILL.md +42 -2096
- package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
- package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
- package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
- package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
- package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
- package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
- package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
- package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
- package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
- package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
- package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
- package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
- package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
- package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
- package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
- package/skills/cometchat-android-v6-core/SKILL.md +236 -672
- package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
- package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
- package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
- package/skills/cometchat-android-v6-core/references/layout.md +112 -0
- package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
- package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
- package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
- package/skills/cometchat-android-v6-events/SKILL.md +46 -184
- package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
- package/skills/cometchat-android-v6-features/SKILL.md +74 -143
- package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
- package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
- package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
- package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
- package/skills/cometchat-android-v6-production/SKILL.md +40 -179
- package/skills/cometchat-android-v6-push/SKILL.md +39 -289
- package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
- package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
- package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
- package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
- package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
- package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
- package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
- package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
- package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
- package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
- package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
- package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
- package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
- package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
- package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
- package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
- package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
- package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
- package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
- package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
- package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
- package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
- package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
- package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
- package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
- package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
- package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
- package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
- package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
- package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
- package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
- package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
- package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
- package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
- package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
- package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
- package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
- package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
- package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
- package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
- package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
- package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
- package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
- package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
- package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
- package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
- package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
- package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
- package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
- package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
- package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
- package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
- package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
- package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
- package/skills/cometchat-ios-calls/SKILL.md +112 -563
- package/skills/cometchat-ios-components/SKILL.md +44 -834
- package/skills/cometchat-ios-core/SKILL.md +181 -1068
- package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
- package/skills/cometchat-ios-core/references/docs-map.md +123 -0
- package/skills/cometchat-ios-core/references/install.md +23 -0
- package/skills/cometchat-ios-core/references/layout.md +186 -0
- package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
- package/skills/cometchat-ios-core/references/swiftui.md +91 -0
- package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
- package/skills/cometchat-ios-customization/SKILL.md +33 -968
- package/skills/cometchat-ios-features/SKILL.md +29 -738
- package/skills/cometchat-ios-migration/SKILL.md +39 -0
- package/skills/cometchat-ios-placement/SKILL.md +51 -729
- package/skills/cometchat-ios-push/SKILL.md +24 -602
- package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
- package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
- package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
- package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
- package/skills/cometchat-onboarding/SKILL.md +89 -0
- package/skills/cometchat-onboarding/references/archetypes.md +51 -0
- package/skills/cometchat-onboarding/references/calling-first.md +77 -0
- package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
- package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
- package/skills/cometchat-onboarding/references/platforms.md +90 -0
- package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
- package/skills/cometchat-react-native-calls/SKILL.md +200 -0
- package/skills/cometchat-react-native-components/SKILL.md +142 -0
- package/skills/cometchat-react-native-core/SKILL.md +313 -0
- package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
- package/skills/cometchat-react-native-core/references/component-props.md +105 -0
- package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
- package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
- package/skills/cometchat-react-native-core/references/layout.md +61 -0
- package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
- package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
- package/skills/cometchat-react-native-customization/SKILL.md +198 -0
- package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
- package/skills/cometchat-react-native-features/SKILL.md +122 -0
- package/skills/cometchat-react-native-migration/SKILL.md +103 -0
- package/skills/cometchat-react-native-placement/SKILL.md +158 -0
- package/skills/cometchat-react-native-production/SKILL.md +78 -0
- package/skills/cometchat-react-native-push/SKILL.md +88 -0
- package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
- package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
- package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
- package/skills/cometchat-react-native-testing/SKILL.md +94 -0
- package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
- package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
- package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
- package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
- package/skills/cometchat-react-v7-components/SKILL.md +72 -0
- package/skills/cometchat-react-v7-core/SKILL.md +101 -0
- package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
- package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
- package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
- package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
- package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
- package/skills/cometchat-react-v7-core/references/layout.md +158 -0
- package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
- package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
- package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
- package/skills/cometchat-react-v7-core/references/theming.md +52 -0
- package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
- package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
- package/skills/cometchat-react-v7-features/SKILL.md +92 -0
- package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
- package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
- package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
- package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
- package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
- package/skills/cometchat-react-v7-push/SKILL.md +53 -0
- package/test-suite/README.md +70 -0
- package/test-suite/catalogs/android-calls-v5.json +830 -0
- package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
- package/test-suite/catalogs/android-v6.json +1646 -0
- package/test-suite/catalogs/android-v6.symbols.txt +298 -0
- package/test-suite/catalogs/angular-v5.json +7587 -0
- package/test-suite/catalogs/flutter-calls-v5.json +196 -0
- package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
- package/test-suite/catalogs/flutter-v6.json +651 -0
- package/test-suite/catalogs/ios-calls-v5.json +158 -0
- package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
- package/test-suite/catalogs/ios-v5.json +1383 -0
- package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
- package/test-suite/catalogs/rn-calls-v5.json +134 -0
- package/test-suite/catalogs/rn-sdk-v4.json +672 -0
- package/test-suite/catalogs/rn-v5.json +449 -0
- package/test-suite/catalogs/sdk-android-v5.json +514 -0
- package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
- package/test-suite/catalogs/sdk-jsv4.json +800 -0
- package/test-suite/catalogs/web-calls-v5.json +195 -0
- package/test-suite/catalogs/web-v7.json +1243 -0
- package/test-suite/scripts/build-registry.mjs +113 -0
- package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
- package/test-suite/scripts/catalog-refresh.mjs +100 -0
- package/test-suite/scripts/lint-skills.mjs +909 -0
- package/test-suite/scripts/measure-tokens.mjs +169 -0
- package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
- package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
- package/test-suite/scripts/typecheck-fences.mjs +206 -0
- package/test-suite/scripts/verify-catalog.mjs +242 -0
- package/test-suite/scripts/verify-contract-fences.mjs +94 -0
- package/test-suite/scripts/verify-detection.mjs +178 -0
- package/test-suite/scripts/verify-docs-base.mjs +91 -0
- package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
- package/test-suite/scripts/verify-golden-path.mjs +138 -0
- package/test-suite/scripts/verify-oracle-components.mjs +133 -0
- package/test-suite/scripts/verify-template-bindings.mjs +148 -0
- package/test-suite/typecheck/angular-v5/package.json +21 -0
- package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
- package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
- package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
- package/test-suite/typecheck/web-v7/package.json +18 -0
- package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
- package/bin/install.js +0 -1003
- package/skills/.claude-plugin/marketplace.json +0 -86
- package/skills/cometchat/references/asking-questions.md +0 -48
- package/skills/cometchat-a11y/SKILL.md +0 -477
- package/skills/cometchat-android-v5/SKILL.md +0 -121
- package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
- package/skills/cometchat-android-v5-calls/references/README.md +0 -53
- package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
- package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
- package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
- package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
- package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
- package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
- package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
- package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
- package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
- package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
- package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
- package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
- package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
- package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
- package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
- package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
- package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
- package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
- package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
- package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
- package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
- package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
- package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
- package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
- package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
- package/skills/cometchat-android-v5-components/SKILL.md +0 -431
- package/skills/cometchat-android-v5-core/SKILL.md +0 -486
- package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
- package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
- package/skills/cometchat-android-v5-features/SKILL.md +0 -131
- package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
- package/skills/cometchat-android-v5-production/SKILL.md +0 -95
- package/skills/cometchat-android-v5-push/SKILL.md +0 -619
- package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
- package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
- package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
- package/skills/cometchat-android-v6/SKILL.md +0 -108
- package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
- package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
- package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
- package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
- package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
- package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
- package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
- package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
- package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
- package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
- package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
- package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
- package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
- package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
- package/skills/cometchat-angular-calls/SKILL.md +0 -380
- package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
- package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
- package/skills/cometchat-angular-calls/references/call-session.md +0 -167
- package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
- package/skills/cometchat-angular-calls/references/device-management.md +0 -154
- package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
- package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
- package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
- package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
- package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
- package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
- package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
- package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
- package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
- package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
- package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
- package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
- package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
- package/skills/cometchat-angular-components/SKILL.md +0 -235
- package/skills/cometchat-angular-core/SKILL.md +0 -386
- package/skills/cometchat-angular-customization/SKILL.md +0 -616
- package/skills/cometchat-angular-features/SKILL.md +0 -329
- package/skills/cometchat-angular-patterns/SKILL.md +0 -256
- package/skills/cometchat-angular-placement/SKILL.md +0 -314
- package/skills/cometchat-angular-production/SKILL.md +0 -564
- package/skills/cometchat-angular-push/SKILL.md +0 -389
- package/skills/cometchat-angular-testing/SKILL.md +0 -605
- package/skills/cometchat-angular-theming/SKILL.md +0 -290
- package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
- package/skills/cometchat-astro-patterns/SKILL.md +0 -708
- package/skills/cometchat-calls/SKILL.md +0 -364
- package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
- package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
- package/skills/cometchat-calls/references/use-case-support.md +0 -189
- package/skills/cometchat-calls/references/use-case-team.md +0 -180
- package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
- package/skills/cometchat-components/SKILL.md +0 -1142
- package/skills/cometchat-core/SKILL.md +0 -1048
- package/skills/cometchat-customization/SKILL.md +0 -580
- package/skills/cometchat-customization/references/component-catalog.md +0 -236
- package/skills/cometchat-features/SKILL.md +0 -861
- package/skills/cometchat-flutter-v5/SKILL.md +0 -173
- package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
- package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
- package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
- package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
- package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
- package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
- package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
- package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
- package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
- package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
- package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
- package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
- package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
- package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
- package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
- package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
- package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
- package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
- package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
- package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
- package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
- package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
- package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
- package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
- package/skills/cometchat-flutter-v6/SKILL.md +0 -446
- package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
- package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
- package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
- package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
- package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
- package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
- package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
- package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
- package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
- package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
- package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
- package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
- package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
- package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
- package/skills/cometchat-i18n/SKILL.md +0 -419
- package/skills/cometchat-ios/SKILL.md +0 -325
- package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
- package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
- package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
- package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
- package/skills/cometchat-ios-calls/references/call-session.md +0 -218
- package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
- package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
- package/skills/cometchat-ios-calls/references/device-management.md +0 -171
- package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
- package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
- package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
- package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
- package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
- package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
- package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
- package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
- package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
- package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
- package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
- package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
- package/skills/cometchat-ios-production/SKILL.md +0 -738
- package/skills/cometchat-ios-testing/SKILL.md +0 -376
- package/skills/cometchat-ios-theming/SKILL.md +0 -667
- package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
- package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
- package/skills/cometchat-native-calls/SKILL.md +0 -671
- package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
- package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
- package/skills/cometchat-native-calls/references/call-session.md +0 -182
- package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
- package/skills/cometchat-native-calls/references/device-management.md +0 -158
- package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
- package/skills/cometchat-native-calls/references/group-calls.md +0 -296
- package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
- package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
- package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
- package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
- package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
- package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
- package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
- package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
- package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
- package/skills/cometchat-native-calls/references/share-invite.md +0 -146
- package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
- package/skills/cometchat-native-components/SKILL.md +0 -628
- package/skills/cometchat-native-core/SKILL.md +0 -679
- package/skills/cometchat-native-customization/SKILL.md +0 -716
- package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
- package/skills/cometchat-native-features/SKILL.md +0 -638
- package/skills/cometchat-native-placement/SKILL.md +0 -509
- package/skills/cometchat-native-production/SKILL.md +0 -700
- package/skills/cometchat-native-push/SKILL.md +0 -594
- package/skills/cometchat-native-testing/SKILL.md +0 -582
- package/skills/cometchat-native-theming/SKILL.md +0 -681
- package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
- package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
- package/skills/cometchat-placement/SKILL.md +0 -1360
- package/skills/cometchat-production/SKILL.md +0 -1027
- package/skills/cometchat-react-calls/SKILL.md +0 -752
- package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
- package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
- package/skills/cometchat-react-calls/references/call-session.md +0 -235
- package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
- package/skills/cometchat-react-calls/references/device-management.md +0 -210
- package/skills/cometchat-react-calls/references/group-calls.md +0 -257
- package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
- package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
- package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
- package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
- package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
- package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
- package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
- package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
- package/skills/cometchat-react-calls/references/share-invite.md +0 -175
- package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
- package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
- package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
- package/skills/cometchat-react-patterns/SKILL.md +0 -628
- package/skills/cometchat-react-push/SKILL.md +0 -634
- package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
- package/skills/cometchat-react-testing/SKILL.md +0 -413
- package/skills/cometchat-theming/SKILL.md +0 -498
- package/skills/cometchat-troubleshooting/SKILL.md +0 -294
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-flutter-v5-messages
|
|
3
|
-
description: "Use when working with CometChat Flutter UIKit v5 message components. Triggers on CometChatMessageList, CometChatMessageComposer, CometChatCompactMessageComposer, CometChatMessageHeader, threads."
|
|
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 messages list composer header bubbles threads compact"
|
|
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 — Messages
|
|
15
|
-
|
|
16
|
-
Components for displaying, sending, and managing messages.
|
|
17
|
-
|
|
18
|
-
## CometChatMessageList
|
|
19
|
-
|
|
20
|
-
Displays messages in a conversation.
|
|
21
|
-
|
|
22
|
-
### Key Props
|
|
23
|
-
|
|
24
|
-
| Prop | Type | Default | Description |
|
|
25
|
-
|------|------|---------|-------------|
|
|
26
|
-
| `user` | `User?` | — | User for 1-on-1 chat (one of user/group required) |
|
|
27
|
-
| `group` | `Group?` | — | Group for group chat |
|
|
28
|
-
| `messagesRequestBuilder` | `MessagesRequestBuilder?` | — | Custom message fetch builder |
|
|
29
|
-
| `style` | `CometChatMessageListStyle?` | — | Visual styling |
|
|
30
|
-
| `alignment` | `ChatAlignment` | `standard` | `standard` or `leftAligned` |
|
|
31
|
-
| `onThreadRepliesClick` | `ThreadRepliesClick?` | — | Thread reply tap callback |
|
|
32
|
-
| `templates` | `List<CometChatMessageTemplate>?` | — | Custom message templates |
|
|
33
|
-
| `textFormatters` | `List<CometChatTextFormatter>?` | — | Custom text formatters |
|
|
34
|
-
| `receiptsVisibility` | `bool` | `true` | Show read receipts |
|
|
35
|
-
| `avatarVisibility` | `bool` | `true` | Show avatars |
|
|
36
|
-
| `disableReactions` | `bool` | `false` | Disable reactions |
|
|
37
|
-
| `disableMentions` | `bool?` | — | Disable @mentions |
|
|
38
|
-
| `messageId` | `int?` | — | Scroll to specific message |
|
|
39
|
-
| `startFromUnreadMessages` | `bool` | `false` | Start from unread |
|
|
40
|
-
| `showMarkAsUnreadOption` | `bool` | `false` | Show mark-as-unread option |
|
|
41
|
-
| `enableSmartReplies` | `bool` | `false` | Enable AI smart replies |
|
|
42
|
-
| `enableConversationStarters` | `bool` | `false` | Enable conversation starters |
|
|
43
|
-
| `generateConversationSummary` | `bool` | `false` | Generate AI summary |
|
|
44
|
-
| `hideEditMessageOption` | `bool` | `false` | Hide edit option |
|
|
45
|
-
| `hideDeleteMessageOption` | `bool` | `false` | Hide delete option |
|
|
46
|
-
| `hideReplyInThreadOption` | `bool` | `false` | Hide reply-in-thread |
|
|
47
|
-
| `hideThreadView` | `bool?` | — | Hide thread view entirely |
|
|
48
|
-
| `hideReactionOption` | `bool` | `false` | Hide reaction option |
|
|
49
|
-
| `hideTranslateMessageOption` | `bool` | `false` | Hide translate option |
|
|
50
|
-
| `hideMessagePrivatelyOption` | `bool` | `false` | Hide private message option |
|
|
51
|
-
| `hideMessageInfoOption` | `bool` | `false` | Hide message info |
|
|
52
|
-
| `hideFlagOption` | `bool` | `false` | Hide flag/report option |
|
|
53
|
-
| `loadingStateView` | `WidgetBuilder?` | — | Custom loading state |
|
|
54
|
-
| `emptyStateView` | `WidgetBuilder?` | — | Custom empty state |
|
|
55
|
-
| `errorStateView` | `WidgetBuilder?` | — | Custom error state |
|
|
56
|
-
|
|
57
|
-
### Usage
|
|
58
|
-
|
|
59
|
-
```dart
|
|
60
|
-
CometChatMessageList(
|
|
61
|
-
user: user,
|
|
62
|
-
textFormatters: [
|
|
63
|
-
CometChatEmailFormatter(),
|
|
64
|
-
CometChatPhoneNumberFormatter(),
|
|
65
|
-
CometChatUrlFormatter(),
|
|
66
|
-
CometChatMentionsFormatter(user: user),
|
|
67
|
-
],
|
|
68
|
-
receiptsVisibility: true,
|
|
69
|
-
hideReplyInThreadOption: false,
|
|
70
|
-
hideEditMessageOption: false,
|
|
71
|
-
hideDeleteMessageOption: false,
|
|
72
|
-
)
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## CometChatMessageComposer
|
|
76
|
-
|
|
77
|
-
Full-featured message input with attachments, voice recording, mentions, and AI features.
|
|
78
|
-
|
|
79
|
-
### Key Props
|
|
80
|
-
|
|
81
|
-
| Prop | Type | Default | Description |
|
|
82
|
-
|------|------|---------|-------------|
|
|
83
|
-
| `user` | `User?` | — | Target user (one of user/group required) |
|
|
84
|
-
| `group` | `Group?` | — | Target group |
|
|
85
|
-
| `messageComposerStyle` | `CometChatMessageComposerStyle?` | — | Visual styling |
|
|
86
|
-
| `parentMessageId` | `int` | `0` | Thread parent message ID |
|
|
87
|
-
| `placeholderText` | `String?` | — | Input placeholder |
|
|
88
|
-
| `textFormatters` | `List<CometChatTextFormatter>?` | — | Text formatters |
|
|
89
|
-
| `disableTypingEvents` | `bool` | `false` | Disable typing indicators |
|
|
90
|
-
| `disableMentions` | `bool?` | — | Disable @mentions |
|
|
91
|
-
| `disableMentionAll` | `bool` | `false` | Disable @all mentions |
|
|
92
|
-
| `hideVoiceRecordingButton` | `bool?` | — | Hide voice recording |
|
|
93
|
-
| `hideAttachmentButton` | `bool?` | — | Hide attachment button |
|
|
94
|
-
| `hideSendButton` | `bool?` | — | Hide send button |
|
|
95
|
-
| `hideStickersButton` | `bool?` | — | Hide stickers |
|
|
96
|
-
| `hideImageAttachmentOption` | `bool?` | — | Hide image attachment |
|
|
97
|
-
| `hideVideoAttachmentOption` | `bool?` | — | Hide video attachment |
|
|
98
|
-
| `hideAudioAttachmentOption` | `bool?` | — | Hide audio attachment |
|
|
99
|
-
| `hideFileAttachmentOption` | `bool?` | — | Hide file attachment |
|
|
100
|
-
| `hidePollsOption` | `bool?` | — | Hide polls |
|
|
101
|
-
| `hideCollaborativeDocumentOption` | `bool?` | — | Hide collaborative doc |
|
|
102
|
-
| `hideCollaborativeWhiteboardOption` | `bool?` | — | Hide whiteboard |
|
|
103
|
-
| `hideTakePhotoOption` | `bool?` | — | Hide take photo |
|
|
104
|
-
| `onSendButtonTap` | `Function?` | — | Custom send handler |
|
|
105
|
-
| `onError` | `OnError?` | — | Error callback |
|
|
106
|
-
|
|
107
|
-
## CometChatCompactMessageComposer
|
|
108
|
-
|
|
109
|
-
Compact variant with rounded pill-shaped input, inline rich text toolbar, and modern minimal aesthetic. Use it explicitly in your widget tree when you want this look — there is no global `Layout` toggle that swaps composers automatically.
|
|
110
|
-
|
|
111
|
-
### Props unique to Compact (not in regular composer)
|
|
112
|
-
|
|
113
|
-
| Prop | Type | Default | Description |
|
|
114
|
-
|------|------|---------|-------------|
|
|
115
|
-
| `compactMessageComposerStyle` | `CometChatCompactMessageComposerStyle?` | — | Visual styling |
|
|
116
|
-
| `enableRichTextFormatting` | `bool` | `true` | Enable rich text (master switch) |
|
|
117
|
-
| `showRichTextFormattingOptions` | `bool` | `true` | Show toolbar above composer |
|
|
118
|
-
| `showTextSelectionMenuItems` | `bool` | `true` | Formatting in text selection menu |
|
|
119
|
-
| `hideRichTextFormattingOptions` | `Set<FormatType>?` | — | Hide specific format types |
|
|
120
|
-
| `richTextToolbarStyle` | `CometChatRichTextToolbarStyle?` | — | Toolbar styling |
|
|
121
|
-
| `enterKeyBehavior` | `EnterKeyBehavior` | `newLine` | Enter key: `sendMessage` or `newLine` |
|
|
122
|
-
|
|
123
|
-
All other props (user, group, parentMessageId, hide* options, textFormatters, etc.) are the same as `CometChatMessageComposer`.
|
|
124
|
-
|
|
125
|
-
### Usage
|
|
126
|
-
|
|
127
|
-
```dart
|
|
128
|
-
// ✅ CORRECT — compact composer with thread support
|
|
129
|
-
CometChatCompactMessageComposer(
|
|
130
|
-
user: user,
|
|
131
|
-
parentMessageId: parentMessage.id,
|
|
132
|
-
disableTypingEvents: false,
|
|
133
|
-
disableMentions: false,
|
|
134
|
-
hideVoiceRecordingButton: false,
|
|
135
|
-
)
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## CometChatMessageHeader
|
|
139
|
-
|
|
140
|
-
Displays user/group info. Implements `PreferredSizeWidget` for use as `appBar`.
|
|
141
|
-
|
|
142
|
-
### Key Props
|
|
143
|
-
|
|
144
|
-
| Prop | Type | Description |
|
|
145
|
-
|------|------|-------------|
|
|
146
|
-
| `user` | `User?` | User to display |
|
|
147
|
-
| `group` | `Group?` | Group to display |
|
|
148
|
-
| `messageHeaderStyle` | `CometChatMessageHeaderStyle?` | Visual styling |
|
|
149
|
-
| `subtitleView` | `Widget? Function(Group?, User?, BuildContext)?` | Custom subtitle |
|
|
150
|
-
| `listItemView` | `Widget Function(Group?, User?, BuildContext)?` | Custom list item |
|
|
151
|
-
| `showBackButton` | `bool?` | Show back button (default: true) |
|
|
152
|
-
| `onBack` | `VoidCallback?` | Back button callback |
|
|
153
|
-
| `hideVideoCallButton` | `bool?` | Hide video call button |
|
|
154
|
-
| `hideVoiceCallButton` | `bool?` | Hide voice call button |
|
|
155
|
-
| `usersStatusVisibility` | `bool` | Show online status (default: true) |
|
|
156
|
-
| `options` | `Function(User?, Group?, BuildContext)?` | Custom header options menu |
|
|
157
|
-
|
|
158
|
-
## CometChatThreadedHeader
|
|
159
|
-
|
|
160
|
-
Displays the parent message for threaded conversations.
|
|
161
|
-
|
|
162
|
-
### Key Props
|
|
163
|
-
|
|
164
|
-
| Prop | Type | Description |
|
|
165
|
-
|------|------|-------------|
|
|
166
|
-
| `parentMessage` | `BaseMessage` | The parent message (required) |
|
|
167
|
-
| `loggedInUser` | `User` | Current logged-in user (NON-nullable; pass `CometChatUIKit.loggedInUser!`) |
|
|
168
|
-
| `template` | `CometChatMessageTemplate?` | Message template |
|
|
169
|
-
| `receiptsVisibility` | `bool?` | Show receipts |
|
|
170
|
-
| `height` | `double?` | Header height |
|
|
171
|
-
| `width` | `double?` | Header width |
|
|
172
|
-
| `messageActionView` | `Function(BaseMessage, BuildContext)?` | Builder for a custom action view in the header |
|
|
173
|
-
| `style` | `CometChatThreadedHeaderStyle?` | Visual style |
|
|
174
|
-
| `textFormatters` | `List<CometChatTextFormatter>?` | Custom text formatters |
|
|
175
|
-
|
|
176
|
-
### Threaded Messages Pattern
|
|
177
|
-
|
|
178
|
-
```dart
|
|
179
|
-
Scaffold(
|
|
180
|
-
body: Column(
|
|
181
|
-
children: [
|
|
182
|
-
CometChatThreadedHeader(
|
|
183
|
-
parentMessage: parentMessage,
|
|
184
|
-
loggedInUser: CometChatUIKit.loggedInUser!,
|
|
185
|
-
),
|
|
186
|
-
Expanded(
|
|
187
|
-
child: CometChatMessageList(
|
|
188
|
-
user: user,
|
|
189
|
-
messagesRequestBuilder: MessagesRequestBuilder()
|
|
190
|
-
..parentMessageId = parentMessage.id,
|
|
191
|
-
),
|
|
192
|
-
),
|
|
193
|
-
CometChatMessageComposer(
|
|
194
|
-
user: user,
|
|
195
|
-
parentMessageId: parentMessage.id,
|
|
196
|
-
),
|
|
197
|
-
],
|
|
198
|
-
),
|
|
199
|
-
)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Sending Messages Programmatically
|
|
203
|
-
|
|
204
|
-
Use `CometChatUIKit` static methods (not `CometChat` directly) to ensure UIKit events fire:
|
|
205
|
-
|
|
206
|
-
```dart
|
|
207
|
-
// ✅ CORRECT
|
|
208
|
-
CometChatUIKit.sendTextMessage(message, onSuccess: ..., onError: ...);
|
|
209
|
-
|
|
210
|
-
// ❌ WRONG — bypasses UIKit events (ccMessageSent won't fire)
|
|
211
|
-
CometChat.sendMessage(message, onSuccess: ...);
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
## Golden Path — Messages Screen
|
|
215
|
-
|
|
216
|
-
```dart
|
|
217
|
-
class MessagesScreen extends StatelessWidget {
|
|
218
|
-
final User? user;
|
|
219
|
-
final Group? group;
|
|
220
|
-
const MessagesScreen({super.key, this.user, this.group});
|
|
221
|
-
|
|
222
|
-
@override
|
|
223
|
-
Widget build(BuildContext context) {
|
|
224
|
-
return Scaffold(
|
|
225
|
-
appBar: CometChatMessageHeader(
|
|
226
|
-
user: user,
|
|
227
|
-
group: group,
|
|
228
|
-
onBack: () => Navigator.pop(context),
|
|
229
|
-
),
|
|
230
|
-
body: Column(
|
|
231
|
-
children: [
|
|
232
|
-
Expanded(child: CometChatMessageList(user: user, group: group)),
|
|
233
|
-
CometChatMessageComposer(user: user, group: group),
|
|
234
|
-
],
|
|
235
|
-
),
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
## Anti-Patterns
|
|
242
|
-
|
|
243
|
-
```dart
|
|
244
|
-
// ❌ WRONG — passing two NON-null targets at the same time
|
|
245
|
-
CometChatMessageList(user: aUser, group: aGroup) // ambiguous — kit ignores group
|
|
246
|
-
// ✅ At any moment, exactly one of user/group must be non-null.
|
|
247
|
-
// Passing both fields with one null (e.g. `user: user, group: null`) is fine
|
|
248
|
-
// and is what the chat-builder sample app does to switch between contexts.
|
|
249
|
-
|
|
250
|
-
// ❌ WRONG — using CometChat.sendMessage instead of CometChatUIKit
|
|
251
|
-
CometChat.sendMessage(message, onSuccess: ...);
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
## Checklist — Messages Screen
|
|
255
|
-
|
|
256
|
-
- [ ] Only one of `user` or `group` passed to each component
|
|
257
|
-
- [ ] Same `user`/`group` passed to Header, List, and Composer
|
|
258
|
-
- [ ] Thread replies use `parentMessageId` on both List and Composer
|
|
259
|
-
- [ ] Messages sent via `CometChatUIKit.sendTextMessage()`
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cometchat-flutter-v5-production
|
|
3
|
-
description: "Use when preparing a CometChat Flutter UIKit v5 app for production. Covers auth tokens, ProGuard, environment config, security hardening."
|
|
4
|
-
license: "MIT"
|
|
5
|
-
compatibility: "cometchat_chat_uikit ^5.2.14; cometchat_calls_uikit ^5.0.15"
|
|
6
|
-
metadata:
|
|
7
|
-
author: "CometChat"
|
|
8
|
-
version: "3.0.0"
|
|
9
|
-
tags: "cometchat flutter v5 production security auth tokens proguard environment"
|
|
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/fundamentals/user-auth · **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 — Production
|
|
15
|
-
|
|
16
|
-
Hardening a CometChat Flutter app for production deployment.
|
|
17
|
-
|
|
18
|
-
## Auth Tokens vs Auth Key
|
|
19
|
-
|
|
20
|
-
**Development:** `CometChatUIKit.login(uid)` uses `authKey` from `UIKitSettingsBuilder`. This is convenient but insecure — the authKey is embedded in the app binary.
|
|
21
|
-
|
|
22
|
-
**Production:** Use server-minted auth tokens via `CometChatUIKit.loginWithAuthToken(authToken)`:
|
|
23
|
-
|
|
24
|
-
```dart
|
|
25
|
-
// 1. Your backend generates an auth token via CometChat REST API
|
|
26
|
-
// POST https://{appId}.api-{region}.cometchat.io/v3/users/{uid}/auth_tokens
|
|
27
|
-
// Header: apiKey: YOUR_API_KEY
|
|
28
|
-
|
|
29
|
-
// 2. Your Flutter app receives the token and logs in
|
|
30
|
-
CometChatUIKit.loginWithAuthToken(authToken,
|
|
31
|
-
onSuccess: (user) { ... },
|
|
32
|
-
onError: (e) { ... },
|
|
33
|
-
);
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
This keeps the API key on your server, never in the client.
|
|
37
|
-
|
|
38
|
-
## Environment Configuration
|
|
39
|
-
|
|
40
|
-
Store credentials outside source code:
|
|
41
|
-
|
|
42
|
-
```dart
|
|
43
|
-
class AppCredentials {
|
|
44
|
-
static String _appId = '';
|
|
45
|
-
static String _authKey = '';
|
|
46
|
-
static String _region = '';
|
|
47
|
-
|
|
48
|
-
// Load from SharedPreferences, environment, or remote config
|
|
49
|
-
static String get appId => _appId.isEmpty
|
|
50
|
-
? SharedPreferencesClass.getString('appId')
|
|
51
|
-
: _appId;
|
|
52
|
-
|
|
53
|
-
static Future<void> setAppId(String value) async {
|
|
54
|
-
await SharedPreferencesClass.setString('appId', value);
|
|
55
|
-
_appId = value;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The master app supports QR code scanning to load credentials dynamically (`CometChatQRScreen`).
|
|
61
|
-
|
|
62
|
-
## Android Build Requirements
|
|
63
|
-
|
|
64
|
-
### gradle.properties
|
|
65
|
-
|
|
66
|
-
```properties
|
|
67
|
-
android.useAndroidX=true
|
|
68
|
-
android.enableJetifier=true
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### minSdk
|
|
72
|
-
|
|
73
|
-
```groovy
|
|
74
|
-
// android/app/build.gradle
|
|
75
|
-
defaultConfig {
|
|
76
|
-
minSdk 24 // Matches vendor samples (sample_app + sample_app_push_notifications + calls_uikit android/build.gradle).
|
|
77
|
-
// Raw calls-sdk docs cite 26; the UI Kit wrapper relaxes to 24 for chat-only apps.
|
|
78
|
-
// Bump to 26 ONLY if your app uses calls AND fails at runtime with a min-SDK error from the calls plugin.
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### ProGuard / R8 Keep Rules
|
|
83
|
-
|
|
84
|
-
Create `android/app/proguard-rules.pro`:
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
-keep class com.cometchat.** { *; }
|
|
88
|
-
-keep interface com.cometchat.** { *; }
|
|
89
|
-
-dontwarn com.cometchat.calls.**
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Reference in `build.gradle`:
|
|
93
|
-
|
|
94
|
-
```groovy
|
|
95
|
-
buildTypes {
|
|
96
|
-
release {
|
|
97
|
-
minifyEnabled true
|
|
98
|
-
shrinkResources true
|
|
99
|
-
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Signing
|
|
105
|
-
|
|
106
|
-
```groovy
|
|
107
|
-
signingConfigs {
|
|
108
|
-
release {
|
|
109
|
-
storeFile file('your_keystore.jks')
|
|
110
|
-
storePassword 'STORE_PASSWORD'
|
|
111
|
-
keyAlias 'KEY_ALIAS'
|
|
112
|
-
keyPassword 'KEY_PASSWORD'
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## iOS Build Requirements
|
|
118
|
-
|
|
119
|
-
### Info.plist Permissions
|
|
120
|
-
|
|
121
|
-
```xml
|
|
122
|
-
<key>NSCameraUsageDescription</key>
|
|
123
|
-
<string>Camera access for video calls and photo sharing</string>
|
|
124
|
-
<key>NSMicrophoneUsageDescription</key>
|
|
125
|
-
<string>Microphone access for voice and video calls</string>
|
|
126
|
-
<key>NSPhotoLibraryUsageDescription</key>
|
|
127
|
-
<string>Photo library access for sharing images</string>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Background Modes (for VoIP)
|
|
131
|
-
|
|
132
|
-
Enable in Xcode: Background Modes → Voice over IP, Remote notifications, Background fetch.
|
|
133
|
-
|
|
134
|
-
### Podfile
|
|
135
|
-
|
|
136
|
-
Ensure minimum iOS deployment target matches CometChat requirements.
|
|
137
|
-
|
|
138
|
-
## Firebase Setup
|
|
139
|
-
|
|
140
|
-
```dart
|
|
141
|
-
// In main(), before runApp:
|
|
142
|
-
await Firebase.initializeApp(
|
|
143
|
-
options: DefaultFirebaseOptions.currentPlatform,
|
|
144
|
-
);
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Crashlytics
|
|
148
|
-
|
|
149
|
-
```dart
|
|
150
|
-
FlutterError.onError = (errorDetails) {
|
|
151
|
-
FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
|
|
152
|
-
};
|
|
153
|
-
PlatformDispatcher.instance.onError = (error, stack) {
|
|
154
|
-
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
|
|
155
|
-
return true;
|
|
156
|
-
};
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
## Push Notification Provider IDs
|
|
160
|
-
|
|
161
|
-
Configure provider IDs for FCM and APNs in the CometChat dashboard:
|
|
162
|
-
|
|
163
|
-
```dart
|
|
164
|
-
static String get fcmProviderId => 'your-fcm-provider-id';
|
|
165
|
-
static String get apnProviderId => 'your-apn-provider-id';
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
These must match what's configured in the CometChat dashboard under Notifications → Push Notifications.
|
|
169
|
-
|
|
170
|
-
## Demo Meta Info
|
|
171
|
-
|
|
172
|
-
For internal tracking (optional):
|
|
173
|
-
|
|
174
|
-
```dart
|
|
175
|
-
CometChat.setDemoMetaInfo(jsonObject: {
|
|
176
|
-
"name": "flutter-sample-app",
|
|
177
|
-
"type": "sample",
|
|
178
|
-
"version": "5.2.11",
|
|
179
|
-
"platform": "flutter",
|
|
180
|
-
});
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Logout Flow
|
|
184
|
-
|
|
185
|
-
```dart
|
|
186
|
-
// 1. Unregister push tokens — real SDK API:
|
|
187
|
-
await CometChatNotifications.unregisterPushToken(
|
|
188
|
-
onSuccess: (_) {},
|
|
189
|
-
onError: (e) {},
|
|
190
|
-
);
|
|
191
|
-
// (PNRegistry.unregisterPNService() only works if you copied the v5 sample-app
|
|
192
|
-
// `extension PNRegistry on CometChatService` helper into your project — it is
|
|
193
|
-
// NOT importable from any cometchat_* package. See cometchat-flutter-v5-push.)
|
|
194
|
-
|
|
195
|
-
// 2. Sign out from Firebase/Google (if applicable)
|
|
196
|
-
await FirebaseAuth.instance.signOut();
|
|
197
|
-
await GoogleSignIn().signOut();
|
|
198
|
-
|
|
199
|
-
// 3. Logout from CometChat
|
|
200
|
-
await CometChatUIKit.logout(
|
|
201
|
-
onSuccess: (_) { /* navigate to login */ },
|
|
202
|
-
onError: (e) { /* show error */ },
|
|
203
|
-
);
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Checklist — Production
|
|
207
|
-
|
|
208
|
-
- [ ] Auth tokens minted server-side, not authKey in client
|
|
209
|
-
- [ ] Credentials not hardcoded in source (use SharedPreferences or remote config)
|
|
210
|
-
- [ ] ProGuard rules added for release builds
|
|
211
|
-
- [ ] minSdk 24 set (or 26 if your app uses calls AND hits min-SDK runtime errors)
|
|
212
|
-
- [ ] iOS permissions in Info.plist
|
|
213
|
-
- [ ] Firebase Crashlytics configured
|
|
214
|
-
- [ ] Push notification provider IDs match CometChat dashboard
|
|
215
|
-
- [ ] Logout unregisters push tokens before CometChat logout
|
|
216
|
-
- [ ] Signing config set for release builds
|