@cometchat/skills 4.4.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +55 -0
- package/.claude-plugin/plugin.json +14 -0
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/MIGRATING.md +187 -0
- package/README.md +52 -156
- package/RULES.md +125 -0
- package/bin/cometchat-skills.mjs +1280 -0
- package/bin/legacy-skills.json +95 -0
- package/catalogs/android-v6.json +1646 -0
- package/catalogs/flutter-v6.json +651 -0
- package/catalogs/ios-v5.json +1383 -0
- package/catalogs/rn-calls-v5.json +134 -0
- package/catalogs/rn-calls-v5.symbols.txt +58 -0
- package/catalogs/rn-sdk-v4.json +672 -0
- package/catalogs/rn-v5.json +449 -0
- package/catalogs/rn-v5.symbols.txt +216 -0
- package/catalogs/sdk-android-v5.json +514 -0
- package/contracts.android-calls-v5.json +122 -0
- package/contracts.android-v6.json +135 -0
- package/contracts.angular-v5.json +694 -0
- package/contracts.flutter-calls-v5.json +77 -0
- package/contracts.flutter-v6.json +126 -0
- package/contracts.ios-calls-v5.json +67 -0
- package/contracts.ios-v5.json +436 -0
- package/contracts.json +82 -0
- package/contracts.rn-calls-v5.json +77 -0
- package/contracts.rn-v5.json +727 -0
- package/contracts.sdk-android-v5.json +15 -0
- package/contracts.web-calls-v5.json +45 -0
- package/features.android-calls-v5.json +246 -0
- package/features.android-v6.json +65 -0
- package/features.angular-v5.json +521 -0
- package/features.flutter-calls-v5.json +286 -0
- package/features.flutter-v6.json +484 -0
- package/features.ios-calls-v5.json +236 -0
- package/features.ios-v5.json +573 -0
- package/features.json +61 -0
- package/features.rn-calls-v5.json +187 -0
- package/features.rn-v5.json +614 -0
- package/features.sdk-android-v5.json +40 -0
- package/features.sdk-jsv4.json +24 -0
- package/features.web-calls-v5.json +108 -0
- package/package.json +156 -74
- package/peers.yaml +355 -0
- package/registry/README.md +31 -0
- package/registry/android-calls-v5.json +94 -0
- package/registry/android-v6.json +177 -0
- package/registry/angular-v5.json +154 -0
- package/registry/flutter-calls-v5.json +94 -0
- package/registry/flutter-v6.json +159 -0
- package/registry/ios-calls-v5.json +99 -0
- package/registry/ios-v5.json +152 -0
- package/registry/rn-calls-v5.json +99 -0
- package/registry/rn-v5.json +169 -0
- package/registry/sdk-android-v5.json +93 -0
- package/registry/sdk-jsv4.json +93 -0
- package/registry/web-calls-v5.json +94 -0
- package/registry/web-v7.json +154 -0
- package/skills/cometchat/SKILL.md +47 -2096
- package/skills/cometchat-a11y/SKILL.md +44 -472
- package/skills/cometchat-analytics/SKILL.md +61 -0
- package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
- package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
- package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
- package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
- package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
- package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
- package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
- package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
- package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
- package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
- package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
- package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
- package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
- package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
- package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
- package/skills/cometchat-android-v6-core/SKILL.md +236 -672
- package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
- package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
- package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
- package/skills/cometchat-android-v6-core/references/layout.md +112 -0
- package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
- package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
- package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
- package/skills/cometchat-android-v6-events/SKILL.md +46 -184
- package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
- package/skills/cometchat-android-v6-features/SKILL.md +74 -143
- package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
- package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
- package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
- package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
- package/skills/cometchat-android-v6-production/SKILL.md +41 -179
- package/skills/cometchat-android-v6-push/SKILL.md +39 -289
- package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
- package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
- package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
- package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
- package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
- package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
- package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
- package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
- package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
- package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
- package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
- package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
- package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
- package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
- package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
- package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
- package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
- package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
- package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
- package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
- package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
- package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
- package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
- package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
- package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
- package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
- package/skills/cometchat-angular-v5-production/SKILL.md +102 -0
- package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
- package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
- package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
- package/skills/cometchat-audit/SKILL.md +61 -0
- package/skills/cometchat-compliance/SKILL.md +63 -0
- package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
- package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
- package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
- package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
- package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
- package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
- package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
- package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
- package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
- package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
- package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
- package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
- package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
- package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
- package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
- package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
- package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
- package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
- package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +132 -0
- package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
- package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
- package/skills/cometchat-flutter-v6-production/SKILL.md +59 -615
- package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
- package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
- package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
- package/skills/cometchat-i18n/SKILL.md +35 -404
- package/skills/cometchat-ios-calls/SKILL.md +112 -563
- package/skills/cometchat-ios-components/SKILL.md +44 -834
- package/skills/cometchat-ios-core/SKILL.md +182 -1068
- package/skills/cometchat-ios-core/references/anti-patterns.md +113 -0
- package/skills/cometchat-ios-core/references/docs-map.md +124 -0
- package/skills/cometchat-ios-core/references/install.md +23 -0
- package/skills/cometchat-ios-core/references/layout.md +219 -0
- package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
- package/skills/cometchat-ios-core/references/swiftui.md +91 -0
- package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
- package/skills/cometchat-ios-customization/SKILL.md +33 -968
- package/skills/cometchat-ios-features/SKILL.md +29 -738
- package/skills/cometchat-ios-migration/SKILL.md +39 -0
- package/skills/cometchat-ios-placement/SKILL.md +51 -729
- package/skills/cometchat-ios-production/SKILL.md +67 -723
- package/skills/cometchat-ios-push/SKILL.md +24 -602
- package/skills/cometchat-ios-testing/SKILL.md +36 -355
- package/skills/cometchat-ios-troubleshooting/SKILL.md +31 -989
- package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
- package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
- package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
- package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
- package/skills/cometchat-migrate-from-getstream/SKILL.md +65 -0
- package/skills/cometchat-migrate-from-getstream/references/concept-map.md +98 -0
- package/skills/cometchat-migrate-from-getstream/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-getstream/references/feature-map.md +108 -0
- package/skills/cometchat-migrate-from-getstream/references/inventory.md +82 -0
- package/skills/cometchat-migrate-from-getstream/references/native-build.md +9 -0
- package/skills/cometchat-migrate-from-getstream/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-sendbird/SKILL.md +64 -0
- package/skills/cometchat-migrate-from-sendbird/references/concept-map.md +99 -0
- package/skills/cometchat-migrate-from-sendbird/references/data-migration.md +74 -0
- package/skills/cometchat-migrate-from-sendbird/references/feature-map.md +104 -0
- package/skills/cometchat-migrate-from-sendbird/references/inventory.md +86 -0
- package/skills/cometchat-migrate-from-sendbird/references/native-build.md +10 -0
- package/skills/cometchat-migrate-from-sendbird/references/report-template.md +59 -0
- package/skills/cometchat-migrate-from-twilio/SKILL.md +52 -0
- package/skills/cometchat-migrate-from-twilio/references/concept-map.md +49 -0
- package/skills/cometchat-migrate-from-twilio/references/data-migration.md +50 -0
- package/skills/cometchat-migrate-from-twilio/references/feature-map.md +27 -0
- package/skills/cometchat-migrate-from-twilio/references/inventory.md +53 -0
- package/skills/cometchat-migrate-from-twilio/references/report-template.md +52 -0
- package/skills/cometchat-moderation/SKILL.md +58 -0
- package/skills/cometchat-onboarding/SKILL.md +92 -0
- package/skills/cometchat-onboarding/references/archetypes.md +51 -0
- package/skills/cometchat-onboarding/references/calling-first.md +77 -0
- package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
- package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
- package/skills/cometchat-onboarding/references/platforms.md +105 -0
- package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
- package/skills/cometchat-react-native-calls/SKILL.md +200 -0
- package/skills/cometchat-react-native-components/SKILL.md +142 -0
- package/skills/cometchat-react-native-core/SKILL.md +335 -0
- package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
- package/skills/cometchat-react-native-core/references/component-props.md +105 -0
- package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
- package/skills/cometchat-react-native-core/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-core/references/layout.md +61 -0
- package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
- package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
- package/skills/cometchat-react-native-customization/SKILL.md +198 -0
- package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
- package/skills/cometchat-react-native-features/SKILL.md +122 -0
- package/skills/cometchat-react-native-migration/SKILL.md +103 -0
- package/skills/cometchat-react-native-placement/SKILL.md +158 -0
- package/skills/cometchat-react-native-production/SKILL.md +79 -0
- package/skills/cometchat-react-native-push/SKILL.md +88 -0
- package/skills/cometchat-react-native-sdk/SKILL.md +133 -0
- package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
- package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
- package/skills/cometchat-react-native-testing/SKILL.md +94 -0
- package/skills/cometchat-react-native-troubleshooting/SKILL.md +174 -0
- package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
- package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
- package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
- package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
- package/skills/cometchat-react-v7-components/SKILL.md +72 -0
- package/skills/cometchat-react-v7-core/SKILL.md +101 -0
- package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
- package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
- package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
- package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
- package/skills/cometchat-react-v7-core/references/layout.md +150 -0
- package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
- package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
- package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
- package/skills/cometchat-react-v7-core/references/theming.md +52 -0
- package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
- package/skills/cometchat-react-v7-features/SKILL.md +92 -0
- package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
- package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
- package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
- package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
- package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
- package/skills/cometchat-react-v7-production/SKILL.md +84 -0
- package/skills/cometchat-react-v7-push/SKILL.md +53 -0
- package/skills/cometchat-react-v7-testing/SKILL.md +60 -0
- package/skills/cometchat-react-v7-troubleshooting/SKILL.md +47 -0
- package/skills/cometchat-security/SKILL.md +80 -0
- package/skills/cometchat-self-host/SKILL.md +56 -0
- package/test-suite/README.md +70 -0
- package/test-suite/catalogs/android-calls-v5.json +830 -0
- package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
- package/test-suite/catalogs/android-v6.json +1646 -0
- package/test-suite/catalogs/android-v6.symbols.txt +298 -0
- package/test-suite/catalogs/angular-v5.json +7587 -0
- package/test-suite/catalogs/flutter-calls-v5.json +196 -0
- package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
- package/test-suite/catalogs/flutter-v6.json +651 -0
- package/test-suite/catalogs/ios-calls-v5.json +158 -0
- package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
- package/test-suite/catalogs/ios-v5.json +1383 -0
- package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
- package/test-suite/catalogs/rn-calls-v5.json +134 -0
- package/test-suite/catalogs/rn-sdk-v4.json +672 -0
- package/test-suite/catalogs/rn-v5.json +449 -0
- package/test-suite/catalogs/sdk-android-v5.json +514 -0
- package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
- package/test-suite/catalogs/sdk-jsv4.json +800 -0
- package/test-suite/catalogs/web-calls-v5.json +195 -0
- package/test-suite/catalogs/web-v7.json +1243 -0
- package/test-suite/scripts/build-registry.mjs +113 -0
- package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
- package/test-suite/scripts/catalog-refresh.mjs +100 -0
- package/test-suite/scripts/lint-skills.mjs +932 -0
- package/test-suite/scripts/measure-tokens.mjs +169 -0
- package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
- package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
- package/test-suite/scripts/typecheck-fences.mjs +206 -0
- package/test-suite/scripts/verify-catalog.mjs +242 -0
- package/test-suite/scripts/verify-contract-fences.mjs +94 -0
- package/test-suite/scripts/verify-detection.mjs +178 -0
- package/test-suite/scripts/verify-docs-base.mjs +91 -0
- package/test-suite/scripts/verify-family-agnostic.mjs +134 -0
- package/test-suite/scripts/verify-golden-path.mjs +138 -0
- package/test-suite/scripts/verify-oracle-components.mjs +133 -0
- package/test-suite/scripts/verify-template-bindings.mjs +148 -0
- package/test-suite/typecheck/angular-v5/package.json +21 -0
- package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
- package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
- package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
- package/test-suite/typecheck/web-v7/package.json +18 -0
- package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
- package/bin/install.js +0 -1003
- package/skills/.claude-plugin/marketplace.json +0 -86
- package/skills/cometchat/references/asking-questions.md +0 -48
- package/skills/cometchat-android-v5/SKILL.md +0 -121
- package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
- package/skills/cometchat-android-v5-calls/references/README.md +0 -53
- package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
- package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
- package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
- package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
- package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
- package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
- package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
- package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
- package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
- package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
- package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
- package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
- package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
- package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
- package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
- package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
- package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
- package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
- package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
- package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
- package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
- package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
- package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
- package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
- package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
- package/skills/cometchat-android-v5-components/SKILL.md +0 -431
- package/skills/cometchat-android-v5-core/SKILL.md +0 -486
- package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
- package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
- package/skills/cometchat-android-v5-features/SKILL.md +0 -131
- package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
- package/skills/cometchat-android-v5-production/SKILL.md +0 -95
- package/skills/cometchat-android-v5-push/SKILL.md +0 -619
- package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
- package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
- package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
- package/skills/cometchat-android-v6/SKILL.md +0 -108
- package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
- package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
- package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
- package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
- package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
- package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
- package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
- package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
- package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
- package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
- package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
- package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
- package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
- package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
- package/skills/cometchat-angular-calls/SKILL.md +0 -380
- package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
- package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
- package/skills/cometchat-angular-calls/references/call-session.md +0 -167
- package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
- package/skills/cometchat-angular-calls/references/device-management.md +0 -154
- package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
- package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
- package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
- package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
- package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
- package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
- package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
- package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
- package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
- package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
- package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
- package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
- package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
- package/skills/cometchat-angular-components/SKILL.md +0 -235
- package/skills/cometchat-angular-core/SKILL.md +0 -386
- package/skills/cometchat-angular-customization/SKILL.md +0 -616
- package/skills/cometchat-angular-features/SKILL.md +0 -329
- package/skills/cometchat-angular-patterns/SKILL.md +0 -256
- package/skills/cometchat-angular-placement/SKILL.md +0 -314
- package/skills/cometchat-angular-production/SKILL.md +0 -564
- package/skills/cometchat-angular-push/SKILL.md +0 -389
- package/skills/cometchat-angular-testing/SKILL.md +0 -605
- package/skills/cometchat-angular-theming/SKILL.md +0 -290
- package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
- package/skills/cometchat-astro-patterns/SKILL.md +0 -708
- package/skills/cometchat-calls/SKILL.md +0 -364
- package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
- package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
- package/skills/cometchat-calls/references/use-case-support.md +0 -189
- package/skills/cometchat-calls/references/use-case-team.md +0 -180
- package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
- package/skills/cometchat-components/SKILL.md +0 -1142
- package/skills/cometchat-core/SKILL.md +0 -1048
- package/skills/cometchat-customization/SKILL.md +0 -580
- package/skills/cometchat-customization/references/component-catalog.md +0 -236
- package/skills/cometchat-features/SKILL.md +0 -861
- package/skills/cometchat-flutter-v5/SKILL.md +0 -173
- package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
- package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
- package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
- package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
- package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
- package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
- package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
- package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
- package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
- package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
- package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
- package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
- package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
- package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
- package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
- package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
- package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
- package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
- package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
- package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
- package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
- package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
- package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
- package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
- package/skills/cometchat-flutter-v6/SKILL.md +0 -446
- package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
- package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
- package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
- package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
- package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
- package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
- package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
- package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
- package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
- package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
- package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
- package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
- package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
- package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
- package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
- package/skills/cometchat-ios/SKILL.md +0 -325
- package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
- package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
- package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
- package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
- package/skills/cometchat-ios-calls/references/call-session.md +0 -218
- package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
- package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
- package/skills/cometchat-ios-calls/references/device-management.md +0 -171
- package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
- package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
- package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
- package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
- package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
- package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
- package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
- package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
- package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
- package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
- package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
- package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
- package/skills/cometchat-ios-theming/SKILL.md +0 -667
- package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
- package/skills/cometchat-native-calls/SKILL.md +0 -671
- package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
- package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
- package/skills/cometchat-native-calls/references/call-session.md +0 -182
- package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
- package/skills/cometchat-native-calls/references/device-management.md +0 -158
- package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
- package/skills/cometchat-native-calls/references/group-calls.md +0 -296
- package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
- package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
- package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
- package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
- package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
- package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
- package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
- package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
- package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
- package/skills/cometchat-native-calls/references/share-invite.md +0 -146
- package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
- package/skills/cometchat-native-components/SKILL.md +0 -628
- package/skills/cometchat-native-core/SKILL.md +0 -679
- package/skills/cometchat-native-customization/SKILL.md +0 -716
- package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
- package/skills/cometchat-native-features/SKILL.md +0 -638
- package/skills/cometchat-native-placement/SKILL.md +0 -509
- package/skills/cometchat-native-production/SKILL.md +0 -700
- package/skills/cometchat-native-push/SKILL.md +0 -594
- package/skills/cometchat-native-testing/SKILL.md +0 -582
- package/skills/cometchat-native-theming/SKILL.md +0 -681
- package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
- package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
- package/skills/cometchat-placement/SKILL.md +0 -1360
- package/skills/cometchat-production/SKILL.md +0 -1027
- package/skills/cometchat-react-calls/SKILL.md +0 -752
- package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
- package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
- package/skills/cometchat-react-calls/references/call-session.md +0 -235
- package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
- package/skills/cometchat-react-calls/references/device-management.md +0 -210
- package/skills/cometchat-react-calls/references/group-calls.md +0 -257
- package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
- package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
- package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
- package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
- package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
- package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
- package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
- package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
- package/skills/cometchat-react-calls/references/share-invite.md +0 -175
- package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
- package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
- package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
- package/skills/cometchat-react-patterns/SKILL.md +0 -628
- package/skills/cometchat-react-push/SKILL.md +0 -634
- package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
- package/skills/cometchat-react-testing/SKILL.md +0 -413
- package/skills/cometchat-theming/SKILL.md +0 -498
- package/skills/cometchat-troubleshooting/SKILL.md +0 -294
|
@@ -1,374 +1,75 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cometchat-flutter-v6-migration
|
|
3
|
-
description:
|
|
4
|
-
Use when migrating a CometChat Flutter app from UIKit v5 (cometchat_calls_uikit + GetX)
|
|
5
|
-
to UIKit v6 (cometchat_chat_uikit unified package, no GetX). Covers import changes,
|
|
6
|
-
dependency cleanup, GetX removal, init/login pattern changes, navigation rewrites,
|
|
7
|
-
screen structure flattening, notification service updates, and BuilderSettings removal.
|
|
8
|
-
Also use when seeing imports from cometchat_calls_uikit, get/get.dart, or v5-era patterns
|
|
9
|
-
like GetBuilder, Get.put, Get.find, PageManager, BuilderSettings, or CometChatCallingExtension.
|
|
3
|
+
description: "Upgrade a Flutter app from CometChat UI Kit v5 → v6 (`cometchat_chat_uikit` ^5 → ^6). Reads the repo's CometChat usage, applies the breaking-change map (removed shells, the deleted extension architecture, GetX → BLoC, renamed widgets), and verifies the build. Triggers: 'upgrade my v5 uikit to v6', 'migrate cometchat flutter v5 to v6', 'cometchat flutter v5 to v6', 'bump cometchat_chat_uikit'."
|
|
10
4
|
license: "MIT"
|
|
11
|
-
compatibility: "cometchat_chat_uikit 6.0.
|
|
5
|
+
compatibility: "Flutter >=3.38.9; FROM cometchat_chat_uikit ^5 → ^6 (6.1.x, verified 6.1.0); cometchat_sdk ^5.0.6"
|
|
12
6
|
metadata:
|
|
13
7
|
author: "CometChat"
|
|
14
|
-
version: "
|
|
15
|
-
tags: "cometchat flutter migration v5 v6
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
tags: "cometchat flutter migration upgrade v5 v6 uikit"
|
|
16
10
|
---
|
|
17
11
|
|
|
18
|
-
> **Ground truth:** `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| `builder/builder_settings_helper.dart` | Remove |
|
|
83
|
-
| `utils/page_manager.dart` | Remove — use `Navigator.push` |
|
|
84
|
-
| `utils/initialize_cometchat.dart` | Remove — inline init |
|
|
85
|
-
| `utils/bool_singleton.dart` | Remove |
|
|
86
|
-
| `utils/text_constants.dart` | Remove |
|
|
87
|
-
| `prefs/shared_preferences.dart` | Remove |
|
|
88
|
-
|
|
89
|
-
## Step 3: Rewrite Init
|
|
90
|
-
|
|
91
|
-
```dart
|
|
92
|
-
// ❌ v5 — helper class with CometChatCallingExtension + extensions + aiFeature
|
|
93
|
-
class InitializeCometChat {
|
|
94
|
-
static Future<bool> init() async {
|
|
95
|
-
final builder = UIKitSettingsBuilder()
|
|
96
|
-
..callingExtension = CometChatCallingExtension() // REMOVED in v6
|
|
97
|
-
..extensions = CometChatUIKitChatExtensions.getDefaultExtensions() // REMOVED
|
|
98
|
-
..aiFeature = CometChatUIKitChatAIFeatures.getDefaultAiFeatures(); // REMOVED
|
|
99
|
-
// ...
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// ✅ v6 — inline, enableCalls + CallingConfiguration replace all three
|
|
104
|
-
final settings = (UIKitSettingsBuilder()
|
|
105
|
-
..subscriptionType = CometChatSubscriptionType.allUsers
|
|
106
|
-
..region = AppCredentials.region
|
|
107
|
-
..appId = AppCredentials.appId
|
|
108
|
-
..authKey = AppCredentials.authKey
|
|
109
|
-
..enableCalls = true
|
|
110
|
-
..callingConfiguration = CallingConfiguration())
|
|
111
|
-
.build();
|
|
112
|
-
|
|
113
|
-
CometChatUIKit.init(uiKitSettings: settings, onSuccess: (_) { ... });
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Removed v5 UIKitSettingsBuilder properties
|
|
117
|
-
- `callingExtension` → replaced by `enableCalls: true`
|
|
118
|
-
- `extensions` → removed (extensions auto-registered in v6)
|
|
119
|
-
- `aiFeature` → removed (AI features auto-registered in v6)
|
|
120
|
-
|
|
121
|
-
### Calls SDK Init for Cached Sessions
|
|
122
|
-
|
|
123
|
-
With `..enableCalls = true` on `UIKitSettingsBuilder`, the kit invokes `CallEventService.instance.init(...)` automatically for BOTH fresh logins AND cached-session restores (verified in `cometchat_chat_uikit-6.0.1/lib/shared_ui/src/cometchat_ui_kit/cometchat_ui_kit.dart` lines 170–179 — `_initiateAfterLogin()` is called from both `CometChatUIKit.init` cached-user branch and `CometChatUIKit.login`). No manual `CallEventService.instance.init()` call is required or recommended.
|
|
124
|
-
|
|
125
|
-
## Step 4: Remove GetX
|
|
126
|
-
|
|
127
|
-
### PageManager → Navigator.push
|
|
128
|
-
```dart
|
|
129
|
-
// ❌ v5
|
|
130
|
-
Get.put(PageManager());
|
|
131
|
-
Get.find<PageManager>().navigateToMessages(context: context, user: user);
|
|
132
|
-
|
|
133
|
-
// ✅ v6
|
|
134
|
-
Navigator.push(context, MaterialPageRoute(
|
|
135
|
-
builder: (_) => MessagesScreen(user: user),
|
|
136
|
-
));
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### GetBuilder → StatefulWidget with listener mixins
|
|
140
|
-
```dart
|
|
141
|
-
// ❌ v5
|
|
142
|
-
GetBuilder<CometChatMessagesController>(
|
|
143
|
-
init: messagesController,
|
|
144
|
-
tag: messagesController.tag,
|
|
145
|
-
builder: (controller) => Scaffold(/* ... */),
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
// ✅ v6
|
|
149
|
-
class _MessagesScreenState extends State<MessagesScreen>
|
|
150
|
-
with UserListener, CometChatUserEventListener,
|
|
151
|
-
GroupListener, CometChatGroupEventListener {
|
|
152
|
-
late User? _user;
|
|
153
|
-
late Group? _group;
|
|
154
|
-
// setState() instead of controller.update()
|
|
155
|
-
}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Rx variables → plain state
|
|
159
|
-
```dart
|
|
160
|
-
// ❌ v5
|
|
161
|
-
var isBlockLoading = false.obs;
|
|
162
|
-
// Usage: isBlockLoading.value = true;
|
|
163
|
-
|
|
164
|
-
// ✅ v6
|
|
165
|
-
bool _isUserBlocked = false;
|
|
166
|
-
// Usage: setState(() => _isUserBlocked = true);
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Obx dialogs → StatefulBuilder
|
|
170
|
-
```dart
|
|
171
|
-
// ❌ v5 — Obx in dialog for loading indicator
|
|
172
|
-
Obx(() => isLoading.value ? CircularProgressIndicator() : Icon(Icons.check))
|
|
173
|
-
|
|
174
|
-
// ✅ v6 — StatefulBuilder in dialog
|
|
175
|
-
StatefulBuilder(builder: (context, setDialogState) {
|
|
176
|
-
return isLoading ? CircularProgressIndicator() : Icon(Icons.check);
|
|
177
|
-
})
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## Step 5: Removed v5 APIs
|
|
181
|
-
|
|
182
|
-
These v5 widget parameters/classes don't exist in v6:
|
|
183
|
-
|
|
184
|
-
| v5 API | Status in v6 |
|
|
185
|
-
|--------|-------------|
|
|
186
|
-
| `CometChatCompactMessageComposer` | Removed — use `CometChatMessageComposer` |
|
|
187
|
-
| `CometChatAIAssistantChatHistory` | Removed |
|
|
188
|
-
| `CometChatMessageHeader` `options` param | Removed — use `trailingView` |
|
|
189
|
-
| `CometChatMessageList` `messageId` param | Removed — use `goToMessageId` |
|
|
190
|
-
| `CometChatMessageList` `hideFlagOption` | Removed |
|
|
191
|
-
| `CometChatMessageList` `generateConversationSummary` | Removed |
|
|
192
|
-
| `getDataSource()` on message list | Removed |
|
|
193
|
-
| `AssetConstants.conversationSummaryOutlined` | Removed |
|
|
194
|
-
| `CometChatBannedMembers` (standalone widget) | Not exported in v6 |
|
|
195
|
-
| `CometChatCallLogParticipants` (standalone) | Not exported in v6 |
|
|
196
|
-
| `CometChatCallLogRecordings` (standalone) | Not exported in v6 |
|
|
197
|
-
| `CometChatCallLogHistory` (standalone) | Not exported in v6 |
|
|
198
|
-
| `CometChatCallingExtension()` | Replaced by `enableCalls: true` + `CallingConfiguration()` |
|
|
199
|
-
| `CometChatUIKitChatExtensions.getDefaultExtensions()` | Removed — auto-registered |
|
|
200
|
-
| `CometChatUIKitChatAIFeatures.getDefaultAiFeatures()` | Removed — auto-registered |
|
|
201
|
-
| `CallSettingsBuilder` | Replaced by `SessionSettingsBuilder` |
|
|
202
|
-
| `FormatPatterns.stripFormatting()` | Removed |
|
|
203
|
-
| `CallStateController.instance` | Replaced by `CallStateService.instance` |
|
|
204
|
-
|
|
205
|
-
### CallSettingsBuilder → SessionSettingsBuilder
|
|
206
|
-
```dart
|
|
207
|
-
// ❌ v5
|
|
208
|
-
CallSettingsBuilder()
|
|
209
|
-
..enableDefaultLayout = true
|
|
210
|
-
|
|
211
|
-
// ✅ v6
|
|
212
|
-
SessionSettingsBuilder()
|
|
213
|
-
..setLayout(LayoutType.tile)
|
|
214
|
-
..startVideoPaused(true) // for audio calls
|
|
215
|
-
..hideSwitchCameraButton(true)
|
|
216
|
-
..hideToggleVideoButton(true)
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## Step 6: Flatten Screen Structure
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
# ❌ v5 — controller + widget per screen
|
|
223
|
-
messages/
|
|
224
|
-
├── messages.dart # MessagesSample widget
|
|
225
|
-
└── messages_controller.dart # GetxController
|
|
226
|
-
group_info/
|
|
227
|
-
├── cometchat_group_info.dart
|
|
228
|
-
└── cometchat_group_info_controller.dart
|
|
229
|
-
|
|
230
|
-
# ✅ v6 — single file per screen
|
|
231
|
-
screens/
|
|
232
|
-
├── messages_screen.dart # Widget + state + listeners
|
|
233
|
-
├── group_info_screen.dart
|
|
234
|
-
├── home_screen.dart
|
|
235
|
-
└── ...
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### Class Rename Map
|
|
239
|
-
|
|
240
|
-
| v5 Class | v6 Class |
|
|
241
|
-
|----------|----------|
|
|
242
|
-
| `MyHomePage` / `MyPageView` | `HomeScreen` |
|
|
243
|
-
| `MessagesSample` | `MessagesScreen` |
|
|
244
|
-
| `GuardScreen` | `GuardScreen` (same name, rewritten) |
|
|
245
|
-
| `LoginSampleUsers` | `LoginScreen` |
|
|
246
|
-
|
|
247
|
-
## Step 7: Update MaterialApp
|
|
248
|
-
|
|
249
|
-
```dart
|
|
250
|
-
// ❌ v5 — localization delegates, BuilderTypography, callMain entry point
|
|
251
|
-
MaterialApp(
|
|
252
|
-
supportedLocales: const [Locale('en'), Locale('ar'), ...],
|
|
253
|
-
localizationsDelegates: const [
|
|
254
|
-
cc.Translations.delegate,
|
|
255
|
-
GlobalMaterialLocalizations.delegate,
|
|
256
|
-
GlobalWidgetsLocalizations.delegate,
|
|
257
|
-
GlobalCupertinoLocalizations.delegate,
|
|
258
|
-
],
|
|
259
|
-
theme: ThemeData(
|
|
260
|
-
fontFamily: BuilderTypography.font,
|
|
261
|
-
extensions: [CometChatColorPalette(primary: BuilderColor.brandColor)],
|
|
262
|
-
),
|
|
263
|
-
navigatorKey: CallNavigationContext.navigatorKey,
|
|
264
|
-
)
|
|
265
|
-
|
|
266
|
-
// ✅ v6 — Material 3, no builder system, no localization delegates
|
|
267
|
-
MaterialApp(
|
|
268
|
-
debugShowCheckedModeBanner: false,
|
|
269
|
-
navigatorKey: LocalNotificationService.navigatorKey,
|
|
270
|
-
theme: ThemeData(
|
|
271
|
-
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
|
|
272
|
-
useMaterial3: true,
|
|
273
|
-
),
|
|
274
|
-
darkTheme: ThemeData(
|
|
275
|
-
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple, brightness: Brightness.dark),
|
|
276
|
-
useMaterial3: true,
|
|
277
|
-
brightness: Brightness.dark,
|
|
278
|
-
),
|
|
279
|
-
themeMode: ThemeMode.system,
|
|
280
|
-
)
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
Remove the `callMain()` entry point and `CallApp`/`CallScreen` widget entirely. V6 renders the in-call UI via the `CometChatOngoingCall` widget (placed in your widget tree once the call is active) and presents incoming calls via the `IncomingCallOverlay` widget. (The kit DOES expose `CallScreenOverlay.show(...)` — `call_ui/src/ongoing_call/call_screen_overlay.dart` — which it uses internally for the outgoing→in-call transition.)
|
|
284
|
-
|
|
285
|
-
## Step 8: Update Notification Services
|
|
286
|
-
|
|
287
|
-
| v5 Class | v6 Class |
|
|
288
|
-
|----------|----------|
|
|
289
|
-
| `VoipNotificationHandler` | `VoipCallHandler` |
|
|
290
|
-
| `APNSService` | `ApnsService` |
|
|
291
|
-
| `FirebaseService` | `FirebaseService` (same) |
|
|
292
|
-
|
|
293
|
-
### VoIP Cold Start
|
|
294
|
-
```dart
|
|
295
|
-
// ❌ v5 — handled in dashboard initState
|
|
296
|
-
VoipNotificationHandler.handleNativeCallIntent(context);
|
|
297
|
-
|
|
298
|
-
// ✅ v6 — init early in main(), markSdkReady after login
|
|
299
|
-
VoipCallHandler.instance.init(); // in main()
|
|
300
|
-
await VoipCallHandler.instance.markSdkReady(); // after login
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
## Step 9: resizeToAvoidBottomInset
|
|
304
|
-
|
|
305
|
-
```dart
|
|
306
|
-
// ❌ v5 — SafeArea wrapping around the composer
|
|
307
|
-
Scaffold(body: SafeArea(child: Column(children: [messageList, composer])))
|
|
308
|
-
|
|
309
|
-
// ✅ v6 on ^6.0.1 — true (or omit; true is the default). The composer clamps
|
|
310
|
-
// the keyboard height to viewInsets (kit fix ENG-34434), so true does NOT
|
|
311
|
-
// double-compensate. (false was only the pre-6.0.1 workaround — if you still
|
|
312
|
-
// see a double keyboard gap, upgrade the kit.)
|
|
313
|
-
Scaffold(
|
|
314
|
-
resizeToAvoidBottomInset: true,
|
|
315
|
-
body: Column(children: [Expanded(child: messageList), composer]),
|
|
316
|
-
)
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
## Step 10: Android Build
|
|
320
|
-
|
|
321
|
-
In `android/app/build.gradle(.kts)`:
|
|
322
|
-
```kotlin
|
|
323
|
-
defaultConfig {
|
|
324
|
-
minSdk = 26 // Was 24 in v5, required by cometchat_calls_sdk in v6
|
|
325
|
-
}
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
In `android/gradle.properties`:
|
|
329
|
-
```properties
|
|
330
|
-
android.enableJetifier=true // Required for support library conflicts
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
## Step 11: Delete v5 Files
|
|
334
|
-
|
|
335
|
-
- `builder/` folder entirely
|
|
336
|
-
- `utils/page_manager.dart`, `initialize_cometchat.dart`, `bool_singleton.dart`, `text_constants.dart`
|
|
337
|
-
- `prefs/shared_preferences.dart`
|
|
338
|
-
- `services/bugsee_services.dart`
|
|
339
|
-
- `qr_scanner/` folder
|
|
340
|
-
- `ai_agents/` folder
|
|
341
|
-
- `call_screen.dart`
|
|
342
|
-
- `demo_meta_info_constants.dart` (recreate minimal if needed)
|
|
343
|
-
- All `*_controller.dart` files
|
|
344
|
-
- `auth/login_screen.dart` (if it depended on google_sign_in/firebase_auth)
|
|
345
|
-
|
|
346
|
-
## Gotchas
|
|
347
|
-
|
|
348
|
-
- `CometChatCallingExtension()`, `extensions`, and `aiFeature` on UIKitSettingsBuilder don't exist in v6. Extensions and AI features are auto-registered. Only `enableCalls: true` + `CallingConfiguration()` is needed.
|
|
349
|
-
- `CallSettingsBuilder` is renamed to `SessionSettingsBuilder` with different API: `.setLayout(LayoutType.tile)` instead of `..enableDefaultLayout = true`.
|
|
350
|
-
- v6 `CometChatMessageList` doesn't have `messageId` param — use `goToMessageId` instead.
|
|
351
|
-
- `CometChatBannedMembers`, `CometChatCallLogParticipants`, `CometChatCallLogRecordings`, `CometChatCallLogHistory` are not exported as standalone widgets in v6.
|
|
352
|
-
- The `callMain()` entry point pattern (separate Dart entry point for Android CallActivity) is gone. V6 renders the in-call UI via the `CometChatOngoingCall` widget within your existing app navigator + the `IncomingCallOverlay` widget for incoming-call UI.
|
|
353
|
-
- `FormatPatterns.stripFormatting()` doesn't exist in v6. Use `MarkdownTextFormatter` instead.
|
|
354
|
-
|
|
355
|
-
## Checklist
|
|
356
|
-
|
|
357
|
-
- [ ] `pubspec.yaml` — remove `cometchat_calls_uikit`, `get`, and all unused deps
|
|
358
|
-
- [ ] All imports — `cometchat_calls_uikit` → `cometchat_chat_uikit/cometchat_calls_uikit.dart`
|
|
359
|
-
- [ ] All imports — remove `get/get.dart`
|
|
360
|
-
- [ ] Init — remove `CometChatCallingExtension`, `extensions`, `aiFeature`; add `enableCalls` + `CallingConfiguration`
|
|
361
|
-
- [ ] Add `CallEventService.instance.init()` for cached sessions
|
|
362
|
-
- [ ] Remove `PageManager` — replace with `Navigator.push`
|
|
363
|
-
- [ ] Remove all `GetBuilder`/`Obx`/`Get.put`/`Get.find`
|
|
364
|
-
- [ ] Remove all `*_controller.dart` files
|
|
365
|
-
- [ ] Flatten screens into `screens/` folder
|
|
366
|
-
- [ ] Remove `BuilderSettings` — toggle features per-widget (e.g. `disableReactions`, `hideReplyInThreadOption`) on the relevant CometChat widget instead
|
|
367
|
-
- [ ] Update `MaterialApp` — remove localization delegates, remove `BuilderTypography`
|
|
368
|
-
- [ ] Remove `callMain()` entry point and `CallScreen` widget
|
|
369
|
-
- [ ] `CallSettingsBuilder` → `SessionSettingsBuilder`
|
|
370
|
-
- [ ] `resizeToAvoidBottomInset: true` (or omitted) on Scaffolds with composer on `^6.0.1` — composer clamps to `viewInsets` (ENG-34434); `false` is only the pre-6.0.1 stopgap
|
|
371
|
-
- [ ] Android `minSdk` = 26
|
|
372
|
-
- [ ] Android `enableJetifier = true`
|
|
373
|
-
- [ ] Delete all unused v5 files
|
|
374
|
-
- [ ] Test: init → login → conversations → messages → calls → logout → re-login
|
|
12
|
+
> **Ground truth:** the removed-symbol map in `references/migration-guide.md` is derived from a REAL diff — every prior-pack symbol was compiled against the published 6.1.0, and the 45 that no longer resolve are recorded with their replacement (`COVERAGE-flutter-v6.md`). v6 target symbols are catalog-verified. The prop-by-prop table is FETCHED from `upgrading-from-v5`. **Transform the user's code — never wipe it; work on a branch and confirm before bulk edits.**
|
|
13
|
+
|
|
14
|
+
## Companion skills (read first)
|
|
15
|
+
- `cometchat-flutter-v6-core` — the v6 init/login/render the migrated app lands on. This skill ASSUMES it.
|
|
16
|
+
- `cometchat-flutter-v6-components` — the v6 widget catalog (the target names).
|
|
17
|
+
|
|
18
|
+
## Use this skill when
|
|
19
|
+
"upgrade my v5 UI Kit to v6", "migrate CometChat Flutter v5→v6", "bump `cometchat_chat_uikit`". Precondition: the project currently has `cometchat_chat_uikit` ^5.
|
|
20
|
+
|
|
21
|
+
## Prerequisites & install
|
|
22
|
+
A clean branch. Then `flutter pub add cometchat_chat_uikit:^6.1.0` (and `cometchat_calls_sdk:^5.0.4` if the app calls). Remove `cometchat_uikit_shared` **and `cometchat_calls_uikit`** — neither exists as a package in v6; calling now ships inside the chat package behind a second barrel.
|
|
23
|
+
|
|
24
|
+
**Expect `pub get` to fail once on a peer constraint.** The kit tightens transitive pins (e.g. 6.1.0 needs `permission_handler ^12`, so an app on `^11` will not resolve). Bump the app's pin to what the solver names — never downgrade the kit to fit the app.
|
|
25
|
+
|
|
26
|
+
## Migration workflow (BAKED)
|
|
27
|
+
1. **Confirm the starting point.** `pubspec.yaml` has `cometchat_chat_uikit` ^5 (already ^6 → STOP, nothing to migrate). Note platform floors (Android `minSdk 26`, iOS `15.1` — **not** the docs' 24 / 13.0; see DOCS-BACKLOG D7) and whether the app uses calls / GetX / extensions / custom templates.
|
|
28
|
+
2. **Update deps.** Bump the kit; drop `cometchat_uikit_shared` **and `cometchat_calls_uikit`**; bump `cometchat_sdk`/`cometchat_calls_sdk`; expect one peer-constraint bump. `flutter pub get`.
|
|
29
|
+
3. **Scan for removed symbols** — grep the map in `references/migration-guide.md`. Produce a concrete change list BEFORE editing.
|
|
30
|
+
4. **Apply the map** (below + the reference), then **re-point imports**: everything now comes from `package:cometchat_chat_uikit/cometchat_chat_uikit.dart`, plus `…/cometchat_calls_uikit.dart` for call widgets.
|
|
31
|
+
5. **Re-verify** — `flutter analyze` clean, no v5 symbol remains, the app builds and chat renders.
|
|
32
|
+
|
|
33
|
+
## The five breaking changes that matter (BAKED)
|
|
34
|
+
**1. The combined shells are GONE.** v5's all-in-one widgets have no v6 equivalent — the host composes screens now.
|
|
35
|
+
| v5 | v6 |
|
|
36
|
+
|---|---|
|
|
37
|
+
| `CometChatConversationsWithMessages` | `CometChatConversations` + push a message screen |
|
|
38
|
+
| `CometChatUsersWithMessages` / `CometChatGroupsWithMessages` | `CometChatUsers` / `CometChatGroups` + push |
|
|
39
|
+
| `CometChatMessages` | `CometChatMessageHeader` + `CometChatMessageList` + `CometChatMessageComposer` |
|
|
40
|
+
| `CometChatUI` · `CometChatMessenger` · `CometChatUserList` · `CometChatContactList` · `CometChatChatList` | compose from the catalog (`-placement`) |
|
|
41
|
+
This is the largest edit: a one-line v5 shell becomes a screen you assemble. Use the core golden path as the target shape.
|
|
42
|
+
|
|
43
|
+
**2. The extension architecture is DELETED.** The builder setters `..extensions` · `..aiFeature` · `..callingExtension` are gone, along with `CometChatUIKitChatExtensions` · `CometChatCallingExtension` · `DataSource` / `ExtensionsDataSource` · `ChatConfigurator` · every `*Extension` and `*ExtensionDecorator` · `CometChatUIKit.getDataSource()`.
|
|
44
|
+
Dashboard-enabled extensions now surface **automatically**; the replacement for `getDataSource()` defaults is `MessageTemplateUtils` (`getTextMessageOptions`, `getAllMessageTypes`, `getAllMessageCategories`).
|
|
45
|
+
**Two exceptions to "just delete it":**
|
|
46
|
+
- **Calling had a replacement, not a removal.** `..callingExtension = CometChatCallingExtension()` becomes `..enableCalls = true` + `..callingConfiguration = CallingConfiguration()` on the classic builder, or `uiKit.enableCalling` on `initFromSettings` (`-calls`). Delete it without the pair and every call affordance vanishes silently.
|
|
47
|
+
- **`CometChatUIKitChatAIFeatures` still resolves** — delete the `..aiFeature = …` line because the *setter* is gone, not the class.
|
|
48
|
+
|
|
49
|
+
**3. GetX controllers → BLoC.** `CometChatMessagesController`, `CometChatOngoingCallController` and friends are gone; v6 widgets own their blocs internally. Delete the controller wiring; read list state via `stateCallBack` / `onLoad` instead (`-events`).
|
|
50
|
+
|
|
51
|
+
**4. Renames.** `CometChatEditPreview` → `CometChatMessagePreview` · `CometChatCompactMessageComposer` → `CometChatMessageComposer` · the AI views gained a `View` suffix (`CometChatAISmartReplies` → `CometChatAISmartRepliesView`, and the same for conversation-starter / summary) · call-log detail widgets folded into `CometChatCallLogs`.
|
|
52
|
+
|
|
53
|
+
**5. Imports + barrels — budget for this one; it breaks the most files.** `package:cometchat_uikit_shared/...` and the whole `cometchat_calls_uikit` **package** no longer resolve. Call widgets moved behind the **calls barrel** inside the chat package — a screen using them imports both (`-calls`).
|
|
54
|
+
The trap: **the v5 calls package re-exported the chat kit, the v6 calls barrel does not.** Every file that imported only the calls package silently loses `CometChatUIKit`, `CometChatThemeHelper`, the theme classes and `Translations`. On the real `sample_app` this was **94 of 119** post-bump errors — more than all removed symbols combined. Re-point the imports, then add the chat barrel wherever a chat symbol reports undefined.
|
|
55
|
+
|
|
56
|
+
**Beyond the five: things that fail as ordinary type errors.** Changed callback signatures (`CometChatConfirmDialog`), a slot whose return type changed (`options` → `trailingView`), renamed props (`messageId` → `goToMessageId`), and an app that **subclassed** a kit list controller (now a `ChangeNotifier`, so `GetBuilder` rejects it). Nothing greps for these — the table in `references/migration-guide.md` lists each with its fix.
|
|
57
|
+
|
|
58
|
+
## Also check
|
|
59
|
+
- **Banned members** — no v6 widget; use the SDK (`BannedGroupMembersRequestBuilder` + `unbanGroupMember`) to keep the ban round-trip closed.
|
|
60
|
+
- **Custom message types** — v5 templates still map to `CometChatMessageTemplate`, but defaults now come from `MessageTemplateUtils` (`-components`).
|
|
61
|
+
- **Text formatters** — `CometChatTextFormatter` is abstract in v6 and requires `init`, `getMessageInputTextStyle`, `handlePreMessageSend`, `onChange`, `onScrollToBottom`. A v5 subclass will not compile until those exist.
|
|
62
|
+
- **Theming** — the v5 palette holder is gone; v6 uses `ThemeData.extensions` with `CometChatColorPalette` (`-customization`).
|
|
63
|
+
- **Init** — consider moving to `initFromSettings` + `cometchat-settings.json` for telemetry attribution while you are here (core). **It does not fit every app:** one that takes App ID / region / auth key at runtime (a credentials screen, multi-tenant switching) cannot express that in a static asset — keep `UIKitSettingsBuilder` there and say why.
|
|
64
|
+
|
|
65
|
+
## Common pitfalls (BAKED)
|
|
66
|
+
- **Porting extension registration** instead of deleting it — the #1 v5→v6 error.
|
|
67
|
+
- **Looking for a v6 shell** — there isn't one; compose the screens.
|
|
68
|
+
- **Leaving `cometchat_uikit_shared` or `cometchat_calls_uikit` in pubspec** → unresolved imports.
|
|
69
|
+
- **Re-pointing the calls import without adding the chat barrel** → a wave of "undefined" chat symbols that look like removals and are not.
|
|
70
|
+
- **Mixing majors** — never run v5 and v6 side by side; finish the migration.
|
|
71
|
+
- **Bulk find-and-replace without reading** — the shell→composition change is structural, not a rename.
|
|
72
|
+
- **Forgetting the platform floors** (`minSdk 26`, iOS `15.1` — the docs' 24 / 13.0 are too low) → the build fails after the bump, which is exactly when it is hardest to attribute.
|
|
73
|
+
|
|
74
|
+
## Verify it works
|
|
75
|
+
`flutter analyze` is clean; no symbol from the removed map remains (grep it); the app builds on both platforms; chat renders, messages send/receive, threads and search still work; calling (if used) still rings with both barrels imported. Then re-run the core "Verify before done".
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# migration-guide — the v5 → v6 removed-symbol map
|
|
2
|
+
|
|
3
|
+
Everything here is **compiled against the published `cometchat_chat_uikit` 6.1.0**. Provenance:
|
|
4
|
+
`COVERAGE-flutter-v6.md` (the Phase-B coverage-parity diff), plus what a real v5→v6 migration of the
|
|
5
|
+
`cometchat-uikit-flutter` `sample_app` turned up. Grep for these; each row says what to do.
|
|
6
|
+
|
|
7
|
+
> **A removed symbol is the easy half.** The sections below the symbol tables — barrels, changed
|
|
8
|
+
> signatures, subclassed controllers — are what actually consume the time, because the analyzer
|
|
9
|
+
> reports them as ordinary type errors with no hint that a migration caused them.
|
|
10
|
+
|
|
11
|
+
## Removed — combined shells (compose instead)
|
|
12
|
+
| Removed | Replacement |
|
|
13
|
+
|---|---|
|
|
14
|
+
| `CometChatConversationsWithMessages` | `CometChatConversations` + a pushed message screen |
|
|
15
|
+
| `CometChatUsersWithMessages` | `CometChatUsers` + push |
|
|
16
|
+
| `CometChatGroupsWithMessages` | `CometChatGroups` + push |
|
|
17
|
+
| `CometChatMessages` | `CometChatMessageHeader` + `CometChatMessageList` + `CometChatMessageComposer` |
|
|
18
|
+
| `CometChatUI` · `CometChatMessenger` · `CometChatChat` | compose the screen (`-placement`) |
|
|
19
|
+
| `CometChatUserList` · `CometChatContactList` · `CometChatChatList` | `CometChatUsers` · `CometChatConversations` |
|
|
20
|
+
| `CometChatBannedMembers` | no widget — SDK `BannedGroupMembersRequestBuilder` + `unbanGroupMember` |
|
|
21
|
+
| `CometChatCallLogHistory` · `CometChatCallLogParticipants` · `CometChatCallLogRecordings` | folded into `CometChatCallLogs` (+ `guide-call-log-details`) |
|
|
22
|
+
|
|
23
|
+
## Removed — the extension architecture (DELETE, do not port)
|
|
24
|
+
**The builder setters are gone** — `..extensions` · `..aiFeature` · `..callingExtension` on
|
|
25
|
+
`UIKitSettingsBuilder` (compiler-verified vs 6.1.0: all three report `undefined_setter`). So is
|
|
26
|
+
`CometChatUIKitChatExtensions` · `CometChatCallingExtension` · `DataSource` · `ExtensionsDataSource` ·
|
|
27
|
+
`ChatConfigurator` · every `*Extension` / `*ExtensionDecorator` · `CometChatUIKit.getDataSource()`.
|
|
28
|
+
> **`CometChatUIKitChatAIFeatures` still resolves** and is NOT a removed symbol — an earlier revision
|
|
29
|
+
> of this table listed it wrongly. Delete the `..aiFeature = …` line because the *setter* is gone, not
|
|
30
|
+
> because the class is.
|
|
31
|
+
> **Calling is not simply deleted.** `..callingExtension` had a replacement, not a removal: on the
|
|
32
|
+
> classic builder it becomes `..enableCalls = true` + `..callingConfiguration = CallingConfiguration()`
|
|
33
|
+
> (`../../cometchat-flutter-v6-calls/SKILL.md`); on `initFromSettings` it is `uiKit.enableCalling`.
|
|
34
|
+
> Dropping the line without this pair leaves an app whose call buttons never appear, with no error.
|
|
35
|
+
> v6 handles extensions through `MessageTemplateUtils` with **zero** registration. Enable in the
|
|
36
|
+
> Dashboard and delete the code. For defaults previously read off the DataSource:
|
|
37
|
+
> `MessageTemplateUtils.getTextMessageOptions(...)` · `.getAllMessageTypes()` · `.getAllMessageCategories()`.
|
|
38
|
+
|
|
39
|
+
## Removed — GetX controllers (v6 is BLoC)
|
|
40
|
+
`CometChatMessagesController` · `CometChatOngoingCallController` · `CometChatOngoingCallView` ·
|
|
41
|
+
`CometChatOngoingCallService` · `CometChatRTCView` / `Builder` / `Listener` ·
|
|
42
|
+
`CometChatDisplayIncomingCallOverlay`.
|
|
43
|
+
> Widgets own their blocs. Read list state with `stateCallBack` / `onLoad`; do not re-create a controller layer.
|
|
44
|
+
|
|
45
|
+
## Renamed
|
|
46
|
+
| v5 | v6 |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `CometChatEditPreview` | `CometChatMessagePreview` |
|
|
49
|
+
| `CometChatCompactMessageComposer` | `CometChatMessageComposer` |
|
|
50
|
+
| `CometChatAISmartReplies` | `CometChatAISmartRepliesView` |
|
|
51
|
+
| `CometChatAIConversationStarter` | `CometChatAIConversationStarterView` |
|
|
52
|
+
| `CometChatAIConversationSummary` | `CometChatAIConversationSummaryView` |
|
|
53
|
+
|
|
54
|
+
## Not public in v6 (app-sample or internal — do not emit)
|
|
55
|
+
`CometChatApp` · `CometChatAppState` · `CometChatBuilderRoot` · `CometChatBuilderSettings` ·
|
|
56
|
+
`CometChatConfig` · `CometChatService` / `Impl` · `CometChatToken` · `CometChatActionSheet` ·
|
|
57
|
+
`CometChatMessageView` · `CometChatCardBubble` · `CometChatImageBubbleState` · `CometChatReceiptStyle` ·
|
|
58
|
+
`CometChatUserOption` · `CometChatReverseListProtocol`.
|
|
59
|
+
> `CometChatConfig` is a name the getting-started guide tells you to create yourself — if the app has one,
|
|
60
|
+
> it is the app's own class and stays.
|
|
61
|
+
|
|
62
|
+
## Renamed / relocated, not removed
|
|
63
|
+
`CometChatSoundManager` → **`SoundManager`** (un-prefixed singleton;
|
|
64
|
+
`SoundManager().play(sound: Sound.incomingMessage)` / `.stop()`, compiler-verified vs 6.1.0). It looked
|
|
65
|
+
missing only because the catalog tracks `CometChat*` symbols; the class is public and importable.
|
|
66
|
+
|
|
67
|
+
## Localization — use `CometChatLocalize`
|
|
68
|
+
Flutter localizes through **`CometChatLocalize`**, the same class as the other families: register its
|
|
69
|
+
delegate in `MaterialApp.localizationsDelegates` and read/override strings through it. Fetch the exact
|
|
70
|
+
Flutter API from the live `localize` page (`references/docs-map.md` → Localization).
|
|
71
|
+
> **[STAGED — needs the UI Kit change]** `CometChatLocalize` requires a `cometchat_chat_uikit` version
|
|
72
|
+
> that exposes it; the pinned **6.1.0 does not** (it exposes `Translations`). Bump the pin + refresh
|
|
73
|
+
> `catalogs/flutter-v6.json` when that kit ships — until then Flutter localization emitted this way
|
|
74
|
+
> will not compile. (The barrel-import notes below still describe the 6.1.0 shape.)
|
|
75
|
+
|
|
76
|
+
## Imports — expect this to break the MOST files
|
|
77
|
+
- `package:cometchat_uikit_shared/...` → **gone**. Everything is `package:cometchat_chat_uikit/cometchat_chat_uikit.dart`.
|
|
78
|
+
- `package:cometchat_calls_uikit/...` → **gone as a package**. v6 folds calling into the chat package
|
|
79
|
+
behind a second barrel: `package:cometchat_chat_uikit/cometchat_calls_uikit.dart`.
|
|
80
|
+
- **The v5 `cometchat_calls_uikit` package RE-EXPORTED the chat kit; the v6 calls barrel does not.**
|
|
81
|
+
Any file that imported only the calls package was getting `CometChatUIKit`, `CometChatThemeHelper`,
|
|
82
|
+
`CometChatColorPalette`, `CometChatTypography`, `CometChatSpacing`, `Translations` … for free, and
|
|
83
|
+
loses all of them the moment the import is re-pointed. Add the chat barrel to every such file.
|
|
84
|
+
> Measured on the v5 `sample_app`: this one change accounted for **94 of 119** post-bump errors —
|
|
85
|
+
> far more than every removed symbol combined. Re-point the imports, then immediately add the chat
|
|
86
|
+
> barrel wherever the analyzer reports a chat symbol as undefined; do not chase them individually.
|
|
87
|
+
- **Watch prefixed imports.** `import '…/cometchat_calls_uikit.dart' as cc;` used to reach chat
|
|
88
|
+
symbols through `cc.` — repoint the prefix at the chat barrel, not just the bare import.
|
|
89
|
+
- **`Translations` lives in the CHAT barrel.** In v5 it came from `cometchat_uikit_shared` (gone in v6);
|
|
90
|
+
the live `localize` page now documents the chat-barrel `Translations` path (DOCS-BACKLOG F7 corrected
|
|
91
|
+
upstream). It is not a `CometChat*` name, so it does not appear in the catalog — that absence is not
|
|
92
|
+
evidence it was removed.
|
|
93
|
+
|
|
94
|
+
## Changed signatures & props (compile errors, not missing symbols)
|
|
95
|
+
These resolve under both majors, so nothing greps for them — the analyzer just reports a type error.
|
|
96
|
+
All compiler-verified vs 6.1.0.
|
|
97
|
+
|
|
98
|
+
| v5 | v6 | Note |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| `CometChatConfirmDialog(onConfirm: () {…}, onCancel: () {…})` | `onConfirm: (BuildContext c) {…}` | both callbacks gained a context; a method tear-off needs wrapping — `onConfirm: (_) => _leave()` |
|
|
101
|
+
| `CometChatMessageHeader(options: (user, group, context) => List<CometChatOption>)` | `trailingView: (user, group, context) => List<Widget>` | **the return type changed**; each `CometChatOption(title:, iconWidget:, onClick:)` becomes the `IconButton(tooltip:, icon:, onPressed:)` it rendered as |
|
|
102
|
+
| `CometChatMessageList(messageId: …)` | `goToMessageId: …` | |
|
|
103
|
+
| `CometChatUsers(controllerTag: …)` | *removed* | a GetX tag; v6 widgets own their bloc |
|
|
104
|
+
| `voiceCallButtonPadding` · `videoCallButtonPadding` | *removed* | on the call-buttons style |
|
|
105
|
+
| `AssetConstants` | `CometChatAssetConstants` | now an **extension**, not a class, and the member set differs — for app-owned chrome a Material `Icon` is usually the cleaner port |
|
|
106
|
+
| `CallStateController.instance` (`isActiveCall` / `isActiveOutgoingCall` / `isActiveIncomingCall`) | *removed, no global equivalent* | v6 owns call state internally. Track it in the host from the `CometChatCallEvents` it already subscribes to — `ccOutgoingCall` / `ccCallAccepted` set it, `ccCallEnded` / `ccCallRejected` clear it |
|
|
107
|
+
|
|
108
|
+
## If the app SUBCLASSED a kit list controller
|
|
109
|
+
The GetX section above covers apps that *used* the kit's controllers. An app that **extended**
|
|
110
|
+
`CometChatListController` / `CometChatSearchListController` fails differently and more confusingly:
|
|
111
|
+
the base classes still exist and still provide `list` · `isLoading` · `hasError` · `error` ·
|
|
112
|
+
`hasMoreItems`, so nothing looks removed — but they are **`ChangeNotifier`s in v6, not
|
|
113
|
+
`GetxController`s**, so every `GetBuilder<T>` around them fails the `T extends GetxController` bound.
|
|
114
|
+
|
|
115
|
+
The fix is a widget swap, not a rewrite — the builder body is untouched:
|
|
116
|
+
```dart
|
|
117
|
+
import 'package:flutter/material.dart';
|
|
118
|
+
|
|
119
|
+
Widget rebuildOn(ChangeNotifier controller, Widget Function() body) =>
|
|
120
|
+
// was: GetBuilder(init: controller, builder: (value) => …)
|
|
121
|
+
ListenableBuilder(listenable: controller, builder: (context, _) => body());
|
|
122
|
+
```
|
|
123
|
+
Read the controller from the enclosing scope instead of the builder's `value` argument.
|
|
124
|
+
|
|
125
|
+
## Peer dependencies the bump forces
|
|
126
|
+
The kit tightens transitive constraints, and `pub get` fails outright until the app matches. Seen on
|
|
127
|
+
the v5 `sample_app`: `permission_handler ^11.3.1` had to go to `^12.0.3` because 6.1.0 requires
|
|
128
|
+
`^12.0.0`. Read the solver's message — it names the package and the version to move to — and bump the
|
|
129
|
+
**app's** pin rather than downgrading the kit.
|
|
130
|
+
|
|
131
|
+
## Platform floors after the bump
|
|
132
|
+
Android `minSdk = 26`; iOS `platform :ios, '15.1'`. The docs say 24 / 13.0; both are too low, because `cometchat_chat_uikit` depends on `cometchat_calls_sdk` unconditionally and that package pins 26 / 15.1 (5.0.7). Verified against the installed packages, not the page — DOCS-BACKLOG D7.
|