@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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedFrom": "cometchat.com/docs — sdk/android/v5 (setup, authentication-overview, send-message, receive-messages, real-time-listeners, additional-message-filtering) verified 2026-08-20; symbols cross-checked against test-suite/catalogs/sdk-android-v5.json (curated from the INSTALLED com.cometchat:chat-sdk-android:5.0.5 AAR). Android adaptation of the web-react contracts.json 'sdk-chat-surface' entry — same capability NAMES where the principle is shared, Android/Kotlin recipes.",
|
|
3
|
+
"family": "android-sdk",
|
|
4
|
+
"major": "v5",
|
|
5
|
+
"contracts": [
|
|
6
|
+
{
|
|
7
|
+
"for": "sdk-chat-surface",
|
|
8
|
+
"kind": "feature",
|
|
9
|
+
"consumption": "sdk",
|
|
10
|
+
"min_capabilities": ["init-before-anything", "init-then-login-ordering", "credentials-via-settings-file", "prod-auth-token-guidance", "send-message", "receive-via-listener", "listener-register-with-id", "listener-remove-on-teardown", "sdk-error-handling", "pagination-via-request-builder", "production-ready-design-system", "sized-shell-no-overflow", "conversations-users-groups-lists", "list-search", "delete-conversation", "message-actions-working", "thread-panel", "user-group-detail-with-actions", "optimistic-ui-mutations", "loading-empty-error-states"],
|
|
11
|
+
"docs_topic": "https://www.cometchat.com/docs/sdk/android/v5/overview",
|
|
12
|
+
"notes": "HEADLESS (build-your-own-UI) FLOOR for the Android Chat SDK v5 skill — the SDK analogue of core-chat-surface. Capabilities are behaviours the emitted code MUST include, mapped to the Android SDK (FETCH exact signatures from the sdk/android/v5 pages — bake the map, fetch the manual): init-before-anything = CometChat.initFromSettings(context, CallbackListener<String>) resolves (onSuccess) BEFORE any other SDK call — it reads the GITIGNORED app/src/main/assets/cometchat-settings.json (appId, region, credentials.authKey, chatSDK section) and persists integrationSource=\"ai-agent\" for telemetry (AUDIT-084; signature verified vs the installed 5.0.5 AAR — javap: initFromSettings(Context, CallbackListener<String>)). Do NOT use the classic CometChat.init(context, appId, AppSettings) as the default; it loses attribution. init-then-login-ordering = CometChat.login(uid, authKey/authToken, CallbackListener) runs AFTER init and BEFORE send/fetch/listeners; skip login if getLoggedInUser() != null (re-login of the same user throws). credentials-via-settings-file = appId/region/authKey live in the gitignored assets/cometchat-settings.json read by initFromSettings — never hardcoded in source; build-time extras go local.properties → buildConfigField → BuildConfig. prod-auth-token-guidance = server-minted auth token login for prod; Auth Key dev-only. send-message = build TextMessage(receiverId, text, receiverType) + CometChat.sendMessage(msg, CallbackListener<TextMessage>). receive-via-listener = a registered CometChat.MessageListener delivers incoming messages (onTextMessageReceived/onMediaMessageReceived), not polling. listener-register-with-id = CometChat.addMessageListener(UNIQUE_ID, listener). listener-remove-on-teardown = CometChat.removeMessageListener(UNIQUE_ID) in the lifecycle teardown (onDestroy / DisposableEffect onDispose / ViewModel onCleared) — register AND remove; a leaked listener FAILS this contract. sdk-error-handling = every CallbackListener implements onError(CometChatException) and surfaces e.message — never an empty catch. pagination-via-request-builder = MessagesRequest.MessagesRequestBuilder().setLimit(n).build() + fetchPrevious/fetchNext (same builder pattern for Users/Groups/Conversations/GroupMembers requests), not one unbounded call. BECAUSE THE SDK HAS NO UI, the emitted app must ALSO be production-ready UI, deterministically: production-ready-design-system = reuse the app's existing theme (Material3/Compose theme or XML styles) or establish a small token-based one — never ad-hoc one-off styling. sized-shell-no-overflow = the chat screen fills the viewport (match_parent / fillMaxSize), the message list scrolls internally (RecyclerView / LazyColumn with reverseLayout as appropriate), insets + IME handled (adjustResize / imePadding). conversations-users-groups-lists + list-search = all three lists, each searchable via the request builder's search-keyword setter — TWO real traps to emit correctly: (1) casing differs per builder — UsersRequestBuilder.setSearchKeyword / ConversationsRequestBuilder.setSearchKeyword are lowercase but GroupsRequestBuilder.setSearchKeyWord has a CAPITAL W (SDK inconsistency; setSearchKeyword on GroupsRequest = Unresolved reference); (2) Conversations search (and setUnread) is PLAN-GATED — requires the 'Conversation & Advanced Search' feature (Advanced/Custom plan + a dashboard toggle) and OFF-PLAN silently returns the FULL unfiltered list with no error, so gate the conversations-search UI behind an 'Advanced plan' hint or a labelled local filter — never present an unfiltered list as a search result. Users/Groups search are NOT plan-gated. presence-in-header = the header/users presence (onUserOnline/onUserOffline via addUserListener) only fires when the settings asset opts in with chatSDK.presenceSubscription (ALL_USERS/FRIENDS/ROLES; absent ⇒ no realtime presence — getUser().status is a snapshot only). delete-conversation = CometChat.deleteConversation per row. message-actions-working = reply-in-thread / react / edit / delete each wired to the SDK AND reflected in the UI (own-message gating for edit/delete via sender uid). thread-panel = setParentMessageId(...) scoped MessagesRequest + a thread composer. user-group-detail-with-actions = user detail (blockUsers/unblockUsers) + group detail (addMembersToGroup / kickGroupMember / banGroupMember / updateGroupMemberScope / leaveGroup), scope-gated. optimistic-ui-mutations = send/edit/delete/react update the UI immediately (temp 'sending' state, e.g. via the muid) then reconcile in onSuccess/onError (roll back + surface the error). loading-empty-error-states = loading/empty/error on every surface, never blank. This is the full default for a generic 'build chat with the Android SDK' prompt; bare bubbles UNDER-DELIVER. All symbols named here exist in the sdk-android-v5 catalog (curated+members, AUDIT-021 class)."
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedFrom": "@cometchat/calls-sdk-javascript@5.0.5 (.d.ts) + /calls/javascript docs (v5, preview)",
|
|
3
|
+
"family": "web-calls-v5",
|
|
4
|
+
"major": "v5",
|
|
5
|
+
"capabilityDetectors": {},
|
|
6
|
+
"contracts": [
|
|
7
|
+
{
|
|
8
|
+
"for": "calls-session-surface",
|
|
9
|
+
"kind": "feature",
|
|
10
|
+
"consumption": "sdk",
|
|
11
|
+
"min_capabilities": [
|
|
12
|
+
"init-before-anything",
|
|
13
|
+
"init-then-login-ordering",
|
|
14
|
+
"prod-auth-token-guidance",
|
|
15
|
+
"generate-token-before-join",
|
|
16
|
+
"join-session-into-sized-container",
|
|
17
|
+
"listener-registered-before-join",
|
|
18
|
+
"listener-unsub-on-teardown",
|
|
19
|
+
"leave-session-on-teardown",
|
|
20
|
+
"in-call-actions-wired",
|
|
21
|
+
"sdk-error-handling",
|
|
22
|
+
"https-getusermedia-note"
|
|
23
|
+
],
|
|
24
|
+
"docs_topic": "/calls/javascript/join-session",
|
|
25
|
+
"notes": "HEADLESS meet-style FLOOR for the Calls SDK v5 skill (cometchat-js-v5-sdk) — the calling analogue of sdk-chat-surface. Capabilities are SDK behaviours the emitted code MUST include, mapped to @cometchat/calls-sdk-javascript@5 (FETCH exact signatures from /calls/javascript via references/docs-map.md — bake the map, fetch the manual): init-before-anything = the emit inits via the ai-agent/telemetry-attributed CometChatCalls.initFromSettings(settings) (persists integrationSource='ai-agent', parallels the chat sdk-chat-surface floor, RULES §5 / AUDIT-084/175) — passed the settings object INLINE (the shape is baked in the skill's references/docs-map.md; initFromSettings is intentionally undocumented/ai-agent-only, @nodoc, per DOCS-BACKLOG F4/C1) — and it resolves BEFORE any other calls SDK call. The publicly-documented CometChatCalls.init({appId,region}) is the FALLBACK ONLY (a non-skills/doc-following context). init-then-login-ordering = CometChatCalls.login(uid, authKey) | loginWithAuthToken(token) runs AFTER init and BEFORE generateToken/joinSession/listeners. prod-auth-token-guidance = loginWithAuthToken / server-side token; Auth Key dev-only. generate-token-before-join = const {token} = await CometChatCalls.generateToken(sessionId) precedes joinSession. join-session-into-sized-container = CometChatCalls.joinSession(token, sessionSettings, containerEl) where containerEl has REAL dimensions (zero-height renders the call invisibly). listener-registered-before-join = CometChatCalls.addEventListener(name, cb) registered BEFORE joinSession. listener-unsub-on-teardown = every addEventListener return value (an unsubscribe fn) is called on teardown; a leaked listener FAILS. leave-session-on-teardown = CometChatCalls.leaveSession() on unmount. in-call-actions-wired = mute/unmute + video pause/resume + leave are wired to real controls (muteAudio/unmuteAudio/pauseVideo/resumeVideo/leaveSession), never dead buttons. sdk-error-handling = joinSession's Result.error path and awaited-call rejections are handled. https-getusermedia-note = the emit/README states HTTPS-or-localhost is required for getUserMedia. Least-code = use the SDK's own methods (HOW); never drop teardown or the error path (WHAT). Meet-style needs ONLY the Calls SDK — no Chat SDK. Every CometChatCalls.* symbol named here is in the web-calls-v5 catalog."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"for": "calls-oneonone-ringing",
|
|
29
|
+
"kind": "feature",
|
|
30
|
+
"consumption": "sdk",
|
|
31
|
+
"min_capabilities": [
|
|
32
|
+
"chat-sdk-init-login",
|
|
33
|
+
"initiate-call-signaling",
|
|
34
|
+
"incoming-call-listener-with-id",
|
|
35
|
+
"accept-or-reject-call",
|
|
36
|
+
"generate-token-from-accepted-session",
|
|
37
|
+
"join-session-after-accept",
|
|
38
|
+
"call-listener-remove-on-teardown",
|
|
39
|
+
"sdk-error-handling"
|
|
40
|
+
],
|
|
41
|
+
"docs_topic": "/calls/javascript/overview",
|
|
42
|
+
"notes": "1:1 RINGING FLOOR — adds the Chat SDK signaling layer on top of calls-session-surface. Ringing = a specific user is called, gets an incoming prompt, accepts/rejects; the Chat SDK (@cometchat/chat-sdk-javascript@4) does the signaling and the Calls SDK carries media (FETCH the Chat-SDK calling signatures via references/docs-map.md § '1:1 RINGING' — do NOT bake them): chat-sdk-init-login = the Chat SDK is init'd + logged in (shared session with the Calls SDK). initiate-call-signaling = CometChat.initiateCall(new CometChat.Call(receiverId, receiverType, callType)) starts the ring. incoming-call-listener-with-id = CometChat.addCallListener(UNIQUE_ID, new CometChat.CallListener({ onIncomingCallReceived, onOutgoingCallAccepted, onOutgoingCallRejected, onIncomingCallCancelled })). accept-or-reject-call = CometChat.acceptCall(sessionId) / CometChat.rejectCall(sessionId, status). generate-token-from-accepted-session = CometChatCalls.generateToken(acceptedCall.getSessionId()). join-session-after-accept = CometChatCalls.joinSession(token, sessionSettings, containerEl) once accepted. call-listener-remove-on-teardown = CometChat.removeCallListener(UNIQUE_ID) on teardown. sdk-error-handling = every awaited call handles the CometChatException path. This contract INHERITS the calls-session-surface floor for the media half (container sizing, event-listener teardown, leaveSession)."
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_doc": "Headless capability enumeration for the Android Calls SDK v5 skill (cometchat-android-v5-calls-sdk) — standalone voice/video FROM SCRATCH, no UI Kit. Native fork of features.web-calls-v5.json: the deliverable is a calls-session-surface (meet-style join into a RelativeLayout) and a calls-oneonone-ringing flow (Chat SDK v5 signaling + Calls SDK media). surface=headless gives every feature the sdk-surface predicate profile (done = G0 ∧ G5 ∧ G6); families.json routes the family through the NATIVE ladder (gate-emit → native-fence gradle build vs the pinned calls-sdk-android 5.0.4 → CallsSmokeTests on a real emulator: init→login→attach→generateToken→joinSession→session-active→leaveSession). Symbols verified against test-suite/catalogs/android-calls-v5.json (curated+members from the INSTALLED 5.0.4 AAR via javap, cross-checked with the live /calls/android docs, 2026-09-07). Android CANNOT initiate screen share (receive-only) and has no virtual-background page — neither is claimed here.",
|
|
3
|
+
"family": "android-calls-v5",
|
|
4
|
+
"major": "v5",
|
|
5
|
+
"surface": "headless",
|
|
6
|
+
"pack": "cometchat-android-v5-calls-sdk",
|
|
7
|
+
"features": [
|
|
8
|
+
{
|
|
9
|
+
"id": "calls-session-meet",
|
|
10
|
+
"name": "Meet-style call session (join a room by session id)",
|
|
11
|
+
"category": "core",
|
|
12
|
+
"enablement": "auto",
|
|
13
|
+
"docs_topic": "/calls/android/join-session",
|
|
14
|
+
"sdk_symbols": [
|
|
15
|
+
"initFromSettings",
|
|
16
|
+
"init",
|
|
17
|
+
"login",
|
|
18
|
+
"generateToken",
|
|
19
|
+
"joinSession",
|
|
20
|
+
"SessionSettingsBuilder",
|
|
21
|
+
"CallSession",
|
|
22
|
+
"leaveSession",
|
|
23
|
+
"addSessionStatusListener"
|
|
24
|
+
],
|
|
25
|
+
"notes": "The primary headless surface: everyone who joins the same sessionId lands in the same call. Calls SDK ONLY. joinSession renders the SDK's full call UI (controls included) into a sized RelativeLayout. Gated by the calls-session-surface contract; G6 = the device round-trip (session active + SDK view rendered)."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "calls-oneonone-ringing",
|
|
29
|
+
"name": "One-on-one ringing call (Chat SDK signaling + Calls SDK media)",
|
|
30
|
+
"category": "core",
|
|
31
|
+
"enablement": "auto",
|
|
32
|
+
"docs_topic": "/calls/android/ringing",
|
|
33
|
+
"sdk_symbols": [
|
|
34
|
+
"initiateCall",
|
|
35
|
+
"addCallListener",
|
|
36
|
+
"CallListener",
|
|
37
|
+
"acceptCall",
|
|
38
|
+
"rejectCall",
|
|
39
|
+
"endCall",
|
|
40
|
+
"removeCallListener",
|
|
41
|
+
"generateToken",
|
|
42
|
+
"joinSession",
|
|
43
|
+
"leaveSession"
|
|
44
|
+
],
|
|
45
|
+
"notes": "Ring a specific user (incoming prompt, accept/reject) via the Chat SDK's initiateCall/CallListener/acceptCall, then generateToken(call.sessionId) + joinSession for media; CometChat.endCall on hang-up so the peer's onCallEndedMessageReceived fires. Requires com.cometchat:chat-sdk-android ^5 (init + login) alongside the Calls SDK. Needs TWO devices/users to prove live — G6 grades the mounted surface (smoke.roundtrip=surface)."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "call-events",
|
|
49
|
+
"name": "Call events (session / participant / media / button / layout listeners)",
|
|
50
|
+
"category": "core",
|
|
51
|
+
"enablement": "auto",
|
|
52
|
+
"docs_topic": "/calls/android/events",
|
|
53
|
+
"sdk_symbols": [
|
|
54
|
+
"CallSession",
|
|
55
|
+
"addSessionStatusListener",
|
|
56
|
+
"addParticipantEventListener",
|
|
57
|
+
"addMediaEventsListener",
|
|
58
|
+
"addButtonClickListener",
|
|
59
|
+
"addLayoutListener",
|
|
60
|
+
"SessionStatusListener",
|
|
61
|
+
"ParticipantEventListener",
|
|
62
|
+
"MediaEventsListener",
|
|
63
|
+
"ButtonClickListener",
|
|
64
|
+
"LayoutListener"
|
|
65
|
+
],
|
|
66
|
+
"notes": "Every listener is LIFECYCLE-BOUND: CallSession.getInstance().add*Listener(lifecycleOwner, listener) is removed with the owner. Register from the joinSession onSuccess (or right after). Exact callback names verified vs the 5.0.4 AAR — the docs list onScreenShareStarted/Stopped on MediaEventsListener, which does NOT exist (screen-share events are on ParticipantEventListener)."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "call-layouts",
|
|
70
|
+
"name": "Call layouts (Tile / Sidebar / Spotlight)",
|
|
71
|
+
"category": "default",
|
|
72
|
+
"enablement": "auto",
|
|
73
|
+
"docs_topic": "/calls/android/call-layouts",
|
|
74
|
+
"sdk_symbols": [
|
|
75
|
+
"SessionSettingsBuilder",
|
|
76
|
+
"setLayout",
|
|
77
|
+
"LayoutType",
|
|
78
|
+
"addLayoutListener",
|
|
79
|
+
"hideChangeLayoutButton"
|
|
80
|
+
],
|
|
81
|
+
"notes": "Set the layout at join (SessionSettingsBuilder.setLayout) or live via CallSession.setLayout(LayoutType.*); LayoutListener.onCallLayoutChanged reflects it. The built-in surface already has a change-layout button — hideChangeLayoutButton(true) only when fixing the layout."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "call-audio-modes",
|
|
85
|
+
"name": "Audio output modes (speaker / earpiece / Bluetooth / headphones)",
|
|
86
|
+
"category": "default",
|
|
87
|
+
"enablement": "auto",
|
|
88
|
+
"docs_topic": "/calls/android/audio-modes",
|
|
89
|
+
"sdk_symbols": [
|
|
90
|
+
"setAudioMode",
|
|
91
|
+
"AudioMode",
|
|
92
|
+
"onAudioModeChanged",
|
|
93
|
+
"hideAudioModeButton"
|
|
94
|
+
],
|
|
95
|
+
"notes": "SessionSettingsBuilder.setAudioMode at join or CallSession.setAudioMode(AudioMode.*) live; MediaEventsListener.onAudioModeChanged reflects the device switch. Needs MODIFY_AUDIO_SETTINGS + BLUETOOTH permissions (the AAR manifest declares them)."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "call-recording",
|
|
99
|
+
"name": "Call recording",
|
|
100
|
+
"category": "default",
|
|
101
|
+
"enablement": "dashboard",
|
|
102
|
+
"docs_topic": "/calls/android/recording",
|
|
103
|
+
"sdk_symbols": [
|
|
104
|
+
"startRecording",
|
|
105
|
+
"stopRecording",
|
|
106
|
+
"enableAutoStartRecording",
|
|
107
|
+
"onRecordingStarted",
|
|
108
|
+
"onRecordingStopped",
|
|
109
|
+
"onParticipantStartedRecording"
|
|
110
|
+
],
|
|
111
|
+
"notes": "CallSession.startRecording/stopRecording (or auto-start via SessionSettingsBuilder.enableAutoStartRecording); MediaEventsListener.onRecordingStarted/Stopped for your own recording, ParticipantEventListener.onParticipantStartedRecording for others. Recordings surface later on CallLog.getRecordings(). Recording may require enabling on the CometChat Dashboard — flag honestly."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "call-raise-hand",
|
|
115
|
+
"name": "Raise hand",
|
|
116
|
+
"category": "default",
|
|
117
|
+
"enablement": "auto",
|
|
118
|
+
"docs_topic": "/calls/android/raise-hand",
|
|
119
|
+
"sdk_symbols": [
|
|
120
|
+
"raiseHand",
|
|
121
|
+
"lowerHand",
|
|
122
|
+
"onParticipantHandRaised",
|
|
123
|
+
"onParticipantHandLowered",
|
|
124
|
+
"getRaisedHandTimestamp",
|
|
125
|
+
"hideRaiseHandButton"
|
|
126
|
+
],
|
|
127
|
+
"notes": "CallSession.raiseHand/lowerHand; ParticipantEventListener.onParticipantHandRaised/Lowered; Participant.raisedHandTimestamp > 0 lists who has a hand up, in order."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "call-participant-management",
|
|
131
|
+
"name": "Participant management (mute / pause video / pin)",
|
|
132
|
+
"category": "default",
|
|
133
|
+
"enablement": "auto",
|
|
134
|
+
"docs_topic": "/calls/android/participant-management",
|
|
135
|
+
"sdk_symbols": [
|
|
136
|
+
"muteParticipant",
|
|
137
|
+
"pauseParticipantVideo",
|
|
138
|
+
"pinParticipant",
|
|
139
|
+
"unpinParticipant",
|
|
140
|
+
"onParticipantListChanged",
|
|
141
|
+
"onParticipantJoined",
|
|
142
|
+
"onParticipantLeft",
|
|
143
|
+
"onDominantSpeakerChanged",
|
|
144
|
+
"Participant"
|
|
145
|
+
],
|
|
146
|
+
"notes": "Every participant is a moderator by default (role gating is the app's job). Verified vs the AAR: pinParticipant takes TWO String args and unpin is `unpinParticipant()` — the docs show pinParticipant(uid) / unPinParticipant(), which do not compile."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "call-logs",
|
|
150
|
+
"name": "Call logs (history + recordings)",
|
|
151
|
+
"category": "default",
|
|
152
|
+
"enablement": "auto",
|
|
153
|
+
"docs_topic": "/calls/android/call-logs",
|
|
154
|
+
"sdk_symbols": [
|
|
155
|
+
"CallLogRequest",
|
|
156
|
+
"CallLogRequestBuilder",
|
|
157
|
+
"setLimit",
|
|
158
|
+
"fetchNext",
|
|
159
|
+
"fetchPrevious",
|
|
160
|
+
"CallLog",
|
|
161
|
+
"getRecordings",
|
|
162
|
+
"Recording"
|
|
163
|
+
],
|
|
164
|
+
"notes": "Paginated history via CallLogRequest.CallLogRequestBuilder().setLimit(n)…build() then fetchNext(CallbackListener<List<CallLog>>) — build ONE request and page it; filters: setSessionType/setCallStatus/setCallDirection/setHasRecording/setUid/setGuid. Needs an initialized + logged-in Calls SDK. G6 = surface (backend data)."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "call-screen-sharing",
|
|
168
|
+
"name": "Screen sharing (receive-only on Android)",
|
|
169
|
+
"category": "default",
|
|
170
|
+
"enablement": "auto",
|
|
171
|
+
"docs_topic": "/calls/android/screen-sharing",
|
|
172
|
+
"sdk_symbols": [
|
|
173
|
+
"addParticipantEventListener",
|
|
174
|
+
"onParticipantStartedScreenShare",
|
|
175
|
+
"onParticipantStoppedScreenShare"
|
|
176
|
+
],
|
|
177
|
+
"notes": "Android CANNOT initiate screen share — only web clients can; Android participants view it (the layout adjusts automatically). The deliverable is the ParticipantEventListener wiring + honest guidance; a skill that emits a 'start screen share' button on Android is wrong."
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "call-idle-timeout",
|
|
181
|
+
"name": "Idle timeout (auto-end when alone)",
|
|
182
|
+
"category": "default",
|
|
183
|
+
"enablement": "auto",
|
|
184
|
+
"docs_topic": "/calls/android/idle-timeout",
|
|
185
|
+
"sdk_symbols": [
|
|
186
|
+
"setIdleTimeoutPeriod",
|
|
187
|
+
"onSessionTimedOut",
|
|
188
|
+
"SessionStatusListener"
|
|
189
|
+
],
|
|
190
|
+
"notes": "SessionSettingsBuilder.setIdleTimeoutPeriod(seconds; default 300; 0 disables) + SessionStatusListener.onSessionTimedOut to leave the screen."
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"id": "call-picture-in-picture",
|
|
194
|
+
"name": "Picture-in-picture (call continues while using other apps)",
|
|
195
|
+
"category": "default",
|
|
196
|
+
"enablement": "auto",
|
|
197
|
+
"docs_topic": "/calls/android/picture-in-picture",
|
|
198
|
+
"sdk_symbols": [
|
|
199
|
+
"enablePictureInPictureLayout",
|
|
200
|
+
"disablePictureInPictureLayout",
|
|
201
|
+
"onPictureInPictureLayoutEnabled",
|
|
202
|
+
"onPictureInPictureLayoutDisabled",
|
|
203
|
+
"LayoutListener"
|
|
204
|
+
],
|
|
205
|
+
"notes": "Android PiP = the Activity enters PiP (supportsPictureInPicture + enterPictureInPictureMode on onUserLeaveHint) and the SDK switches its layout via CallSession.enablePictureInPictureLayout/disablePictureInPictureLayout; LayoutListener.onPictureInPictureLayoutEnabled/Disabled reflect it. Fetch the manifest/Activity wiring from the docs page."
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"id": "call-custom-controls",
|
|
209
|
+
"name": "Custom control panel (explicit request only — hide the defaults first)",
|
|
210
|
+
"category": "default",
|
|
211
|
+
"enablement": "auto",
|
|
212
|
+
"docs_topic": "/calls/android/custom-control-panel",
|
|
213
|
+
"sdk_symbols": [
|
|
214
|
+
"hideControlPanel",
|
|
215
|
+
"muteAudio",
|
|
216
|
+
"unmuteAudio",
|
|
217
|
+
"pauseVideo",
|
|
218
|
+
"resumeVideo",
|
|
219
|
+
"switchCamera",
|
|
220
|
+
"leaveSession",
|
|
221
|
+
"onAudioMuted",
|
|
222
|
+
"onAudioUnMuted",
|
|
223
|
+
"onVideoPaused",
|
|
224
|
+
"onVideoResumed"
|
|
225
|
+
],
|
|
226
|
+
"notes": "ONLY when the user explicitly asks to replace the built-in controls: SessionSettingsBuilder.hideControlPanel(true) FIRST, then wire your own buttons to CallSession.muteAudio/unmuteAudio/pauseVideo/resumeVideo/switchCamera/leaveSession and keep them in sync via MediaEventsListener. Default builds add NO external buttons (AUDIT-170)."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"id": "call-background-handling",
|
|
230
|
+
"name": "Background handling (keep the call alive on Home / app switch)",
|
|
231
|
+
"category": "default",
|
|
232
|
+
"enablement": "auto",
|
|
233
|
+
"docs_topic": "/calls/android/background-handling",
|
|
234
|
+
"sdk_symbols": [
|
|
235
|
+
"CometChatOngoingCallService",
|
|
236
|
+
"launch",
|
|
237
|
+
"abort",
|
|
238
|
+
"OngoingNotification",
|
|
239
|
+
"buildOngoingConferenceNotification",
|
|
240
|
+
"onSessionJoined",
|
|
241
|
+
"onSessionLeft"
|
|
242
|
+
],
|
|
243
|
+
"notes": "REQUIRES a manifest declaration in the APP — the 5.0.4 AAR declares NO <service>: <service android:name=\"com.cometchat.calls.services.CometChatOngoingCallService\" android:exported=\"false\" android:foregroundServiceType=\"camera|microphone|mediaPlayback\"/> inside <application>; without it launch() fails silently (ActivityManager: Unable to start service … not found — no exception, no callback; AUDIT-184, DOCS-BACKLOG C12). Then: CometChatOngoingCallService.launch(context) in SessionStatusListener.onSessionJoined and .abort(context) in onSessionLeft/onConnectionClosed/onDestroy — a foreground service + ongoing notification (channel id CometChat_Call_Ongoing_Conference; brand it via OngoingNotification.buildOngoingConferenceNotification(notification)). Needs FOREGROUND_SERVICE_* + POST_NOTIFICATIONS (the AAR declares them; POST_NOTIFICATIONS is a runtime grant on 33+). Distinct from VoIP (receiving calls when killed — /calls/android/voip-calling, push-based, docs-first)."
|
|
244
|
+
}
|
|
245
|
+
]
|
|
246
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedFrom": "cometchat.com/docs — ui-kit/android v6 (root tree): core-features, extensions, ai-features, call-features, components/*, guide-*, campaigns. Curated 2026-08-20 against the LIVE Android v6 docs (docs repo @ origin/main 3cdd17cd) and the android-v6 catalog built from the INSTALLED kit source (chatuikit-core/-kotlin/-compose 6.0.5). Android-first: entries reflect what the ANDROID docs claim, not a copy of the React list. PENDING (docs branch feature/android-pin_save_thread, not yet on main): pinned-messages, saved-messages, guide-thread-subscription — add pin-message/save-message/thread-subscription entries when that branch merges (tracked in DOCS-BACKLOG.md).",
|
|
3
|
+
"schemaNotes": "Same schema as features.json (react v7). needs_stitching:true = a default-ON affordance is inert/partial until the host wires a callback + companion screen/navigation (or hides it). needs_dashboard = feature also requires a Dashboard/plan toggle ('VERIFY' = unconfirmed). deprecated:true = live docs are titled '(Legacy)'/'(Deprecated)' or point at legacy-docs — NEVER offer it as an 'add a feature' suggestion (AUDIT-077 rule). ui_components MUST exist in test-suite/catalogs/android-v6.json. COHORTS: one kit, two UI flavors — com.cometchat:chatuikit-kotlin-android (XML Views) and com.cometchat:chatuikit-compose-android (Jetpack Compose); the SAME CometChat* component names exist in both cohorts (docs pages carry a tab per cohort), so entries are cohort-neutral.",
|
|
4
|
+
"family": "android",
|
|
5
|
+
"major": "v6",
|
|
6
|
+
"cohorts": ["views", "compose"],
|
|
7
|
+
"categories": ["default", "extension", "ai", "package-install", "component-swap", "dashboard-only"],
|
|
8
|
+
"enablement": ["auto", "dashboard-toggle", "dashboard-extension", "gradle-package", "code-prop"],
|
|
9
|
+
"features": [
|
|
10
|
+
{
|
|
11
|
+
"id": "core-chat-surface",
|
|
12
|
+
"name": "Production-ready core chat surface",
|
|
13
|
+
"category": "default",
|
|
14
|
+
"enablement": "auto",
|
|
15
|
+
"needs_stitching": true,
|
|
16
|
+
"ui_components": ["CometChatConversations", "CometChatMessageHeader", "CometChatMessageList", "CometChatMessageComposer", "CometChatThreadHeader", "CometChatSearch"],
|
|
17
|
+
"docs_topic": "https://www.cometchat.com/docs/ui-kit/android/getting-started",
|
|
18
|
+
"notes": "COMPOSITE / app-level feature — the DEFAULT for an unscoped 'add chat' on Android. A production-ready CORE surface, lean but complete: init→login gate (CometChatUIKit.initFromSettings → CometChatUIKit.login; initFromSettings reads the gitignored assets/cometchat-settings.json and persists integrationSource=\"ai-agent\") BEFORE any UI; a Conversations screen navigating to a Message screen (MessageHeader + MessageList + MessageComposer) via native navigation (Activity/Fragment intent or Compose Navigation, correct back stack); THREADED REPLIES included by default (thread affordance → a thread screen with CometChatThreadHeader + thread-scoped list/composer); search default-on (conversation search + in-chat message search via CometChatSearch) wired-or-hidden; every default-on affordance wired to a destination or hidden; SIZED mobile-natively (match_parent fill, edge-to-edge insets handled, ime/keyboard-aware resize so the composer stays visible); init/login failures surfaced (onError), not crashed through; credentials via the gitignored assets/cometchat-settings.json (never hardcoded; prod omits the authKey); prod auth-token guidance (login(uid, authToken); Auth Key dev-only). Docs recipes: one-to-one-chat + conversation flow in getting-started-kotlin / getting-started-jetpack. Grows on request to tab-based selector / users / groups / calls → chat-experience. Gated extensions/AI stay OFF unless asked. Minimum encoded in contracts.android-v6.json ('core-chat-surface')."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "chat-experience",
|
|
22
|
+
"name": "Complete chat experience (combined app)",
|
|
23
|
+
"category": "default",
|
|
24
|
+
"enablement": "auto",
|
|
25
|
+
"needs_stitching": true,
|
|
26
|
+
"ui_components": ["CometChatConversations", "CometChatUsers", "CometChatGroups", "CometChatCallLogs", "CometChatMessageHeader", "CometChatMessageList", "CometChatMessageComposer", "CometChatThreadHeader", "CometChatSearch", "CometChatGroupMembers", "CometChatIncomingCall"],
|
|
27
|
+
"docs_topic": "https://www.cometchat.com/docs/ui-kit/android/tab-based-chat",
|
|
28
|
+
"notes": "COMPOSITE / app-level feature — the GROW target, emitted when the user asks for the WHOLE app (NOT the default for a plain 'add chat' — that is core-chat-surface). The docs' tab-based layout: a bottom-nav/tab selector (Chats + Users + Groups + Calls) → message screen → detail screens (user/group details with CometChatGroupMembers actions), thread screen, search screen, plus CometChatIncomingCall handling at the app level. needs_stitching: screens are wired by native navigation + item-click callbacks. Recipes: tab-based-chat (both cohorts), one-to-one-chat, conversation-message-view component. Minimum encoded in contracts.android-v6.json ('chat-experience')."
|
|
29
|
+
},
|
|
30
|
+
{ "id": "text-messaging", "name": "Text messaging (instant messaging)", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageList", "CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in; core chat (core-features §Instant Messaging)." },
|
|
31
|
+
{ "id": "media-file-attachments", "name": "Media & file sharing", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageComposer", "CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in composer attachments (images/videos/audio/files) + typed bubbles in the list (core-features §Media Sharing)." },
|
|
32
|
+
{ "id": "delivery-read-receipts", "name": "Delivery & read receipts", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageList", "CometChatReceipts", "CometChatConversations"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in (core-features §Read Receipts). Toggle via component props/attrs — FETCH exact names from the component pages." },
|
|
33
|
+
{ "id": "mark-as-unread", "name": "Mark as unread", "category": "default", "enablement": "auto", "ui_components": ["CometChatConversations"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in conversation option (core-features §Mark as Unread)." },
|
|
34
|
+
{ "id": "typing-indicators", "name": "Typing indicators", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageList", "CometChatConversations"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in (core-features §Typing Indicators)." },
|
|
35
|
+
{ "id": "user-presence", "name": "User presence (online/offline)", "category": "default", "enablement": "auto", "ui_components": ["CometChatConversations", "CometChatMessageHeader", "CometChatStatusIndicator"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in (core-features §User Presence)." },
|
|
36
|
+
{ "id": "reactions", "name": "Message reactions", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "ON BY DEFAULT in v6 (core-features §Reactions) — NOT a dashboard extension (AUDIT-077 class). Long-press reaction UI built into the message list." },
|
|
37
|
+
{ "id": "mentions", "name": "@ Mentions", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageComposer", "CometChatMessageList", "CometChatMentionsFormatter"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "ON BY DEFAULT in v6 (core-features §Mentions) — NOT a dashboard extension (AUDIT-077 class). Customize via CometChatMentionsFormatter (mentions-formatter-guide)." },
|
|
38
|
+
{ "id": "rich-text-formatting", "name": "Rich text formatting", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageComposer", "CometChatRichTextFormatter"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in (core-features §Rich Text Formatting); CometChatRichTextFormatter in the catalog." },
|
|
39
|
+
{ "id": "threaded-replies", "name": "Threaded conversations", "category": "default", "enablement": "code-prop", "needs_stitching": true, "ui_components": ["CometChatMessageList", "CometChatThreadHeader", "CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/guide-threaded-messages", "notes": "The list renders the thread affordance by default, but the HOST wires navigation to a thread screen (CometChatThreadHeader + parent-scoped MessageList/MessageComposer). Recipe: guide-threaded-messages. Part of the core-chat-surface default." },
|
|
40
|
+
{ "id": "quoted-replies", "name": "Quoted replies", "category": "default", "enablement": "auto", "ui_components": ["CometChatMessageList", "CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in message option (core-features §Quoted Replies)." },
|
|
41
|
+
{ "id": "users-groups", "name": "Users & group chats", "category": "default", "enablement": "auto", "ui_components": ["CometChatUsers", "CometChatGroups", "CometChatGroupMembers"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in list components + group management (create/join/leave/members) — core-features §Group Chats. Recipes: guide-group-chat, guide-new-chat, guide-message-privately." },
|
|
42
|
+
{ "id": "report-message", "name": "Report / flag a message", "category": "default", "enablement": "auto", "needs_dashboard": "VERIFY", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Built-in message option (core-features §Report Message); reports land in the Moderation dashboard." },
|
|
43
|
+
{ "id": "message-search", "name": "Conversation & advanced search", "category": "default", "enablement": "code-prop", "needs_stitching": true, "needs_dashboard": "VERIFY", "ui_components": ["CometChatSearch"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/guide-search-messages", "notes": "CometChatSearch component (conversation + message search). Host wires the entry point (search icon/screen navigation). Recipe: guide-search-messages; component page components/search. Advanced message search may need a dashboard/plan enable — VERIFY." },
|
|
44
|
+
{ "id": "custom-message-types", "name": "Custom message types / templates", "category": "default", "enablement": "code-prop", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/message-template", "notes": "DOCS-GAP (tracked in DOCS-BACKLOG.md): the message-template page's code uses CometChatMessageTemplate(), but the INSTALLED 6.0.5 kit source exposes NO public template class (only UIKitConstants.MessageTemplateId; catalog verified 2026-08-20). Do NOT emit CometChatMessageTemplate from memory — FETCH the live page and verify the symbol compiles before using; fall back to customization-view-slots for custom rendering." },
|
|
45
|
+
{ "id": "text-formatters", "name": "Custom text formatters (mentions/shortcuts/custom)", "category": "default", "enablement": "code-prop", "ui_components": ["CometChatTextFormatter", "CometChatMentionsFormatter", "CometChatRichTextFormatter"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/customization-text-formatters", "notes": "Extend CometChatTextFormatter for custom patterns. Recipes: custom-text-formatter-guide, mentions-formatter-guide, shortcut-formatter-guide." },
|
|
46
|
+
{ "id": "message-shortcuts", "name": "Message shortcuts", "category": "extension", "enablement": "dashboard-extension", "needs_stitching": true, "ui_components": ["CometChatTextFormatter"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/shortcut-formatter-guide", "notes": "Dashboard Message Shortcuts extension + a host-built ShortcutFormatter (extends CometChatTextFormatter) per the shortcut-formatter-guide recipe — not auto-rendered." },
|
|
47
|
+
{ "id": "stickers", "name": "Stickers", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageComposer", "CometChatStickerBubble", "CometChatStickerKeyboard"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → auto-appears in the composer (extensions §Stickers). No extra code." },
|
|
48
|
+
{ "id": "polls", "name": "Polls", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageComposer", "CometChatCreatePoll", "CometChatPollBubble"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → auto-appears in the composer action sheet (extensions §Polls). No extra code." },
|
|
49
|
+
{ "id": "collaborative-whiteboard", "name": "Collaborative whiteboard", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageComposer", "CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → composer action sheet + collaborative bubble in the list (extensions §Collaborative Whiteboard)." },
|
|
50
|
+
{ "id": "collaborative-document", "name": "Collaborative document", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageComposer", "CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → composer action sheet + collaborative bubble in the list (extensions §Collaborative Document)." },
|
|
51
|
+
{ "id": "message-translation", "name": "Message translation", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → message action sheet in the list (extensions §Message Translation)." },
|
|
52
|
+
{ "id": "link-preview", "name": "Link preview", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → URL previews render in message bubbles (extensions §Link Preview)." },
|
|
53
|
+
{ "id": "thumbnail-generation", "name": "Thumbnail generation", "category": "extension", "enablement": "dashboard-extension", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "Enable in Dashboard → media bubbles use generated thumbnails (extensions §Thumbnail Generation)." },
|
|
54
|
+
{ "id": "profanity-filter", "name": "Profanity filter", "category": "extension", "enablement": "dashboard-extension", "deprecated": true, "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/extensions", "notes": "LEGACY: the extensions page still lists it but its guide points at legacy-docs; superseded by the Moderation product (see 'moderation'). Do NOT suggest as a new-feature add — steer to Moderation (FEATURE-TAXONOMY rules 11–12)." },
|
|
55
|
+
{ "id": "moderation", "name": "Moderation", "category": "dashboard-only", "enablement": "dashboard-toggle", "ui_components": [], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/core-features", "notes": "Dashboard-configured (rules/keywords/AI moderation); no client code — core-features §Moderation. Client-visible effect: blocked/flagged messages. SDK view: sdk/android/v5/ai-moderation." },
|
|
56
|
+
{ "id": "smart-reply", "name": "Smart replies (AI)", "category": "ai", "enablement": "dashboard-toggle", "ui_components": ["CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/ai-features", "notes": "Enable in Dashboard → auto-appears in the composer action sheet (ai-features §Smart Replies). No extra code." },
|
|
57
|
+
{ "id": "conversation-starter", "name": "Conversation starter (AI)", "category": "ai", "enablement": "dashboard-toggle", "ui_components": ["CometChatMessageList"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/ai-features", "notes": "Enable in Dashboard → shown in the message list for new chats (ai-features §Conversation Starter). No extra code." },
|
|
58
|
+
{ "id": "conversation-summary", "name": "Conversation summary (AI)", "category": "ai", "enablement": "dashboard-toggle", "ui_components": ["CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/ai-features", "notes": "Enable in Dashboard → composer action sheet (ai-features §Conversation Summary). No extra code." },
|
|
59
|
+
{ "id": "ai-assistant", "name": "AI agent / assistant chat", "category": "ai", "enablement": "dashboard-toggle", "needs_stitching": true, "ui_components": ["CometChatAIAssistantChatHistory", "CometChatAIAssistantBubble", "CometChatMessageList", "CometChatMessageComposer"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/guide-ai-agent", "notes": "Chat with a dashboard-configured AI Agent: message screen scoped to the agent + CometChatAIAssistantChatHistory for past sessions. Recipe: guide-ai-agent; component page ai-assistant-chat-history. Requires an Agent configured in Dashboard." },
|
|
60
|
+
{ "id": "voice-video-calls", "name": "Voice & video calls", "category": "package-install", "enablement": "gradle-package", "needs_stitching": true, "ui_components": ["CometChatCallButtons", "CometChatIncomingCall", "CometChatOutgoingCall", "CometChatCallLogs", "CometChatCallActivity"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/calling-integration", "notes": "Add com.cometchat:calls-sdk-android — call buttons in MessageHeader then auto-appear; host wires an incoming-call listener/screen (calling-integration steps 1–3). Pages: call-features, components/call-buttons, incoming-call, outgoing-call, call-logs; recipe guide-call-log-details. Dashboard: calling enabled on the app." },
|
|
61
|
+
{ "id": "push-notifications", "name": "Push notifications (FCM)", "category": "package-install", "enablement": "gradle-package", "needs_stitching": true, "needs_dashboard": true, "ui_components": [], "docs_topic": "https://www.cometchat.com/docs/notifications/push-overview", "notes": "com.cometchat:push-notifications-android + Firebase Cloud Messaging + Dashboard provider setup (FCM credentials). Register token after login (CometChatNotifications.registerPushToken — SDK surface); notification payload handling is host code. Product docs: notifications/push-overview + android integration pages." },
|
|
62
|
+
{ "id": "notification-feed", "name": "In-app notification feed", "category": "default", "enablement": "code-prop", "needs_dashboard": "VERIFY", "ui_components": ["CometChatNotificationFeed"], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/notification-feed", "notes": "Drop-in CometChatNotificationFeed component (components/notification-feed). Feed configuration lives in the Dashboard notifications product — VERIFY plan gating." },
|
|
63
|
+
{ "id": "campaigns", "name": "Campaigns", "category": "dashboard-only", "enablement": "dashboard-toggle", "ui_components": [], "docs_topic": "https://www.cometchat.com/docs/ui-kit/android/campaigns", "notes": "Authored/sent from the Dashboard; messages arrive through normal channels. No client code (ui-kit/android/campaigns)." }
|
|
64
|
+
]
|
|
65
|
+
}
|