@cometchat/skills 4.4.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +55 -0
- package/.claude-plugin/plugin.json +14 -0
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/MIGRATING.md +187 -0
- package/README.md +52 -156
- package/RULES.md +125 -0
- package/bin/cometchat-skills.mjs +1280 -0
- package/bin/legacy-skills.json +95 -0
- package/catalogs/android-v6.json +1646 -0
- package/catalogs/flutter-v6.json +651 -0
- package/catalogs/ios-v5.json +1383 -0
- package/catalogs/rn-calls-v5.json +134 -0
- package/catalogs/rn-calls-v5.symbols.txt +58 -0
- package/catalogs/rn-sdk-v4.json +672 -0
- package/catalogs/rn-v5.json +449 -0
- package/catalogs/rn-v5.symbols.txt +216 -0
- package/catalogs/sdk-android-v5.json +514 -0
- package/contracts.android-calls-v5.json +122 -0
- package/contracts.android-v6.json +135 -0
- package/contracts.angular-v5.json +694 -0
- package/contracts.flutter-calls-v5.json +77 -0
- package/contracts.flutter-v6.json +126 -0
- package/contracts.ios-calls-v5.json +67 -0
- package/contracts.ios-v5.json +436 -0
- package/contracts.json +82 -0
- package/contracts.rn-calls-v5.json +77 -0
- package/contracts.rn-v5.json +727 -0
- package/contracts.sdk-android-v5.json +15 -0
- package/contracts.web-calls-v5.json +45 -0
- package/features.android-calls-v5.json +246 -0
- package/features.android-v6.json +65 -0
- package/features.angular-v5.json +521 -0
- package/features.flutter-calls-v5.json +286 -0
- package/features.flutter-v6.json +484 -0
- package/features.ios-calls-v5.json +236 -0
- package/features.ios-v5.json +573 -0
- package/features.json +61 -0
- package/features.rn-calls-v5.json +187 -0
- package/features.rn-v5.json +614 -0
- package/features.sdk-android-v5.json +40 -0
- package/features.sdk-jsv4.json +24 -0
- package/features.web-calls-v5.json +108 -0
- package/package.json +156 -74
- package/peers.yaml +355 -0
- package/registry/README.md +31 -0
- package/registry/android-calls-v5.json +94 -0
- package/registry/android-v6.json +177 -0
- package/registry/angular-v5.json +154 -0
- package/registry/flutter-calls-v5.json +94 -0
- package/registry/flutter-v6.json +159 -0
- package/registry/ios-calls-v5.json +99 -0
- package/registry/ios-v5.json +152 -0
- package/registry/rn-calls-v5.json +99 -0
- package/registry/rn-v5.json +169 -0
- package/registry/sdk-android-v5.json +93 -0
- package/registry/sdk-jsv4.json +93 -0
- package/registry/web-calls-v5.json +94 -0
- package/registry/web-v7.json +154 -0
- package/skills/cometchat/SKILL.md +47 -2096
- package/skills/cometchat-a11y/SKILL.md +44 -472
- package/skills/cometchat-analytics/SKILL.md +61 -0
- package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
- package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
- package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
- package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
- package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
- package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
- package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
- package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
- package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
- package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
- package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
- package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
- package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
- package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
- package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
- package/skills/cometchat-android-v6-core/SKILL.md +236 -672
- package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
- package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
- package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
- package/skills/cometchat-android-v6-core/references/layout.md +112 -0
- package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
- package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
- package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
- package/skills/cometchat-android-v6-events/SKILL.md +46 -184
- package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
- package/skills/cometchat-android-v6-features/SKILL.md +74 -143
- package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
- package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
- package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
- package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
- package/skills/cometchat-android-v6-production/SKILL.md +41 -179
- package/skills/cometchat-android-v6-push/SKILL.md +39 -289
- package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
- package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
- package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
- package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
- package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
- package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
- package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
- package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
- package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
- package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
- package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
- package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
- package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
- package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
- package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
- package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
- package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
- package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
- package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
- package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
- package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
- package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
- package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
- package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
- package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
- package/skills/cometchat-angular-v5-production/SKILL.md +102 -0
- package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
- package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
- package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
- package/skills/cometchat-audit/SKILL.md +61 -0
- package/skills/cometchat-compliance/SKILL.md +63 -0
- package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
- package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
- package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
- package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
- package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
- package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
- package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
- package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
- package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
- package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
- package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
- package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
- package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
- package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
- package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
- package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
- package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
- package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
- package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +132 -0
- package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
- package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
- package/skills/cometchat-flutter-v6-production/SKILL.md +59 -615
- package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
- package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
- package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
- package/skills/cometchat-i18n/SKILL.md +35 -404
- package/skills/cometchat-ios-calls/SKILL.md +112 -563
- package/skills/cometchat-ios-components/SKILL.md +44 -834
- package/skills/cometchat-ios-core/SKILL.md +182 -1068
- package/skills/cometchat-ios-core/references/anti-patterns.md +113 -0
- package/skills/cometchat-ios-core/references/docs-map.md +124 -0
- package/skills/cometchat-ios-core/references/install.md +23 -0
- package/skills/cometchat-ios-core/references/layout.md +219 -0
- package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
- package/skills/cometchat-ios-core/references/swiftui.md +91 -0
- package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
- package/skills/cometchat-ios-customization/SKILL.md +33 -968
- package/skills/cometchat-ios-features/SKILL.md +29 -738
- package/skills/cometchat-ios-migration/SKILL.md +39 -0
- package/skills/cometchat-ios-placement/SKILL.md +51 -729
- package/skills/cometchat-ios-production/SKILL.md +67 -723
- package/skills/cometchat-ios-push/SKILL.md +24 -602
- package/skills/cometchat-ios-testing/SKILL.md +36 -355
- package/skills/cometchat-ios-troubleshooting/SKILL.md +31 -989
- package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
- package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
- package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
- package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
- package/skills/cometchat-migrate-from-getstream/SKILL.md +65 -0
- package/skills/cometchat-migrate-from-getstream/references/concept-map.md +98 -0
- package/skills/cometchat-migrate-from-getstream/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-getstream/references/feature-map.md +108 -0
- package/skills/cometchat-migrate-from-getstream/references/inventory.md +82 -0
- package/skills/cometchat-migrate-from-getstream/references/native-build.md +9 -0
- package/skills/cometchat-migrate-from-getstream/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-sendbird/SKILL.md +64 -0
- package/skills/cometchat-migrate-from-sendbird/references/concept-map.md +99 -0
- package/skills/cometchat-migrate-from-sendbird/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-sendbird/references/feature-map.md +104 -0
- package/skills/cometchat-migrate-from-sendbird/references/inventory.md +86 -0
- package/skills/cometchat-migrate-from-sendbird/references/native-build.md +10 -0
- package/skills/cometchat-migrate-from-sendbird/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-twilio/SKILL.md +52 -0
- package/skills/cometchat-migrate-from-twilio/references/concept-map.md +49 -0
- package/skills/cometchat-migrate-from-twilio/references/data-migration.md +50 -0
- package/skills/cometchat-migrate-from-twilio/references/feature-map.md +27 -0
- package/skills/cometchat-migrate-from-twilio/references/inventory.md +53 -0
- package/skills/cometchat-migrate-from-twilio/references/report-template.md +52 -0
- package/skills/cometchat-moderation/SKILL.md +58 -0
- package/skills/cometchat-onboarding/SKILL.md +92 -0
- package/skills/cometchat-onboarding/references/archetypes.md +51 -0
- package/skills/cometchat-onboarding/references/calling-first.md +77 -0
- package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
- package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
- package/skills/cometchat-onboarding/references/platforms.md +105 -0
- package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
- package/skills/cometchat-react-native-calls/SKILL.md +200 -0
- package/skills/cometchat-react-native-components/SKILL.md +142 -0
- package/skills/cometchat-react-native-core/SKILL.md +335 -0
- package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
- package/skills/cometchat-react-native-core/references/component-props.md +105 -0
- package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
- package/skills/cometchat-react-native-core/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-core/references/layout.md +61 -0
- package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
- package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
- package/skills/cometchat-react-native-customization/SKILL.md +198 -0
- package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
- package/skills/cometchat-react-native-features/SKILL.md +122 -0
- package/skills/cometchat-react-native-migration/SKILL.md +103 -0
- package/skills/cometchat-react-native-placement/SKILL.md +158 -0
- package/skills/cometchat-react-native-production/SKILL.md +79 -0
- package/skills/cometchat-react-native-push/SKILL.md +88 -0
- package/skills/cometchat-react-native-sdk/SKILL.md +133 -0
- package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
- package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
- package/skills/cometchat-react-native-testing/SKILL.md +94 -0
- package/skills/cometchat-react-native-troubleshooting/SKILL.md +174 -0
- package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
- package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
- package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
- package/skills/cometchat-react-v7-components/SKILL.md +72 -0
- package/skills/cometchat-react-v7-core/SKILL.md +101 -0
- package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
- package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
- package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
- package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
- package/skills/cometchat-react-v7-core/references/layout.md +150 -0
- package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
- package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
- package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
- package/skills/cometchat-react-v7-core/references/theming.md +52 -0
- package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
- package/skills/cometchat-react-v7-features/SKILL.md +92 -0
- package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
- package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
- package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
- package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
- package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
- package/skills/cometchat-react-v7-production/SKILL.md +84 -0
- package/skills/cometchat-react-v7-push/SKILL.md +53 -0
- package/skills/cometchat-react-v7-testing/SKILL.md +60 -0
- package/skills/cometchat-react-v7-troubleshooting/SKILL.md +47 -0
- package/skills/cometchat-security/SKILL.md +80 -0
- package/skills/cometchat-self-host/SKILL.md +56 -0
- package/test-suite/README.md +70 -0
- package/test-suite/catalogs/android-calls-v5.json +830 -0
- package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
- package/test-suite/catalogs/android-v6.json +1646 -0
- package/test-suite/catalogs/android-v6.symbols.txt +298 -0
- package/test-suite/catalogs/angular-v5.json +7587 -0
- package/test-suite/catalogs/flutter-calls-v5.json +196 -0
- package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
- package/test-suite/catalogs/flutter-v6.json +651 -0
- package/test-suite/catalogs/ios-calls-v5.json +158 -0
- package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
- package/test-suite/catalogs/ios-v5.json +1383 -0
- package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
- package/test-suite/catalogs/rn-calls-v5.json +134 -0
- package/test-suite/catalogs/rn-sdk-v4.json +672 -0
- package/test-suite/catalogs/rn-v5.json +449 -0
- package/test-suite/catalogs/sdk-android-v5.json +514 -0
- package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
- package/test-suite/catalogs/sdk-jsv4.json +800 -0
- package/test-suite/catalogs/web-calls-v5.json +195 -0
- package/test-suite/catalogs/web-v7.json +1243 -0
- package/test-suite/scripts/build-registry.mjs +113 -0
- package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
- package/test-suite/scripts/catalog-refresh.mjs +100 -0
- package/test-suite/scripts/lint-skills.mjs +932 -0
- package/test-suite/scripts/measure-tokens.mjs +169 -0
- package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
- package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
- package/test-suite/scripts/typecheck-fences.mjs +206 -0
- package/test-suite/scripts/verify-catalog.mjs +242 -0
- package/test-suite/scripts/verify-contract-fences.mjs +94 -0
- package/test-suite/scripts/verify-detection.mjs +178 -0
- package/test-suite/scripts/verify-docs-base.mjs +91 -0
- package/test-suite/scripts/verify-family-agnostic.mjs +134 -0
- package/test-suite/scripts/verify-golden-path.mjs +138 -0
- package/test-suite/scripts/verify-oracle-components.mjs +133 -0
- package/test-suite/scripts/verify-template-bindings.mjs +148 -0
- package/test-suite/typecheck/angular-v5/package.json +21 -0
- package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
- package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
- package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
- package/test-suite/typecheck/web-v7/package.json +18 -0
- package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
- package/bin/install.js +0 -1003
- package/skills/.claude-plugin/marketplace.json +0 -86
- package/skills/cometchat/references/asking-questions.md +0 -48
- package/skills/cometchat-android-v5/SKILL.md +0 -121
- package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
- package/skills/cometchat-android-v5-calls/references/README.md +0 -53
- package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
- package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
- package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
- package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
- package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
- package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
- package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
- package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
- package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
- package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
- package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
- package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
- package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
- package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
- package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
- package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
- package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
- package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
- package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
- package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
- package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
- package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
- package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
- package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
- package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
- package/skills/cometchat-android-v5-components/SKILL.md +0 -431
- package/skills/cometchat-android-v5-core/SKILL.md +0 -486
- package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
- package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
- package/skills/cometchat-android-v5-features/SKILL.md +0 -131
- package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
- package/skills/cometchat-android-v5-production/SKILL.md +0 -95
- package/skills/cometchat-android-v5-push/SKILL.md +0 -619
- package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
- package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
- package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
- package/skills/cometchat-android-v6/SKILL.md +0 -108
- package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
- package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
- package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
- package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
- package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
- package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
- package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
- package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
- package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
- package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
- package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
- package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
- package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
- package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
- package/skills/cometchat-angular-calls/SKILL.md +0 -380
- package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
- package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
- package/skills/cometchat-angular-calls/references/call-session.md +0 -167
- package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
- package/skills/cometchat-angular-calls/references/device-management.md +0 -154
- package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
- package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
- package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
- package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
- package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
- package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
- package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
- package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
- package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
- package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
- package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
- package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
- package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
- package/skills/cometchat-angular-components/SKILL.md +0 -235
- package/skills/cometchat-angular-core/SKILL.md +0 -386
- package/skills/cometchat-angular-customization/SKILL.md +0 -616
- package/skills/cometchat-angular-features/SKILL.md +0 -329
- package/skills/cometchat-angular-patterns/SKILL.md +0 -256
- package/skills/cometchat-angular-placement/SKILL.md +0 -314
- package/skills/cometchat-angular-production/SKILL.md +0 -564
- package/skills/cometchat-angular-push/SKILL.md +0 -389
- package/skills/cometchat-angular-testing/SKILL.md +0 -605
- package/skills/cometchat-angular-theming/SKILL.md +0 -290
- package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
- package/skills/cometchat-astro-patterns/SKILL.md +0 -708
- package/skills/cometchat-calls/SKILL.md +0 -364
- package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
- package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
- package/skills/cometchat-calls/references/use-case-support.md +0 -189
- package/skills/cometchat-calls/references/use-case-team.md +0 -180
- package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
- package/skills/cometchat-components/SKILL.md +0 -1142
- package/skills/cometchat-core/SKILL.md +0 -1048
- package/skills/cometchat-customization/SKILL.md +0 -580
- package/skills/cometchat-customization/references/component-catalog.md +0 -236
- package/skills/cometchat-features/SKILL.md +0 -861
- package/skills/cometchat-flutter-v5/SKILL.md +0 -173
- package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
- package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
- package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
- package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
- package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
- package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
- package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
- package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
- package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
- package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
- package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
- package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
- package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
- package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
- package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
- package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
- package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
- package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
- package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
- package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
- package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
- package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
- package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
- package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
- package/skills/cometchat-flutter-v6/SKILL.md +0 -446
- package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
- package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
- package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
- package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
- package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
- package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
- package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
- package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
- package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
- package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
- package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
- package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
- package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
- package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
- package/skills/cometchat-ios/SKILL.md +0 -325
- package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
- package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
- package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
- package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
- package/skills/cometchat-ios-calls/references/call-session.md +0 -218
- package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
- package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
- package/skills/cometchat-ios-calls/references/device-management.md +0 -171
- package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
- package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
- package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
- package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
- package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
- package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
- package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
- package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
- package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
- package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
- package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
- package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
- package/skills/cometchat-ios-theming/SKILL.md +0 -667
- package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
- package/skills/cometchat-native-calls/SKILL.md +0 -671
- package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
- package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
- package/skills/cometchat-native-calls/references/call-session.md +0 -182
- package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
- package/skills/cometchat-native-calls/references/device-management.md +0 -158
- package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
- package/skills/cometchat-native-calls/references/group-calls.md +0 -296
- package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
- package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
- package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
- package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
- package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
- package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
- package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
- package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
- package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
- package/skills/cometchat-native-calls/references/share-invite.md +0 -146
- package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
- package/skills/cometchat-native-components/SKILL.md +0 -628
- package/skills/cometchat-native-core/SKILL.md +0 -679
- package/skills/cometchat-native-customization/SKILL.md +0 -716
- package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
- package/skills/cometchat-native-features/SKILL.md +0 -638
- package/skills/cometchat-native-placement/SKILL.md +0 -509
- package/skills/cometchat-native-production/SKILL.md +0 -700
- package/skills/cometchat-native-push/SKILL.md +0 -594
- package/skills/cometchat-native-testing/SKILL.md +0 -582
- package/skills/cometchat-native-theming/SKILL.md +0 -681
- package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
- package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
- package/skills/cometchat-placement/SKILL.md +0 -1360
- package/skills/cometchat-production/SKILL.md +0 -1027
- package/skills/cometchat-react-calls/SKILL.md +0 -752
- package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
- package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
- package/skills/cometchat-react-calls/references/call-session.md +0 -235
- package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
- package/skills/cometchat-react-calls/references/device-management.md +0 -210
- package/skills/cometchat-react-calls/references/group-calls.md +0 -257
- package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
- package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
- package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
- package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
- package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
- package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
- package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
- package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
- package/skills/cometchat-react-calls/references/share-invite.md +0 -175
- package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
- package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
- package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
- package/skills/cometchat-react-patterns/SKILL.md +0 -628
- package/skills/cometchat-react-push/SKILL.md +0 -634
- package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
- package/skills/cometchat-react-testing/SKILL.md +0 -413
- package/skills/cometchat-theming/SKILL.md +0 -498
- package/skills/cometchat-troubleshooting/SKILL.md +0 -294
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# docs-map — Flutter Calls SDK v5 (`/calls/flutter/**`)
|
|
2
|
+
|
|
3
|
+
**Doc channel = the CometChat Docs MCP.** Use `search_cometchat_docs` / `fetch_cometchat_doc_page` /
|
|
4
|
+
`get_cometchat_implementation_bundle` when they are connected — they are the intended path and they
|
|
5
|
+
serve production docs for you.
|
|
6
|
+
|
|
7
|
+
**If the MCP tools are NOT connected:** add it (`claude mcp add --transport http cometchat-docs https://mcp.cometchat.com/mcp`, or reinstall/enable the plugin) and retry; only if it still will not connect, fall back to a plain fetch via `DOCS_BASE` (below).
|
|
8
|
+
Either way the `<path>` catalog in this file is the source of truth for WHICH page — MCP-vs-fetch is only HOW.
|
|
9
|
+
|
|
10
|
+
## DOCS_BASE — the fetch FALLBACK entry point (⚠️ SWAP HERE to change environments)
|
|
11
|
+
```
|
|
12
|
+
DOCS_BASE = https://www.cometchat.com/docs
|
|
13
|
+
```
|
|
14
|
+
> Production docs (`https://www.cometchat.com/docs`). **Fetch rule:** build a URL as `DOCS_BASE` + the path shown,
|
|
15
|
+
> then append `.md`. Never hardcode a host anywhere else; never read the installed Dart package at authoring
|
|
16
|
+
> time for SIGNATURES (the catalog is for EXISTENCE, the docs are for signatures).
|
|
17
|
+
|
|
18
|
+
## The convention — Calls v5 lives at the UNVERSIONED root `/calls/flutter/`
|
|
19
|
+
`DOCS_BASE` + `<path>` + `.md` → raw Markdown (verbatim code + parameter tables).
|
|
20
|
+
```
|
|
21
|
+
Fetch: {DOCS_BASE}/calls/flutter/overview.md
|
|
22
|
+
```
|
|
23
|
+
> **⚠️ VERSION TRAP.** The **unversioned** `/calls/flutter/**` tree IS **v5**. Legacy
|
|
24
|
+
> `/sdk/flutter/<n>.0/*calling*` pages are the OLD chat-SDK calling surface — never fetch them for a v5
|
|
25
|
+
> build. **Do NOT `search("default calling")`** — search surfaces that stale tree.
|
|
26
|
+
> The **UI Kit** calling page (`/ui-kit/flutter/v5/calling-integration`) is a DIFFERENT product; it is
|
|
27
|
+
> what this skill exists to be the alternative to.
|
|
28
|
+
|
|
29
|
+
## Page catalog (25 pages)
|
|
30
|
+
| Path | Use it for |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `/calls/flutter/overview` | the init→login→generateCallToken→joinSession sequence and the component model. **⚠️ its Android/iOS floors are BOTH too low — real: minSdk 26, iOS 13.0 (15.1 from 5.0.7)** |
|
|
33
|
+
| `/calls/flutter/setup` | install (the live page now pins `cometchat_calls_sdk: ^5.0.7`; older cached copies said `^5.0.3` — both resolve 5.0.7), Android manifest permissions, iOS `Info.plist`, `CallAppSettingBuilder`, `isInitialized`. **⚠️ its `region` table still says only `us`/`eu` — `in` is also live** |
|
|
34
|
+
| `/calls/flutter/authentication` | **`login` / `loginWithAuthToken` / `logout` / `getLoggedInUser`** — the only page with these, and the error-code table |
|
|
35
|
+
| `/calls/flutter/join-session` | **`generateCallToken` / `joinSession`** and the `Widget?` return. THE page for the Flutter fork |
|
|
36
|
+
| `/calls/flutter/session-settings` | `SessionSettingsBuilder` — every setter and the whole `hide*Button` list |
|
|
37
|
+
| `/calls/flutter/events` | all five listener types + every callback name and parameter. **⚠️ the page CONSTRUCTS all five; they are `abstract class`es and cannot be instantiated — take the callback NAMES from here and the shape from SKILL.md** |
|
|
38
|
+
| `/calls/flutter/actions` | **every in-call `CallSession.getInstance()` action** — mute/pin/layout/audio-mode/raise-hand/PiP, the toggle+alias pairs, the settings panels, the state getters, and the `Participant` field table |
|
|
39
|
+
| `/calls/flutter/ringing` | **1:1 RINGING — the WHOLE flow, both sides.** Fetch this DIRECTLY (see below) |
|
|
40
|
+
| `/calls/flutter/call-logs` | `CallLog` fields + pagination. **⚠️ its builder shape is wrong three ways — see SKILL.md's corrections; the real form is `(CallLogRequestBuilder()..limit = 30).build()`** |
|
|
41
|
+
| `/calls/flutter/call-layouts` | `LayoutType` values (`.tile` / `.spotlight` / `.sidebar`) and layout switching |
|
|
42
|
+
| `/calls/flutter/audio-modes` | `AudioMode` values and routing |
|
|
43
|
+
| `/calls/flutter/recording` | recording start/stop, `enableAutoStartRecording`, `Recordings`, prerequisites. **⚠️ nothing here covers TRANSCRIPTION, which shipped in 5.0.7 — there is no page at all; use `references/transcription.md`** |
|
|
44
|
+
| `/calls/flutter/participant-management` | roster + moderation (mute / pause video / pin) |
|
|
45
|
+
| `/calls/flutter/custom-participant-list` | building your own roster UI |
|
|
46
|
+
| `/calls/flutter/custom-control-panel` | replacing the built-in controls — **hide first, then drive** |
|
|
47
|
+
| `/calls/flutter/screen-sharing` | the RECEIVE side — the share EVENTS (`onParticipantStartedScreenShare`) and (phantom) `participant.isPresenting`. **⚠️ the page says "receive-only," but 5.0.7 ALSO ships local-share CONTROL methods on `CallSession` (`startScreenShare`/`stopScreenShare`/`toggleScreenShare`/`isScreenSharing`) that the page does NOT document** — see SKILL.md "Screen share" pitfall |
|
|
48
|
+
| `/calls/flutter/raise-hand` | raise / lower / toggle hand, `isHandRaised`, remote `raisedHandTimestamp` |
|
|
49
|
+
| `/calls/flutter/picture-in-picture` | **TWO kinds, pick one** — in-app PiP layout vs Android system PiP (`enterPipMode`) and its manifest flag |
|
|
50
|
+
| `/calls/flutter/idle-timeout` | `setIdleTimeoutPeriod` (default **300**, `0` disables) and `onSessionTimedOut` |
|
|
51
|
+
| `/calls/flutter/background-handling` | **`CometChatOngoingCallService`** — Flutter-only Android foreground service, and its manifest permissions |
|
|
52
|
+
| `/calls/flutter/in-call-chat` | the chat BUTTON (`onChatButtonClicked`, `setChatButtonUnreadCount`) — the chat itself is the UI Kit |
|
|
53
|
+
| `/calls/flutter/share-invite` | `onShareInviteButtonClicked` + the app-side link/deep-link work |
|
|
54
|
+
| `/calls/flutter/voip-calling` | **THE page for `call-voip-push`** — the Android-FCM and iOS-APNs/CallKit paths, separately |
|
|
55
|
+
| `/calls/flutter/migration-guide-v5` | v4→v5 mapping. **⚠️ its "v4" tab shows the OLD API on purpose — do not read those fences as current** |
|
|
56
|
+
| `/calls/flutter/troubleshooting` | common failures |
|
|
57
|
+
|
|
58
|
+
| Path | Use it for |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `/notifications/flutter-push-notifications-android` | FCM wiring for the Android half of call notifications |
|
|
61
|
+
| `/notifications/flutter-push-notifications-ios` | APNs wiring for the iOS half |
|
|
62
|
+
| `/notifications/push-overview` | dashboard providers — you need one configured before any of it rings |
|
|
63
|
+
|
|
64
|
+
## 1:1 RINGING — fetch the page DIRECTLY
|
|
65
|
+
`/calls/flutter/ringing` carries the entire two-sided flow and it is the only page with the **Chat SDK**
|
|
66
|
+
signalling signatures. Those symbols (`CometChat.initiateCall` / `addCallListener` / `CallListener` /
|
|
67
|
+
`acceptCall` / `rejectCall` / `endCall` / `removeCallListener`, and the `Call` /
|
|
68
|
+
`CometChatCallType` / `CometChatReceiverType` / `CometChatCallStatus` types) belong to
|
|
69
|
+
**`cometchat_sdk` v5** and are deliberately ABSENT from `flutter-calls-v5.json`, which catalogs the
|
|
70
|
+
Calls SDK only. Validate them against the chat SDK's own catalog, not this one.
|
|
71
|
+
|
|
72
|
+
Three things the page's shape hides:
|
|
73
|
+
- **`User` is declared by BOTH barrels.** `cometchat_calls_sdk` and `cometchat_sdk` each export a `User`, so a file importing both — which ringing forces — fails with `ambiguous_import` until one side hides it: `import 'package:cometchat_calls_sdk/cometchat_calls_sdk.dart' hide User;`.
|
|
74
|
+
- **`CallListener` is a `mixin`, NOT a constructible class.** The page writes `CallListener(onIncomingCallReceived: …)`; a mixin has no constructor, so that does not compile. Use `class X with CallListener { @override … }` and pass an instance. Every method defaults to a no-op, so override only what you need. (Found building this skill's harness — **not** in docs#492.)
|
|
75
|
+
- **There is no `cancelCall`.** Cancelling your own outgoing call is `rejectCall(sessionId, CometChatCallStatus.cancelled)`; rejecting someone else's is the same method with `.rejected`.
|
|
76
|
+
|
|
77
|
+
**Verifying ringing needs TWO live clients.** One device can prove the wiring compiles and that
|
|
78
|
+
`initiateCall` resolves; it can never prove the callee's `onIncomingCallReceived` fired. The harness
|
|
79
|
+
runs two devices, one process per role, and only reports success when BOTH report it on the SAME
|
|
80
|
+
session id — verified by the pack's dev ringing-smoke harness (internal QA, not shipped).
|
|
81
|
+
|
|
82
|
+
## STOPGAP — `CometChatCalls.initFromSettings` (intentionally undocumented, ai-agent only)
|
|
83
|
+
<!-- STOPGAP: source-derived from cometchat_calls_sdk 5.0.7 and its upstream in
|
|
84
|
+
calls-core/calls-sdk-flutter, NOT from a docs page. `initFromSettings` is marked `@nodoc`.
|
|
85
|
+
Tracked as DOCS-BACKLOG F4, closed WONTFIX by the UI Kit
|
|
86
|
+
owner on 2026-08-21: it is to STAY hidden. This stopgap is therefore permanent by decision,
|
|
87
|
+
not pending a docs fix. Everything else in this file comes from the pages above. -->
|
|
88
|
+
```dart
|
|
89
|
+
CometChatCalls.initFromSettings(
|
|
90
|
+
onSuccess: (String message) { /* ... */ },
|
|
91
|
+
onError: (CometChatCallsException e) { /* ... */ },
|
|
92
|
+
);
|
|
93
|
+
```
|
|
94
|
+
- **No settings argument.** It reads `cometchat-settings.json` via **`rootBundle.loadString`**.
|
|
95
|
+
- The file lives at the **project root** and MUST be registered as a Flutter asset:
|
|
96
|
+
```yaml
|
|
97
|
+
flutter:
|
|
98
|
+
assets:
|
|
99
|
+
- cometchat-settings.json
|
|
100
|
+
```
|
|
101
|
+
- Shape: root `appId` (required) + `region` (required); optional `callsSDK` → `adminHost` / `clientHost` / `callsHost`. A host value of the literal string `"null"` is ignored, not applied.
|
|
102
|
+
- Missing file / bad JSON / missing `appId` / missing `region` each fire **`onError` with a distinct code** — none of them throws, so a silent no-call is the symptom.
|
|
103
|
+
- It sets `integrationSource = "ai-agent"`. A plain `CometChatCalls.init` afterwards overwrites that with `"manual"`.
|
|
104
|
+
- **NATIVE FORK:** iOS reads the same filename from `Bundle.main` (Copy Bundle Resources); web passes settings inline with no file.
|
|
105
|
+
|
|
106
|
+
## Callback shapes (VERIFIED against 5.0.7 — the SDK is INCONSISTENT, do not pattern-match)
|
|
107
|
+
| API | `onSuccess` receives | Returns |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| `init(callAppSettings, …)` | `String` | `void` (not a Future) |
|
|
110
|
+
| `initFromSettings(…)` | `String` | `Future<void>` |
|
|
111
|
+
| `login(uid:, authKey:, …)` | **`User?`** (nullable) | `void` |
|
|
112
|
+
| `loginWithAuthToken(authToken:, …)` | **`User?`** (nullable) | `void` |
|
|
113
|
+
| `logout(…)` | `String` | `void` |
|
|
114
|
+
| `generateCallToken(sessionId, …)` | `CallToken` | `void` |
|
|
115
|
+
| `generateToken(sessionId, userAuthToken, …)` | `GenerateToken` — **⚠️ `@Deprecated`, two POSITIONAL args, and a DIFFERENT type from `generateCallToken`** | `void` |
|
|
116
|
+
| `joinSession(sessionId:/callToken:, sessionSettings:, …)` | **`Widget?`** | `Future<void>` |
|
|
117
|
+
| `getLoggedInUser()` | — | **`Future<User?>`** (await it; no callbacks) |
|
|
118
|
+
|
|
119
|
+
Every `onError` receives `CometChatCallsException`. `joinSession` takes **exactly one** of
|
|
120
|
+
`sessionId` or `callToken` — passing neither (or both) fails through `onError`, not by throwing.
|
|
121
|
+
|
|
122
|
+
## `SessionSettingsBuilder` — every setter, and the five DEFAULT-HIDDEN buttons (5.0.7)
|
|
123
|
+
|
|
124
|
+
> Presented as a CLOSED list, so it has to be complete: `startAudioMuted` and `startVideoPaused`
|
|
125
|
+
> were missing from it until an isolation test caught them. A closed list that isn't makes a real
|
|
126
|
+
> API look like a phantom — worse than no list. Re-probe before trusting it.
|
|
127
|
+
Setters return the builder, so **either** Dart cascades (`..setType(...)`, what the docs show) **or**
|
|
128
|
+
chaining works. Build with `.build()`.
|
|
129
|
+
|
|
130
|
+
`setTitle` · `setDisplayName` · `setType(SessionType)` · `setLayout(LayoutType)` ·
|
|
131
|
+
`setAudioMode(AudioMode)` · `setInitialCameraFacing(CameraFacing)` · `setIdleTimeoutPeriod(int)` ·
|
|
132
|
+
`setCaptionLanguage(String)` · `startAudioMuted(bool)` · `startVideoPaused(bool)` ·
|
|
133
|
+
`enableLowBandwidthMode(bool)` · `enableAutoStartRecording(bool)` · `enableAutoStartTranscription(bool)`
|
|
134
|
+
|
|
135
|
+
`hideControlPanel` · `hideHeaderPanel` · `hideSessionTimer` · `hideLeaveSessionButton` ·
|
|
136
|
+
`hideToggleAudioButton` · `hideToggleVideoButton` · `hideSwitchCameraButton` · `hideAudioModeButton` ·
|
|
137
|
+
`hideChangeLayoutButton` · `hideParticipantListButton` · `hideRaiseHandButton` ·
|
|
138
|
+
`hideScreenSharingButton` · `hideRecordingButton` · `hideShareInviteButton` · `hideChatButton` ·
|
|
139
|
+
`hideTranscriptionButton` · `hideClosedCaptionButton`
|
|
140
|
+
|
|
141
|
+
> **⚠️ FIVE buttons are HIDDEN BY DEFAULT** — `hideRecordingButton`, `hideShareInviteButton`,
|
|
142
|
+
> `hideChatButton` and, new in 5.0.7, `hideTranscriptionButton` and `hideClosedCaptionButton` all
|
|
143
|
+
> default to **`true`**. Wiring the matching click callback without passing `false` produces a
|
|
144
|
+
> listener that can never fire, and it looks like the events are broken. `setIdleTimeoutPeriod`
|
|
145
|
+
> defaults to **300**; every other `hide*` defaults to `false`.
|
|
146
|
+
|
|
147
|
+
## Listener registration — the names do NOT match the types
|
|
148
|
+
| Type | Add | Remove |
|
|
149
|
+
|---|---|---|
|
|
150
|
+
| `SessionStatusListeners` | `addSessionStatusListener(l)` | `removeSessionStatusListener(l)` |
|
|
151
|
+
| `ParticipantEventListeners` | `addParticipantEventListener(l)` | `removeParticipantEventListener(l)` |
|
|
152
|
+
| `MediaEventListeners` | `addMediaEvent`**`s`**`Listener(l)` | `removeMediaEvent`**`s`**`Listener(l)` |
|
|
153
|
+
| `ButtonClickListeners` | `addButtonClickListener(l)` | `removeButtonClickListener(l)` |
|
|
154
|
+
| `LayoutListeners` | `layoutListener = l` | `layoutListener = null` |
|
|
155
|
+
|
|
156
|
+
All five are on `CallSession.getInstance()`, which is **`null` when no session is active** — use `?.`.
|
|
157
|
+
`remove*` matches **by instance**, so the listener must be a retained field.
|
|
158
|
+
|
|
159
|
+
> **⚠️ `LayoutListeners` is the odd one out.** `CallSession` exposes `set layoutListener(LayoutListeners?)`
|
|
160
|
+
> and its getter — there is **no `addLayoutListener` / `removeLayoutListener`**, so only ONE layout
|
|
161
|
+
> listener exists at a time and it is cleared by assigning `null`. The events page shows the add/remove
|
|
162
|
+
> pair; those methods do not exist.
|
|
163
|
+
|
|
164
|
+
> **⚠️ All five types are `abstract class`es.** `SessionStatusListeners(onSessionJoined: …)`, the
|
|
165
|
+
> shape every page uses, does not compile — `flutter analyze` reports `instantiate_abstract_class`.
|
|
166
|
+
> Write `class X extends SessionStatusListeners { @override … }` and pass an instance. Every method
|
|
167
|
+
> already has a no-op body, so `extends` lets you override just what you need; `implements` obliges
|
|
168
|
+
> you to write them all.
|
|
169
|
+
|
|
170
|
+
## ⚠️ Doc corrections — VERIFIED against cometchat_calls_sdk 5.0.7
|
|
171
|
+
The `Doc corrections` table in `SKILL.md` is authoritative; it lists 13 classes of symbol on the live
|
|
172
|
+
pages that do not compile, including **the entire documented token flow** (`generateToken` is
|
|
173
|
+
deprecated, takes positional args, and yields a different type than the pages assign it — while
|
|
174
|
+
`generateCallToken`, the current API, appeared on no page at all).
|
|
175
|
+
|
|
176
|
+
Fixed in docs PR **cometchat/docs#492** (56 → 3 analyzer errors across 25 pages). Until it merges the
|
|
177
|
+
live pages still carry them. **12 fences on those pages parse in no shape and were never
|
|
178
|
+
machine-checked**, so 3 is a floor, not a total — prefer the skill's names over the page's on any
|
|
179
|
+
disagreement, and re-check this section when #492 lands.
|
|
180
|
+
|
|
181
|
+
## Upstream — `calls-core/calls-sdk-flutter` (the SDK monorepo)
|
|
182
|
+
|
|
183
|
+
The Flutter Calls SDK is developed in the **`calls-core` monorepo**, alongside `ios-sdk`,
|
|
184
|
+
`calls-sdk-javascript`, `react-native-sdk` and the shared `calls-sdk-core`. That is where the
|
|
185
|
+
`@nodoc` `initFromSettings` path above was read from, and it is the right place to check when a
|
|
186
|
+
docs page and the installed package disagree.
|
|
187
|
+
|
|
188
|
+
**As of 5.0.7 the published package and the monorepo dev branch (`dev-v5`, == `release-next`;
|
|
189
|
+
`master-v5` merges it) are byte-identical under `lib/`.** So there is no published-vs-upstream gap
|
|
190
|
+
to carry right now.
|
|
191
|
+
|
|
192
|
+
> **⚠️ Never infer that from a version string.** Before 5.0.7 shipped, the published package and
|
|
193
|
+
> the monorepo BOTH read `version: 5.0.6` with different contents. Re-diff the trees; do not
|
|
194
|
+
> compare versions.
|
|
195
|
+
|
|
196
|
+
### 5.0.6 → 5.0.7 (published 2026-09-02)
|
|
197
|
+
|
|
198
|
+
**Transcription arrived as a complete feature** — and `/calls/flutter` has **no page for it**.
|
|
199
|
+
The skill is the only source; see `references/transcription.md` (a labelled STOPGAP) and
|
|
200
|
+
DOCS-BACKLOG **D3**. Three new barrel-exported types entered the catalog: `Transcript`,
|
|
201
|
+
`TranscriptRequest`, `TranscriptRequestBuilder`.
|
|
202
|
+
|
|
203
|
+
**iOS floor raised 13.0 → 15.1**, native `CometChatCallsSDK` pin 5.0.0 → 5.0.4. This is breaking
|
|
204
|
+
for consumers on iOS 13/14 and can bite on a routine `pub upgrade`, because `^5.0.3` resolves to
|
|
205
|
+
5.0.7. Android stayed at `minSdkVersion 26` — the docs' "24 / Android 7.0" was never right for any
|
|
206
|
+
5.0.x.
|
|
207
|
+
|
|
208
|
+
**Six dead enum files were deleted** (`audio_modes`, `avatar_type`, `call_type`, `mode`,
|
|
209
|
+
`video_stream_modes`, `video_stream_positions`). All six were already in the catalog's
|
|
210
|
+
`internalOnlyExcluded` — never reachable from the barrel — so their removal changed nothing here.
|
|
211
|
+
`CallType` is the same phantom skills#183 filed on iOS.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Platform notes — Flutter Calls SDK v5
|
|
2
|
+
|
|
3
|
+
Two surfaces that sit beside the call rather than on the join path: keeping a call alive when the
|
|
4
|
+
app goes to the background, and ringing a user whose app is closed. Neither is needed to get a
|
|
5
|
+
call working; both are needed before shipping one.
|
|
6
|
+
|
|
7
|
+
## Backgrounding (FLUTTER-ONLY — `CometChatOngoingCallService`)
|
|
8
|
+
Android kills a call the moment the app backgrounds unless a foreground service holds it:
|
|
9
|
+
`CometChatOngoingCallService.launch()` from the **session-joined** callback (not `build()`), `.abort()`
|
|
10
|
+
alongside `leaveSession()`. Both are **safe no-ops on iOS**, where CallKit owns that state — call them
|
|
11
|
+
unconditionally, but say that rather than implying they do something on iOS. The manifest permissions
|
|
12
|
+
on `/calls/flutter/background-handling` are **not optional**; without them the call drops on background
|
|
13
|
+
and reads as a network fault. No iOS or web analogue exists.
|
|
14
|
+
|
|
15
|
+
## Call notifications when the app is backgrounded or killed (NO single Flutter package)
|
|
16
|
+
**iOS has a first-party `CometChatPushNotifications` package that owns PushKit and CallKit. Flutter
|
|
17
|
+
does not.** There is no `cometchat_push_notifications` on pub.dev, and **no symbol in this skill's
|
|
18
|
+
catalog implements this feature** — if an emit names such a package it invented it. The real shape is
|
|
19
|
+
two separate paths over the app's own push plugin:
|
|
20
|
+
- **Android** — FCM: register the token with CometChat, receive the call payload, show the incoming UI.
|
|
21
|
+
- **iOS** — APNs + PushKit + CallKit, wired by the app (`flutter_callkit_incoming` or equivalent), not by CometChat.
|
|
22
|
+
- On accept, **join the session — the call is already accepted server-side**; do not accept again.
|
|
23
|
+
- **Prerequisites (state them, they are not code):** a push provider configured in the dashboard, and a **PHYSICAL DEVICE** — neither FCM call pushes nor APNs VoIP pushes reach an emulator or Simulator.
|
|
24
|
+
Pages: `/calls/flutter/voip-calling`, `/notifications/flutter-push-notifications-android`, `/notifications/flutter-push-notifications-ios`.
|
|
25
|
+
|
|
26
|
+
## iOS Simulator on Apple Silicon — `CometChatWebRTC` excludes arm64
|
|
27
|
+
|
|
28
|
+
`CometChatWebRTC.podspec` sets `EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64`, and CocoaPods
|
|
29
|
+
propagates it into `Pods-Runner`. So the app builds **x86_64** and Flutter warns:
|
|
30
|
+
|
|
31
|
+
> The following target(s) do not support arm64 architecture, which is a requirement for Apple
|
|
32
|
+
> Silicon iOS 26+ simulators: CometChatWebRTC (transitive dependency of Flutter plugin
|
|
33
|
+
> cometchat_calls_sdk)
|
|
34
|
+
|
|
35
|
+
What that means in practice:
|
|
36
|
+
|
|
37
|
+
- **iOS 18 simulator: works**, through Rosetta. Verified — a calling app built, launched, logged
|
|
38
|
+
in and joined a live session.
|
|
39
|
+
- **iOS 26+ simulator: will not run at all.**
|
|
40
|
+
- **Physical device: unaffected** (the `ios-arm64` slice is fine).
|
|
41
|
+
|
|
42
|
+
The vendored `WebRTC.xcframework` **does** ship `ios-arm64_x86_64-simulator`, so the exclusion
|
|
43
|
+
looks gratuitous rather than necessary — but it is the SDK's podspec, not something the app can
|
|
44
|
+
override cleanly. Target a device or an iOS 18 simulator, and do not spend time hunting a missing
|
|
45
|
+
slice that is present.
|
|
46
|
+
|
|
47
|
+
Nothing in `/calls/flutter/**` mentions this, troubleshooting included. It is the most likely
|
|
48
|
+
first-five-minutes blocker for an iOS developer.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Transcription & closed captions — Flutter Calls SDK 5.0.7
|
|
2
|
+
|
|
3
|
+
> Transcription shipped in `cometchat_calls_sdk` **5.0.7** (published 2026-09-02). It had no
|
|
4
|
+
> documentation at all when this file was written; **`/calls/flutter/transcription` now exists**
|
|
5
|
+
> (docs#492, DOCS-BACKLOG D3) and is the source of truth once it merges. Until then this file is
|
|
6
|
+
> a labelled **STOPGAP** — every shape below is compile-verified against the published package,
|
|
7
|
+
> and both were written from the same verification pass, so they agree. Prefer the page when it
|
|
8
|
+
> lands, and delete the stopgap note here.
|
|
9
|
+
|
|
10
|
+
Server-side feature: **state the dashboard prerequisite** rather than assuming it is enabled.
|
|
11
|
+
|
|
12
|
+
## Control — on `CallSession.getInstance()`
|
|
13
|
+
|
|
14
|
+
```dart
|
|
15
|
+
await CallSession.getInstance()?.startTranscription();
|
|
16
|
+
await CallSession.getInstance()?.stopTranscription();
|
|
17
|
+
final bool? on = CallSession.getInstance()?.isTranscribing;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Session settings — ⚠️ both buttons are HIDDEN BY DEFAULT
|
|
21
|
+
|
|
22
|
+
```dart
|
|
23
|
+
final settings = (SessionSettingsBuilder()
|
|
24
|
+
..setType(SessionType.video)
|
|
25
|
+
..enableAutoStartTranscription(true) // start with the session
|
|
26
|
+
..hideTranscriptionButton(false) // ← REQUIRED to show it
|
|
27
|
+
..hideClosedCaptionButton(false) // ← REQUIRED to show it
|
|
28
|
+
..setCaptionLanguage('en-US')) // a METHOD, not a field
|
|
29
|
+
.build();
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`hideTranscriptionButton` and `hideClosedCaptionButton` both default to **`true`**, joining
|
|
33
|
+
`hideRecordingButton`, `hideShareInviteButton` and `hideChatButton`. Wiring a click handler
|
|
34
|
+
without passing `false` gives you a control that can never appear — the same trap, now on five
|
|
35
|
+
buttons rather than three.
|
|
36
|
+
|
|
37
|
+
Note `setCaptionLanguage(String)` is a **setter method**, unlike `CallAppSettingBuilder`'s
|
|
38
|
+
`..appId =` fields. This builder is method-cascade throughout; only the *call-log* builder takes
|
|
39
|
+
field assignments.
|
|
40
|
+
|
|
41
|
+
## Retrieval
|
|
42
|
+
|
|
43
|
+
```dart
|
|
44
|
+
final req = (TranscriptRequestBuilder()
|
|
45
|
+
..setSessionId(sessionId)
|
|
46
|
+
..setLimit(30)) // defaultLimit 30 · maxLimit 1000
|
|
47
|
+
.build();
|
|
48
|
+
|
|
49
|
+
await req.fetchNext(
|
|
50
|
+
onSuccess: (List<Transcript> transcripts) { /* ... */ },
|
|
51
|
+
onError: (CometChatCallsException e) { /* ... */ },
|
|
52
|
+
);
|
|
53
|
+
await req.fetchPrevious(onSuccess: (_) {}, onError: (_) {});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The callbacks are **required** — the same shape as `CallLogRequest.fetchNext`. Both methods also
|
|
57
|
+
return the `Future<List<Transcript>>`, so either channel works, but you cannot omit the callbacks.
|
|
58
|
+
|
|
59
|
+
### `Transcript`
|
|
60
|
+
|
|
61
|
+
| Field | Type | |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| `tid` | `String?` | transcript id |
|
|
64
|
+
| `mid` | `String?` | message id |
|
|
65
|
+
| `roomName` | `String?` | the session's room |
|
|
66
|
+
| `startTime` / `endTime` | `int?` | epoch bounds |
|
|
67
|
+
| `url` · `transcriptUrl` | `String?` | where to fetch the text |
|
|
68
|
+
| `transcriptDate` | `String?` | |
|
|
69
|
+
| `metaData` | `Map<String, dynamic>?` | the raw server record — new/unknown keys are never lost |
|
|
70
|
+
|
|
71
|
+
All nullable — unwrap before use. (Nine fields total; `metaData` is barrel-reachable and on the live `/calls/flutter/transcription` page too.)
|
|
72
|
+
|
|
73
|
+
## Finding calls that have one
|
|
74
|
+
|
|
75
|
+
```dart
|
|
76
|
+
final logs = (CallLogRequestBuilder()..hasTranscriptions = true).build();
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`CallLogRequestBuilder` also gained a `setHasTranscriptions(bool)` **method** in 5.0.7 — the only
|
|
80
|
+
setter on an otherwise all-field builder. Prefer the field assignment for consistency with the
|
|
81
|
+
rest of that builder.
|
|
82
|
+
|
|
83
|
+
## What Flutter still does not have
|
|
84
|
+
|
|
85
|
+
No `TranscriptsBuilder`-style server filter beyond session id and limit, and no live caption
|
|
86
|
+
*stream* to subscribe to — captions are rendered by the SDK's own UI, and transcripts are fetched
|
|
87
|
+
after the fact. iOS's `TranscriptsRequest` surface is not identical; do not port its snippets.
|