cometchat-android-v6-troubleshooting

v2026.09.25

Diagnose a broken CometChat Android v6 integration — dependency and version conflicts, init/login failures, blank or stuck screens, empty lists, missing realtime updates, keyboard/inset layout bugs, release-only crashes, permission and push problems — with a symptom → cause → fix path and what evidence to collect before escalating. Triggers: 'cometchat android not working', 'could not find com.cometchat', 'chat screen is blank android', 'messages not arriving in real time android', 'composer hidden by keyboard'.

GitHub
安装命令
npx skhub add cometchat/cometchat-android-v6-troubleshooting
Markdown
SKILL.md

Ground truth: catalog android-v6.json + the kit's real error codes (ERR_SETTINGS_FILE_NOT_FOUND, ERR_SETTINGS_INVALID, CometChatException.code/message) + the live page /ui-kit/android/troubleshooting. This skill goes DEEPER than core/references/troubleshooting.md (the quick table) — read that first for the common four; come here for the full path and for escalation.

Companion skills (read first)

  • cometchat-android-v6-core — install, credentials, initFromSettings → login → render, references/troubleshooting.md (the first-stop table), references/anti-patterns.md, references/layout.md. Assumed here, never repeated.

Use this skill when

"it doesn't work", "the build fails", "the chat screen is blank/stuck", "messages don't arrive until I reopen", "the composer is under the keyboard", "it works in debug but crashes in release", "calls/push don't work" — and you need a systematic path, not a guess.

Diagnostics entry — run these three, in order, before theorizing

  1. Does it BUILD? ./gradlew :app:assembleDebug. Dependency-resolution and duplicate-class failures are config, not code.
  2. What does LOGCAT say at startup? Filter for CometChat. You are looking for exactly two things: init's onSuccess/onError, then login's onSuccess/onError. Almost every "nothing works" report is one of these two failing and being swallowed — if your callbacks don't log e.code + e.message, fix that first; an empty onError {} is the bug.
  3. What's the SESSION state? CometChatUIKit.getLoggedInUser() — null after a "successful" login means login didn't actually complete.

Symptom → root cause → fix

Build / dependencies

SymptomCauseFix
Could not find com.cometchat:chatuikit-…CometChat Maven repo missingadd maven("https://dl.cloudsmith.io/public/cometchat/cometchat/maven/") to settings.gradle(.kts) dependencyResolutionManagement.repositories
sendMessage returns onSuccess but the message NEVER arrives (receiver connected, listener registered)a Dashboard moderation rule blocked it server-side — the send genuinely succeeded, so no client error is raised. The UI Kit surfaces "Your message was blocked due to moderation policies"; a headless build sees nothing at allDashboard → Moderation → check rules/lists. Do NOT chase INTERNET permission or connection status — both are healthy in this case
Duplicate class android.support.v4.* (jetifier off) or contains AndroidX dependencies, but the 'android.useAndroidX' property is not enabled (useAndroidX off) — on a clean, single-cohort appNOT a version conflict. chat-sdk-android pulls a pre-AndroidX transitive (android.arch.lifecycle:extensions → com.android.support:support-compat:26.1.0) that collides with androidx.coreset BOTH in gradle.properties: android.useAndroidX=true + android.enableJetifier=true (verified on a clean app; removing either reproduces it)
Duplicate class org.jetbrains.annotations.* at dexingio.noties:prism4j pulls annotations-java5:17 vs annotations:23configurations.all { exclude(group = "org.jetbrains", module = "annotations-java5") }
Execution failed for JetifyTransform: react-android-*.aar at checkDebugAarMetadata — appears only AFTER adding callingcalls-sdk-android 5.0.x bundles a React-Native stack (react-android/hermes/react-native-webrtc) that Jetifier can't transform, and core mandates android.enableJetifier=true for the Chat SDK's pre-AndroidX transitive — so the two collide the moment calling is addedadd to gradle.properties: android.jetifier.ignorelist=react-android,hermes-android,react-native-webrtc (they're already AndroidX). See cometchat-android-v6-calls
requires Android Gradle plugin 8.9.1 or higherAGP floor is 8.9.1, not 8.9bump AGP
kotlin-stdlib … metadata is 2.2.0, expected 2.0.0 / internal compiler errorKotlin floor is 2.1+; 2.0.21 failsbump Kotlin
Duplicate class / conflicting versionsversion_conflict: a v4/v5 chat-uikit-android alongside v6 chatuikit-*remove the old artifact — never mix majors; migrate via cometchat-android-v6-migration
Odd theme/duplicate UI, two kits resolveboth cohorts (chatuikit-kotlin-android AND chatuikit-compose-android) in one modulepick ONE cohort
Unsupported class file major version / Kotlin errorsJVM target mismatchJVM 11: compileOptions + kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) } } (fully-qualified — a mid-file import breaks a .kts; the kotlinOptions{} DSL is deprecated/removed on Kotlin 2.2+)

