Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cometchat avatar

Cometchat Flutter V5 Troubleshooting

  • 5 installs
  • 70 repo stars
  • Updated June 23, 2026
  • cometchat/cometchat-skills

Debug CometChat Flutter UIKit v5 issues with a symptom-to-cause lookup covering init/login, layout, theming, and GetX controller errors.

About

Provides symptom-to-cause tables and verification checks for CometChat Flutter UIKit v5 problems. A developer uses it when a v5 chat integration fails to log in, load messages, or render theming correctly.

  • Symptom/cause/fix tables for init, login, and UI/layout issues
  • Covers theme jank and GetX controller-not-found errors

Cometchat Flutter V5 Troubleshooting by the numbers

  • 5 all-time installs (skills.sh)
  • Ranked #441 of 596 Debugging skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cometchat/cometchat-skills --skill cometchat-flutter-v5-troubleshooting

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs5
repo stars70
Last updatedJune 23, 2026
Repositorycometchat/cometchat-skills

What it does

Debug CometChat Flutter UIKit v5 issues with a symptom-to-cause lookup covering init/login, layout, theming, and GetX controller errors.

Files

SKILL.mdMarkdownGitHub ↗

CometChat Flutter UIKit v5 — Troubleshooting

Symptom-to-cause lookup and verification checks.

Init / Login Issues

SymptomCauseFix
"Authentication null"CometChatUIKit.init() not calledCall init before login/components
"APP ID null"appId not set in UIKitSettingsBuilderSet ..appId = 'YOUR_APP_ID'
Login hangs silentlyinit() hasn't completed yetAwait init completion via onSuccess before calling login
"ERR_INVALID_REGION"Uppercase regionUse lowercase: 'us', 'eu', 'in'
Login succeeds but no messages loadsubscriptionType not setSet ..subscriptionType = CometChatSubscriptionType.allUsers

UI / Layout Issues

SymptomCauseFix
Theme jank during keyboard animationCometChatThemeHelper.getColorPalette(context) called in build()Cache in didChangeDependencies()
Components don't reflect theme changesUsing _themeInitialized flagRemove flag — cache unconditionally in didChangeDependencies()
Hardcoded colors don't match dark modeUsing Color(0xFF...) instead of theme tokensUse colorPalette.primary, colorPalette.textPrimary, etc.
colorPalette.white doesn't change in dark modewhite/black/transparent are NOT brightness-awareUse colorPalette.neutral50 for brightness-aware white

GetX Issues

SymptomCauseFix
"GetX controller not found"Using Get.find() before Get.put()Let UIKit components manage their own controllers
Controller not disposedManually created controller without cleanupUse controllerTag or let widget manage lifecycle
Multiple controller instancesCreating controller outside the widgetLet the widget's initState() handle Get.put()
Get.delete() throwsDeleting controller that was created with controllerTagOnly delete if controllerTag was null (widget-managed)

Listener / Event Issues

SymptomCauseFix
Duplicate events firingListener not removed in dispose()Always remove with same ID used to register
Listener ID collisionHardcoded listener ID stringUse timestamp: 'id_${DateTime.now().millisecondsSinceEpoch}'
No typing indicatorssubscriptionType not setSet CometChatSubscriptionType.allUsers
No online/offline statussubscriptionType not setSame fix
ccMessageSent not firingUsing CometChat.sendMessage() directlyUse CometChatUIKit.sendTextMessage() instead
Events fire after screen disposedListener not removedRemove in dispose() / onClose()

Call Issues

SymptomCauseFix
Incoming call overlay doesn't showCallNavigationContext.navigatorKey not setSet on MaterialApp.navigatorKey
Call buttons don't appearCometChatCallingExtension not registeredSet ..callingExtension = CometChatCallingExtension() on UIKitSettingsBuilder
Call fails silentlyCamera/microphone permissions not grantedRequest Permission.camera and Permission.microphone
Incoming calls not handledCall listener not registered globallyRegister CallListener + CometChatCallEventListener at dashboard level

Push Notification Issues

SymptomCauseFix
No push notificationsToken not registeredCall PNRegistry.registerPNService(token, isFcm, isVoip)
Notifications after logoutToken not unregisteredCall PNRegistry.unregisterPNService() before logout
Duplicate notificationsForeground notification shown for active conversationCheck conversationId match before showing
VoIP call notification doesn't showBackground handler not top-levelUse @pragma('vm:entry-point') on top-level function
Tap doesn't navigateCallNavigationContext.navigatorKey.currentContext is nullEnsure navigatorKey is set on MaterialApp
iOS VoIP token not registeredMissing VoIP background modeEnable Voice over IP in Xcode Background Modes

Android Build Issues

SymptomCauseFix
Release build crashMissing ProGuard keep rulesAdd -keep class com.cometchat.** { *; }
Build fails with minSdk errorminSdk too lowSet minSdk 26 in android/app/build.gradle
AndroidX conflictMissing AndroidX migrationSet android.useAndroidX=true in gradle.properties

iOS Build Issues

SymptomCauseFix
Camera/mic permission crashMissing Info.plist entriesAdd NSCameraUsageDescription, NSMicrophoneUsageDescription
Pod install failsCocoapods version mismatchRun pod repo update then pod install

Callback Signature Errors

SymptomCauseFix
Type error on CometChatUsers.onItemTapMissing BuildContext parameterSignature is Function(BuildContext, User)?
Type error on CometChatGroups.onItemTapMissing BuildContext parameterSignature is Function(BuildContext, Group)?
Type error on CometChatConversations.onItemTapExtra BuildContext parameterSignature is Function(Conversation)? — no BuildContext
Type error on CometChatGroupMembers.onItemTapExtra BuildContext parameterSignature is Function(GroupMember)? — no BuildContext

v5 vs v6 Drift Detection

If you see any of these in a v5 project, it's a v6 pattern that was accidentally used:

v6 Pattern (wrong in v5)v5 Equivalent
import 'package:flutter_bloc/flutter_bloc.dart'GetX — no BLoC in v5
extends Bloc<Event, State>extends GetxController
extends EquatableNot used in v5
ServiceLocator.get<T>()Get.find<T>() or let widget manage
Single cometchat_chat_uikit with calls built-inSeparate cometchat_calls_uikit package
Per-widget feature flags only — no BuilderSettingsBuilderSettings, BuilderColor, BuilderTypography
enableCalls: true + CallingConfiguration() on UIKitSettingsBuilder..callingExtension = CometChatCallingExtension()

Verify Checklist

Run through this when something isn't working:

  • [ ] CometChatUIKit.init() completes before any other CometChat call
  • [ ] subscriptionType set in UIKitSettingsBuilder
  • [ ] region is lowercase
  • [ ] Theme cached in didChangeDependencies(), not build()
  • [ ] All listeners registered with unique IDs
  • [ ] All listeners removed in dispose() / onClose()
  • [ ] CallNavigationContext.navigatorKey set on MaterialApp
  • [ ] CometChatCallingExtension() set if using calls
  • [ ] Push tokens registered after login
  • [ ] Push tokens unregistered before logout
  • [ ] ProGuard rules present for release builds
  • [ ] No v6 imports (flutter_bloc, equatable, BlocProvider / BlocBuilder)

Related skills

Debuggingfrontend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.