Set parent="CometChatTheme.DayNight" in your themes.xml style and apply it in AndroidManifest.xml
Dark mode not working
System dark mode not propagated to CometChat theme
Ensure your app theme parent is CometChatTheme.DayNight — it inherits Theme.MaterialComponents.DayNight.NoActionBar and responds to system dark mode automatically
Custom colors not applying
Overriding wrong theme attributes
Check the Color Resources page for the correct attribute names
Font not changing
Custom font set on wrong theme attribute
Override cometchatFontFamily in your theme to apply a custom font globally
Styles leak into host app
CometChat theme attributes conflict with app theme
Scope CometChat theme overrides to the Activity hosting CometChat components rather than the application-level theme
Styles apply to some screens but not others
Activity uses a different theme
Verify the Activity hosting CometChat components has android:theme set to your custom theme in AndroidManifest.xml
Changes apply in light mode but not dark mode
Only values/themes.xml updated
Update both values/themes.xml and values-night/themes.xml with your overrides
Drawable changes not visible
Stale build cache
Rebuild the app after adding or replacing drawable files
Bubble style not applying
Custom style linked to wrong hub
Confirm the style is linked inside the correct hub (CustomIncomingMessageBubbleStyle or CustomOutgoingMessageBubbleStyle). See Message Bubble Styling
Only incoming or outgoing bubble changes
Separate styles required per direction
Define separate styles for incoming and outgoing bubbles — changing one does not affect the other
Component style attribute not recognized
Wrong attribute name
Confirm the exact attribute name in the linked attribute reference file on the component page
Compose theme not applying (chatuikit-jetpack)
Not wrapping in CometChatTheme composable
In chatuikit-jetpack, wrap your CometChat composables inside CometChatTheme { } to apply theming
Ensure both init() and login() resolve before inflating any CometChat view. Use a callback or state flag to gate rendering
List is empty despite having data
User not logged in
Verify a user is logged in with CometChatUIKit.login() before displaying the component. Components fetch data for the logged-in user only
Callback not firing
Wrong listener method or signature
Check the Actions section on the component page for the exact method name and parameter types
setOnItemClick not firing
Selection mode set to MULTIPLE
Item clicks may be consumed by selection logic. Set setSelectionMode(NONE) if you need standard click behavior
Messages not loading
Invalid User or Group object passed
Fetch the user or group via the SDK before passing it to the component
View not appearing in XML layout (chatuikit-kotlin)
Missing fully qualified class name
Use the full XML element name, e.g. <com.cometchat.uikit.kotlin.presentation.conversations.ui.CometChatConversations />
Custom view not rendering
createView returns null
If createView returns null, the default view is used. Return a valid inflated View to replace the default
ActivityResultLauncher not initialized
MessageComposer created outside onCreate
Create CometChatMessageComposer in the onCreate state of an Activity. In a Fragment, ensure the Fragment is loaded during the Activity’s onCreate
Sticker button disappears after setting auxiliary view
Auxiliary button overridden
Retrieve default auxiliary buttons via CometChatUIKit.getDataSource().getAuxiliaryOption() and include them in your custom layout before calling setAuxiliaryButtonView()
Typing indicator not showing
Custom subtitle view overrides it
The typing indicator renders in the default subtitle area. When you provide a custom setSubtitleView, it replaces the entire subtitle layout including the typing indicator
disableSoundForMessages(true) has no effect
Called after component starts loading
Call disableSoundForMessages(true) before the component starts loading
Filters not applied
Builder not set on component
Ensure you call the appropriate set*RequestBuilder(builder) method on the component instance after creating and configuring the builder
ProGuard/R8 strips CometChat classes
Missing keep rules for CometChat
Add -keep class com.cometchat.** { *; } to your proguard-rules.pro file
Jetifier errors during build
android.enableJetifier=true not set
Add android.enableJetifier=true to gradle.properties
CometChatConversationList not found
Component renamed in v6
Use CometChatConversations instead of CometChatConversationList
Call CometChatUIKit.init() first and wait for the onSuccess callback before calling login(), sendTextMessage(), or any other UI Kit method
Messages sent but UI not updating
Using SDK method instead of UI Kit wrapper
Use CometChatUIKit.sendTextMessage() instead of CometChat.sendTextMessage(). The UI Kit wrapper automatically updates Message List and Conversations components via internal events
Failures silently ignored
onError callback left empty
Every UI Kit method accepts a CallbackListener with onError. Log the CometChatException or display an error message to the user
Session conflicts after switching users
Previous user not logged out
Call CometChatUIKit.logout() and wait for onSuccess before logging in a different user
Custom message not appearing in Message List
No MessageTemplate registered
Custom messages and custom interactive messages require a registered MessageTemplate that defines how to render them
Interactive message missing sender or receiver
sender or receiver not set
For FormMessage, CardMessage, SchedulerMessage, and CustomInteractiveMessage, set both sender (via CometChatUIKit.getLoggedInUser()) and receiver (the target User or Group object) before sending
Create a CometChatMentionsFormatter, add it to a List<CometChatTextFormatter>, and pass the list to the component via setTextFormatters()
setTextFormatters() has no effect
Called with empty list
Add at least one formatter to the list before calling setTextFormatters()
Custom mention style not applied in composer
Style not set on formatter
Call mentionFormatter.setMessageComposerMentionTextStyle(context, R.style.YourStyle) before passing the formatter to the component
Custom mention style not applied in bubbles
Only one direction styled
Call both setOutgoingBubbleMentionTextStyle() and setIncomingBubbleMentionTextStyle() — setting only one leaves the other with default style
Shortcut suggestions not appearing
Formatter not registered or extension disabled
Confirm the ShortCutFormatter is added to the formatters list via setTextFormatters(), and that the message-shortcuts extension is enabled in the Dashboard
setOnMentionClick callback not firing
Formatter not passed to component
Ensure the formatter is passed to the component via setTextFormatters() after calling setOnMentionClick()