Init / login

SymptomCauseFix
ERR_SETTINGS_FILE_NOT_FOUNDno app/src/main/assets/cometchat-settings.jsoncreate it (core §4); confirm it's in assets/, not res/
ERR_SETTINGS_INVALIDappId or region missing/empty in that JSONfill both
init onError about app/authwrong Region (most common) or wrong App IDmatch the Dashboard exactly (us/eu/in)
login onError ERR_UID_NOT_FOUNDthe UID doesn't exist in this appuse a real user from Dashboard → Users (fresh apps seed cometchat-uid-1…), or create it server-side
login "fails silently" / nothing happenslogin called before init resolved (docs warning)call login only inside init's onSuccess
login error on an already-logged-in userre-login without logoutguard with getLoggedInUser() != null; to switch users, logout first
Auth works debug, fails releaserelease build has no Auth Key but still uses login(uid)use loginWithAuthToken (→ cometchat-android-v6-production)

Blank / empty / stuck UI

SymptomCauseFix
Splash never advancesthe gate never unlocks because an onError is swallowedlog + render errors; never leave onError empty
Chat screen blank/whiteUI rendered before login resolvedgate the UI on login success
Component renders as a sliver / crammedwrap_content or an unsized parent — the kit fills its parentmatch_parent/0dp+weight (Views) or fillMaxSize()/weight(1f) (Compose) — core/references/layout.md
Conversation list emptyfresh app with no conversations, or wrong credentials/regionseed a conversation from another user or the Dashboard; re-check App ID/region
List scrolls oddly / doesn't load moreCometChatMessageList nested in another scrollablenever nest it in a ScrollView/verticalScroll Column

Realtime / features

SymptomCauseFix
Messages only appear after reopeninglistener not registered, or removed too earlyregister in the right lifecycle; remove only on teardown (cometchat-android-v6-events)
Nothing realtime at allno internet permission, or connection downandroid.permission.INTERNET in the manifest; check connection status (SDK getConnectionStatus/addConnectionListener)
A feature doesn't appearDashboard toggle off, or session started before enablingenable in Dashboard for THIS app, then re-login (cometchat-android-v6-extensions)
Thread replies never sendthread list/composer missing the user/group target (parent id alone isn't enough)pass BOTH the conversation target and the parent message id
Tapping an affordance does nothingdefault-on affordance not wired (thread/search)wire the destination or hide it

Layout / platform

SymptomCauseFix
Composer hidden by the keyboardno IME handlingwindowSoftInputMode="adjustResize" (Views) / imePadding() (Compose)
Header/composer under the status or nav baredge-to-edge without insetsenableEdgeToEdge() + inset padding (core/references/layout.md)
Crash only in releaseshrinking/obfuscationreproduce on the release variant, read the real trace, then check docs before adding keep rules
Camera/mic fails on a callruntime permissions not grantedrequest CAMERA/RECORD_AUDIO (cometchat-android-v6-calls)
Push never arrivesregistration failed / no onNewToken / wrong Provider IDcometchat-android-v6-push verify path
Crash: lifecycle-related on a kit viewhost isn't a lifecycle-aware Activityuse AppCompatActivity/ComponentActivity/FragmentActivity

Escalating to CometChat support — bring this

Kit cohort + exact version (chatuikit-compose-android / chatuikit-kotlin-android 6.0.x) and chat-sdk-android version · App ID + region (never the Auth Key) · the full CometChatException (code AND message) from init/login/the failing call · a minimal repro (which component, which screen) · logcat around the failure · device/API level · whether it reproduces in debug and release. Confirm first that it isn't a version_conflict, a Region mismatch, or a swallowed onError — those three cover most reports.

Common pitfalls (of debugging itself)

Empty onError blocks · assuming the kit is broken when the container is unsized · changing several things at once · testing against a Dashboard app you didn't verify · treating a debug-only symptom as release-safe (or vice versa) · asking support before capturing the exception code.

Verify it works

After the fix: rebuild, watch logcat for init onSuccess → login onSuccess, and re-run the original repro. Then re-check the surrounding invariants — surface fills its parent, keyboard/insets fine, thread and search round-trip, realtime arrives without reopening, and (if touched) the release variant still runs. Confirm the fix's cause was the one you claimed; if you changed several things, revert the unnecessary ones.

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.25

发布时间

2026年9月25日

分类

未分类

许可证

MIT

源路径

skills/cometchat-android-v6-troubleshooting

默认分支

main

最新提交

f92ff9e

Tree SHA

f40470f