Skip to main content
FieldValue
Page typeTroubleshooting reference
ScopeAll CometChat Angular UIKit issues — initialization, rendering, theming, calling, extensions, AI Smart Chat Features, localization, sound, events
When to referenceWhen a component fails to render, data is missing, styling doesn’t apply, or a feature doesn’t appear

Initialization and Login

SymptomCauseFix
CometChatUIKit.init() fails silentlyInvalid App ID, Region, or Auth KeyDouble-check credentials from the CometChat Dashboard
Component doesn’t renderinit() not called or not awaited before renderingEnsure init() completes before mounting components. See Methods
Component renders but shows no dataUser not logged inCall CometChatUIKit.login() after init
Login fails with “UID not found”UID doesn’t exist in your CometChat appCreate the user via Dashboard, SDK, or API first
Blank screen after loginComponent mounted before init/login completesUse state to conditionally render after login resolves
getLoggedinUser() returns nullUser not logged in or session expiredCall login() or loginWithAuthToken() first
sendTextMessage() failsUser not logged in or invalid receiverEnsure login completes before sending messages
Auth Key exposed in productionUsing Auth Key instead of Auth TokenSwitch to Auth Token for production

Theming and CSS

SymptomCauseFix
CSS/theme not appliedMissing CSS importAdd @import url("@cometchat/chat-uikit-angular/styles/css-variables.css"); in your global styles
Overrides not applyingMissing .cometchat scope in selectorScope overrides under .cometchat
Component-level override not workingMissing .cometchat parent in selectorUse .cometchat .cometchat-conversations not just .cometchat-conversations
Dark mode unchangeddata-theme missing or mismatchSet data-theme="dark" on the wrapper
Font not changing--cometchat-font-family set on wrong elementSet on .cometchat
Token change has no visible effectToken doesn’t control the expected propertyCheck the theming documentation

Components

SymptomCauseFix
Callback not firingWrong output name or signatureCheck the Actions section on the component page for exact output name
Custom view not appearingReturning null from ng-templateEnsure ng-template returns valid content
Messages not loadingInvalid user/group object passedEnsure you fetch the user/group via SDK before passing to components

Calling

SymptomCauseFix
Call buttons not appearing in Message Header@cometchat/calls-sdk-javascript not installedRun npm install @cometchat/calls-sdk-javascript — UIKit auto-detects it
Incoming call screen not showingcometchat-incoming-call not in the component treeRender the component at the app root level so it can listen for incoming calls

Extensions

SymptomCauseFix
Extension feature not appearingExtension not activated in CometChat DashboardEnable the specific extension from your Dashboard
Stickers not showing in composerSticker extension not enabledActivate Sticker Extension in Dashboard
Polls option missing from action sheetPolls extension not enabledActivate Polls Extension in Dashboard
Link preview not rendering in messagesLink Preview extension not enabledActivate Link Preview Extension in Dashboard

AI Smart Chat Features

SymptomCauseFix
AI Smart Chat Features not appearingFeature not activated in CometChat DashboardEnable the specific AI feature from your Dashboard
Conversation Starter not showingFeature not enabled or no conversation contextEnsure Conversation Starter is activated in Dashboard
Smart Replies not appearing in composerFeature not enabled in DashboardEnsure Smart Replies is activated in Dashboard

Localization

SymptomCauseFix
UI text not translatedLanguage code not matching supported codesCheck the supported languages table in Localization
Custom translations not appearingaddTranslation called before initCall init first, then add translations
Date/time format unchangedLocalization config not appliedCheck the localization documentation for date format configuration

Sound

SymptomCauseFix
No sound playsBrowser autoplay policy blocks audio before user interactionhasInteracted() must return true — the user must interact with the page first
Custom sound not playingInvalid file path or unsupported formatEnsure the path is correct and the file is a valid audio format (WAV/MP3)
Sound keeps playingpause() not calledCall CometChatSoundManager.pause() to stop playback

Events

SymptomCauseFix
Event listener not firingSubscribed to wrong event nameCheck the Events page for exact event names
Duplicate event triggersMultiple subscriptions without cleanupUnsubscribe in ngOnDestroy
Event fires but UI doesn’t updateState not updated in event handlerEnsure you update component state in the handler

Component-Specific Troubleshooting

Base Elements

CometChatActionSheet

Actions Not Displaying
Ensure each action has the required properties:
Icons Not Showing
Icons use CSS mask, so ensure:
  1. Icon URLs are accessible
  2. Icons are SVG or PNG format
  3. Icon color is controlled by --cometchat-icon-color-highlight CSS variable
Keyboard Navigation Not Working
Ensure:
  1. The ActionSheet component has focus
  2. No other elements are capturing keyboard events
  3. The component is properly mounted in the DOM

CometChatConfirmDialog

Dialog Not Closing After Success
Ensure you’re calling setSuccess() and then hiding the dialog:
Loading State Persists
Always call either setSuccess() or setError():
ViewChild Undefined
Ensure the dialog is rendered before accessing it:

CometChatContextMenu

Menu Not Positioning Correctly
Ensure positioning configuration matches your use case:
Submenu Not Showing
Check that:
  1. You have more items than topMenuSize - 1
  2. Items have required properties (id, title, iconURL)
  3. The component is properly mounted in the DOM
Icons Not Displaying
Icons use CSS mask, so ensure:
  1. Icon URLs are accessible
  2. Icons are SVG or PNG format
  3. Icon color is controlled by --cometchat-icon-color-secondary CSS variable
Keyboard Navigation Not Working
Ensure:
  1. The submenu is open
  2. Focus is within the component
  3. No other elements are capturing keyboard events

CometChatDate

Date Not Displaying
If the date is not showing:
  • Verify timestamp is in seconds, not milliseconds
  • Ensure calendarObject is provided with at least one format property
  • Check that the timestamp is a valid number
Wrong Date Format
If the date format is incorrect:
  • Verify format tokens are correct (case-sensitive)
  • Check for typos in format strings
  • Ensure literal text is wrapped in square brackets [text]
Timezone Issues
The component uses the timezone configured in CometChatLocalize:

CometChatFullscreenViewer

Viewer Not Opening
Problem: The viewer doesn’t open when isOpen is set to true. Solution: Verify:
  1. isOpen property is properly bound with square brackets: [isOpen]="isViewerOpen"
  2. No JavaScript errors in console
  3. Component is properly imported in your module/component
  4. CSS for the viewer is loaded
Images/Videos Not Displaying
Problem: Media items are not showing in the viewer. Solution: Ensure your attachments have valid structure:
Verify that:
  1. URLs are accessible and not blocked by CORS
  2. type property is either 'image' or 'video'
  3. URLs point to actual media files, not HTML pages
Navigation Buttons Not Working
Problem: Previous/Next buttons don’t navigate through the gallery. Solution: Check that:
  1. You’re using gallery mode with attachments array (not single mode with url)
  2. Attachments array has more than one item
  3. No JavaScript errors in console
  4. Buttons are not disabled (check at boundaries)
Keyboard Navigation Not Working
Problem: Arrow keys don’t navigate through the gallery. Solution: Verify:
  1. Viewer is actually open (isOpen is true)
  2. You’re in gallery mode with multiple attachments
  3. No other keyboard event listeners are preventing default behavior
  4. Browser window has focus
Video Not Playing
Problem: Video displays but doesn’t play or shows error. Solution: Check:
  1. Video URL is valid and accessible
  2. Video format is supported by HTML5 video element (MP4, WebM, Ogg)
  3. No CORS issues blocking video playback
  4. Browser supports the video codec
Body Scroll Not Restored
Problem: Page remains unscrollable after closing the viewer. Solution: Ensure:
  1. You’re calling the closeClick event handler
  2. Setting isOpen to false in the handler
  3. Component is not being destroyed while open
Focus Not Returning After Close
Problem: Focus doesn’t return to the triggering element after closing. Solution: The component automatically handles focus restoration. If it’s not working:
  1. Ensure the triggering element still exists in the DOM
  2. Check that no other code is managing focus
  3. Verify the triggering element is focusable (has tabindex or is naturally focusable)
Sender Information Not Showing
Problem: Sender name and avatar are not displayed in the header. Solution: Provide sender information via one of these methods:
Index Display Not Showing
Problem: The “X of Y” counter is not visible. Solution: Verify:
  1. You’re using gallery mode with attachments array
  2. Attachments array has more than one item
  3. CSS for index display is not being overridden
  4. Localization key fullscreen_viewer_index exists
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the correct selector
  2. Variable names match exactly (including --cometchat- prefix)
  3. CSS specificity is sufficient

Conversations

CometChatConversations

Conversations Not Loading
Problem: Conversations list is empty or not loading. Solutions:
  1. Verify CometChat SDK is initialized and user is logged in
  2. Check network connectivity
  3. Verify API credentials are correct
  4. Check browser console for error messages
  5. Ensure conversationsRequestBuilder is properly configured
Real-Time Updates Not Working
Problem: New messages don’t appear automatically. Solutions:
  1. Verify WebSocket connection is established
  2. Check that listeners are properly set up
  3. Ensure component is not destroyed prematurely
  4. Check browser console for listener errors
Typing Indicators Not Showing
Problem: Typing indicators don’t appear. Solutions:
  1. Verify typing indicators are enabled in CometChat dashboard
  2. Check that hideUserStatus is not set to true
  3. Ensure typing events are being sent from other users
  4. Check listener setup in ConversationsService
Performance Issues with Large Lists
Problem: Slow scrolling or rendering with many conversations. Solutions:
  1. Reduce limit in conversationsRequestBuilder (default: 30)
  2. Enable virtual scrolling (future enhancement)
  3. Use trackBy function in custom templates
  4. Optimize custom template complexity
Custom Templates Not Rendering
Problem: Custom templates don’t appear. Solutions:
  1. Verify template reference variable name matches [templateView] binding
  2. Check that template is defined in the same component
  3. Ensure template context is properly typed
  4. Check browser console for template errors
Context Menu Not Working
Problem: Context menu doesn’t appear or actions don’t work. Solutions:
  1. Verify options function returns valid CometChatOption[]
  2. Check that onClick handlers are properly bound
  3. Ensure hideDeleteConversation is not hiding all options
  4. Check browser console for click handler errors
Selection Mode Issues
Problem: Selection doesn’t work or behaves unexpectedly. Solutions:
  1. Verify selectionMode is set to 'single' or 'multiple' (not 'none')
  2. Check that onSelect event handler is properly implemented
  3. Ensure selection state is managed correctly in parent component
  4. Check that selection controls are visible

Users & Groups

CometChatUsers

Users Not Loading
Problem: Users list is empty or not loading. Solutions:
  1. Verify CometChat SDK is initialized and user is logged in
  2. Check network connectivity
  3. Verify API credentials are correct
  4. Check browser console for error messages
  5. Ensure usersRequestBuilder is properly configured
Real-Time Updates Not Working
Problem: User status changes don’t appear automatically. Solutions:
  1. Verify WebSocket connection is established
  2. Check that listeners are properly set up
  3. Ensure component is not destroyed prematurely
  4. Check browser console for listener errors
Search Not Working
Problem: Search doesn’t filter users. Solutions:
  1. Verify hideSearch is not set to true
  2. Check that searchRequestBuilder is properly configured
  3. Ensure search keyword meets minimum length requirements
  4. Check browser console for search errors
Selection Not Working
Problem: Selection doesn’t work or behaves unexpectedly. Solutions:
  1. Verify selectionMode is set to 'single' or 'multiple'
  2. Check that (select) event handler is properly implemented
  3. Ensure selection state is managed correctly in parent component

CometChatGroups

Groups Not Loading
Problem: Groups list is empty or not loading. Solutions:
  1. Verify CometChat SDK is initialized and user is logged in
  2. Check network connectivity
  3. Verify API credentials are correct
  4. Check browser console for error messages
  5. Ensure groupsRequestBuilder is properly configured
Real-Time Updates Not Working
Problem: Group member changes don’t appear automatically. Solutions:
  1. Verify WebSocket connection is established
  2. Check that listeners are properly set up
  3. Ensure component is not destroyed prematurely
  4. Check browser console for listener errors
Search Not Working
Problem: Search doesn’t filter groups. Solutions:
  1. Verify hideSearch is not set to true
  2. Check that searchRequestBuilder is properly configured
  3. Ensure search keyword meets minimum length requirements

CometChatGroupMembers

Members Not Loading
Problem: Members list is empty or not loading. Solutions:
  1. Verify CometChat SDK is initialized and user is logged in
  2. Ensure a valid group input is provided — the component requires a CometChat.Group object
  3. Check network connectivity
  4. Verify API credentials are correct
  5. Check browser console for error messages
  6. Ensure groupMemberRequestBuilder is properly configured with the correct group GUID
Real-Time Updates Not Working
Problem: Member changes (join, leave, kick, ban) don’t appear automatically. Solutions:
  1. Verify WebSocket connection is established
  2. Check that group listeners are properly set up
  3. Ensure component is not destroyed prematurely
  4. Check browser console for listener errors
Search Not Working
Problem: Search doesn’t filter members. Solutions:
  1. Verify hideSearch is not set to true
  2. Check that searchRequestBuilder is properly configured
  3. Ensure search keyword meets minimum length requirements
Scope Change Not Working
Problem: Cannot change member scope. Solutions:
  1. Verify the logged-in user is the group owner or an admin
  2. Ensure hideScopeChangeOption is not set to true
  3. Check that the target member has a lower scope than the logged-in user
  4. Owners cannot have their scope changed

Messages

CometChatMessageHeader

Common Issues
1. User/Group not displaying Ensure you’re passing a valid CometChat.User or CometChat.Group object:
2. Status not updating in real-time Make sure the CometChat UIKit is properly initialized and the user is logged in:
3. Back button not showing Check the showBackButton property:
4. Call buttons not appearing Ensure the hide properties are set to false:
5. Overflow menu not showing Both showSearchOption and showConversationSummaryButton must be true for the overflow menu:
Performance Tips
  1. Use OnPush Change Detection: The component uses ChangeDetectionStrategy.OnPush for optimal performance
  2. Avoid Frequent Input Changes: Minimize unnecessary changes to user or group inputs
  3. Clean Up on Destroy: The component automatically cleans up listeners on destroy

CometChatMessageList

This section provides solutions to common issues, explains error messages, offers debugging tips, and lists support resources to help you resolve problems quickly when working with the CometChatMessageList component.
Common Issues and Solutions
Below are the most frequently encountered issues and their solutions.
Messages Not Loading
Symptoms:
  • Message list shows empty state or loading spinner indefinitely
  • No messages appear even though the conversation has messages
  • Console shows network errors or SDK errors
Possible Causes and Solutions:
CauseSolution
CometChat not initializedEnsure CometChatUIKit.init() is called before using the component
User not logged inVerify CometChatUIKit.login() completed successfully
Invalid user/groupCheck that the user or group input is a valid CometChat object
Network connectivityCheck internet connection and CometChat service status
Incorrect App ID/RegionVerify your App ID and region in CometChat dashboard
Real-time Updates Not Working
Symptoms:
  • New messages don’t appear automatically
  • Message edits/deletions don’t reflect in real-time
  • Typing indicators don’t show
  • Read receipts don’t update
Possible Causes and Solutions:
CauseSolution
WebSocket not connectedEnsure autoEstablishSocketConnection(true) in app settings
Presence subscription disabledAdd subscribePresenceForAllUsers() to app settings
Component destroyedVerify component is still mounted when expecting updates
Wrong conversation contextEnsure user or group input matches the conversation
Scroll Issues
Symptoms:
  • Messages jump when scrolling
  • Scroll position resets unexpectedly
  • Cannot scroll to bottom
  • Infinite scroll not loading older messages
Possible Causes and Solutions:
IssueCauseSolution
Scroll jumpingImages loading without dimensionsUse fixed dimensions or aspect-ratio CSS
Position resetComponent re-renderingCheck for unnecessary state changes
Can’t scroll to bottomButton not visibleEnsure container has proper height
Infinite scroll brokenScroll container misconfiguredVerify parent container has overflow: auto
Styling Not Applying
Symptoms:
  • CSS changes don’t affect the component
  • Custom styles are overridden
  • Theme changes don’t apply
Possible Causes and Solutions:
CauseSolution
View encapsulationUse ::ng-deep or set ViewEncapsulation.None
CSS specificityIncrease specificity or use !important sparingly
CSS variables not setEnsure variables are defined in :root or parent
Dark theme not appliedSet data-theme="dark" on document element
Thread View Not Opening
Symptoms:
  • Clicking thread replies does nothing
  • Thread panel doesn’t appear
  • threadRepliesClick event not firing
Possible Causes and Solutions:
CauseSolution
Event not boundAdd (threadRepliesClick)="onThreadClick($event)" to template
Thread option hiddenEnsure hideReplyInThreadOption is false
No thread handlerImplement the thread navigation logic
Message has no repliesThread indicator only shows for messages with replies
Reactions Not Working
Symptoms:
  • Reaction button doesn’t appear
  • Cannot add/remove reactions
  • Reactions don’t update in real-time
Possible Causes and Solutions:
CauseSolution
Reactions hiddenSet hideReactionOption to false
Reactions extension disabledEnable Reactions extension in CometChat dashboard
Event not handledBind (reactionClick) event handler
SDK version mismatchUpdate to latest CometChat SDK version
Performance Issues
Symptoms:
  • Slow scrolling or janky animations
  • High memory usage
  • Long initial load times
  • UI freezes when loading messages
Possible Causes and Solutions:
CauseSolution
Too many messages loadedReduce setLimit() in messages request builder
Heavy custom templatesOptimize templates, avoid expensive computations
Memory leaksClean up subscriptions in ngOnDestroy
Large media filesImplement lazy loading for images/videos
Change detectionUse OnPush change detection strategy

Error Messages
This section explains common error messages you may encounter and provides resolution steps for each.
Authentication Errors
Error CodeMessageCauseResolution
ERR_UID_NOT_FOUNDUser with UID not foundInvalid user ID providedVerify the UID exists in your CometChat dashboard
ERR_AUTH_TOKEN_NOT_FOUNDAuth token not foundUser not logged in or token expiredCall CometChatUIKit.login() before using components
ERR_INVALID_AUTH_KEYInvalid auth keyWrong authentication keyCheck auth key in CometChat dashboard
ERR_APP_NOT_FOUNDApp not foundInvalid App IDVerify App ID matches your CometChat app
Network Errors
Error CodeMessageCauseResolution
ERR_NETWORKNetwork errorNo internet connectionCheck connectivity and retry
ERR_TIMEOUTRequest timeoutServer took too long to respondRetry with exponential backoff
ERR_CONNECTION_REFUSEDConnection refusedServer unreachableCheck CometChat service status
ERR_WEBSOCKET_DISCONNECTEDWebSocket disconnectedReal-time connection lostComponent auto-reconnects; check network
Permission Errors
Error CodeMessageCauseResolution
ERR_NOT_A_MEMBERUser is not a memberUser not in the groupAdd user to group or check group membership
ERR_BLOCKEDUser is blockedBlocked by the other userCannot send messages to blocked users
ERR_GROUP_NOT_JOINEDGroup not joinedUser hasn’t joined the groupJoin the group before sending messages
ERR_PERMISSION_DENIEDPermission deniedInsufficient permissionsCheck user role and permissions
SDK Initialization Errors
Error CodeMessageCauseResolution
ERR_NOT_INITIALIZEDCometChat not initializedCometChatUIKit.init() not calledInitialize CometChat before using components
ERR_ALREADY_INITIALIZEDAlready initializedCometChatUIKit.init() called multiple timesCall init only once at app startup
ERR_INVALID_REGIONInvalid regionWrong region codeUse correct region: ‘us’, ‘eu’, ‘in’, etc.
ERR_APP_SETTINGS_NOT_FOUNDApp settings not foundMissing app settingsProvide valid AppSettingsBuilder
Invalid Parameter Errors
Error CodeMessageCauseResolution
ERR_INVALID_UIDInvalid UIDEmpty or malformed user IDProvide valid non-empty UID
ERR_INVALID_GUIDInvalid GUIDEmpty or malformed group IDProvide valid non-empty GUID
ERR_INVALID_MESSAGE_IDInvalid message IDMessage ID doesn’t existVerify message ID is correct
ERR_EMPTY_MESSAGEMessage cannot be emptyTrying to send empty messageValidate message content before sending
Comprehensive Error Handler

Debugging Tips
This section provides practical debugging techniques to help you identify and resolve issues quickly.
Using Browser DevTools
Console Tab:
Network Tab:
  • Filter by cometchat to see API calls
  • Check request/response payloads
  • Verify WebSocket connection (WS filter)
  • Look for failed requests (red entries)
Checking Network Requests
Inspecting Component State
Logging and Debugging Utilities
Common Debugging Scenarios
Scenario 1: Messages not appearing
Scenario 2: Real-time updates not working

Support Resources
If you need additional help, the following resources are available.
Official Documentation
ResourceURLDescription
CometChat Docscometchat.com/docsOfficial documentation hub
Angular UIKit Guidecometchat.com/docs/angular-uikitAngular-specific documentation
API Referencecometchat.com/docs/javascript-chat-sdkJavaScript SDK reference
Release Notescometchat.com/docs/changelogLatest updates and changes
GitHub Resources
ResourceURLDescription
Angular UIKit Repogithub.com/cometchat/cometchat-uikit-angularSource code and issues
Sample Appsgithub.com/cometchat/cometchat-sample-app-angularExample implementations
Report IssuesGitHub IssuesBug reports and feature requests
Community and Support
ChannelAccessBest For
CometChat Dashboardapp.cometchat.comApp management, API keys, analytics
Support Portalhelp.cometchat.comTicket-based support
Discord CommunityCometChat DiscordCommunity discussions
Stack OverflowTag: cometchatQ&A with community
When to Contact Support
Contact CometChat support when you encounter:
  • Server-side errors (5xx status codes)
  • Account or billing issues
  • Feature requests for the SDK or UIKit
  • Security concerns or vulnerabilities
  • Performance issues on CometChat infrastructure
  • Issues not resolved by documentation or community
Before contacting support, prepare:
  1. Your App ID and region
  2. SDK and UIKit version numbers
  3. Steps to reproduce the issue
  4. Error messages and stack traces
  5. Browser/device information
  6. Code snippets (sanitized of sensitive data)

Frequently Asked Questions (FAQ)
General Questions
Pass a CometChat.User object to the user input:
Pass a CometChat.Group object to the group input:
No, you should provide either user OR group, not both. If both are provided, user takes precedence. The component is designed for one conversation at a time.
Use the refreshMessages() method on the component instance:
Customization Questions
You have several options:
  1. CSS Variables: Override CSS variables in your global styles
  2. Custom Templates: Use the templates input for complete control
  3. MessageBubbleConfigService: Set global customizations via the service
Use the hide* input properties:
Set the data-theme attribute on the document element:
Create a custom text formatter and pass it to the textFormatters input:
Feature Questions
Listen to the threadRepliesClick event and display a separate message list with parentMessageId:
Set the showSmartReplies and showConversationStarters inputs to true:
Note: AI Smart Chat Features require the CometChat AI extension to be enabled in your dashboard.
Use the goToMessageId input or the scrollToMessage() method:
The component has built-in translation support. Use the hideTranslateMessageOption input to show/hide the option, and the component handles the rest:
To set the preferred translation language programmatically:
Troubleshooting Questions
Check the following:
  1. CometChat initialized: Call CometChatUIKit.init() before using components
  2. User logged in: Call CometChatUIKit.login() after initialization
  3. Valid user/group: Ensure the user or group input is a valid CometChat object
  4. Network connectivity: Check internet connection
  5. Console errors: Look for error messages in browser console
Ensure WebSocket connection is established:
  1. Set autoEstablishSocketConnection(true) in app settings
  2. Check connection status: CometChat.getConnectionStatus() should return 'connected'
  3. Verify the component is still mounted when expecting updates
Scroll jumping usually occurs when images load without predefined dimensions:
  1. Set fixed dimensions on images
  2. Use aspect-ratio CSS property
  3. Implement placeholder loading states
  1. Reduce page size: setLimit(20) instead of default 30
  2. Use OnPush change detection strategy
  3. Implement lazy loading for media
  4. Clean up subscriptions in ngOnDestroy
  5. Avoid expensive computations in templates
If your question isn’t answered here, check the CometChat documentation or reach out through the support channels listed above.

CometChatMessageComposer

Common Issues
1. Messages not sending Ensure you have a valid user or group set:
2. Typing indicators not working Make sure the CometChat SDK is properly initialized and typing events are not disabled:
3. Attachments not uploading Verify file validation settings:
4. Rich text toolbar not showing Ensure rich text is enabled and toolbar is not hidden:
5. Mentions not appearing Check that mentions are enabled and you’re in a group conversation for @all:
6. Enter key not sending message Verify the enterKeyBehavior setting:
Performance Tips
  1. Use OnPush Change Detection: The component uses ChangeDetectionStrategy.OnPush for optimal performance
  2. Avoid Frequent Input Changes: Minimize unnecessary changes to user or group inputs
  3. Clean Up on Destroy: The component automatically cleans up listeners and timeouts on destroy
  4. Lazy Load Rich Text: Only enable enableRichText when needed

Message Bubbles

CometChatTextBubble

Link Previews Not Showing
Problem: Link preview cards are not displayed even though URLs are in the message. Solution: Link previews require metadata in a specific format. Ensure your message metadata follows this structure:
Link preview metadata is typically added by server-side extensions or CometChat’s link preview extension.
Translation Not Displaying
Problem: Translated text is not showing even though translation metadata exists. Solution: Ensure the translation metadata is at the correct path:
The key must be exactly "translated_message" at the root level of the metadata object.
Mentions Not Formatting
Problem: @mentions appear as plain text without styling or interactivity. Solution: Ensure:
  1. The message has mentioned users: message.getMentionedUsers() returns an array
  2. The mentioned users array contains valid CometChat.User objects
  3. The text contains the mention syntax (e.g., @username)
The CometChatMentionsFormatter requires both the text pattern and the mentioned users list to format mentions correctly.
Read More Button Not Appearing
Problem: Long messages don’t show the read more button. Solution: The read more button only appears when content height exceeds 80 pixels (approximately 4 lines). Check:
  1. The message text is actually long enough
  2. The component has finished rendering (ngAfterViewInit has been called)
  3. CSS is not overriding the height measurement
Custom Formatters Not Working
Problem: Custom text formatters are not being applied. Solution: Ensure your custom formatter:
  1. Implements the CometChatTextFormatter interface
  2. Returns a string from the format() method
  3. Is included in the textFormatters array input
  4. Doesn’t throw exceptions (check console for errors)
Example:
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the cometchat-text-bubble selector or a parent element
  2. Variable names match exactly (including the --cometchat- prefix)
  3. ViewEncapsulation is not preventing style inheritance
  4. CSS specificity is sufficient (use ::ng-deep for deep styling if needed)

CometChatImageBubble

Images Not Displaying
Problem: Images are not showing even though the message has attachments. Solution: Ensure your message attachments have valid URLs:
Verify that:
  1. message.getAttachments() returns an array
  2. Each attachment has a url property
  3. URLs are accessible and not blocked by CORS
Gallery Viewer Not Opening
Problem: Clicking images doesn’t open the fullscreen gallery viewer. Solution: Check that:
  1. The imageClick event is being emitted
  2. No JavaScript errors in console
  3. The gallery viewer component is properly imported
  4. CSS for the gallery viewer is loaded
Overflow Indicator Not Showing
Problem: Messages with >4 images don’t show the “+N more” indicator. Solution: Verify:
  1. The message actually has more than 4 attachments
  2. Localization key image_bubble_overflow_more exists in language files
  3. CSS for overflow overlay is not being overridden
Caption Not Rendering
Problem: Caption text is not displayed below images. Solution: Ensure caption text exists in the message:
The component checks both locations. If neither has text, no caption is rendered.
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the cometchat-image-bubble selector or a parent element
  2. Variable names match exactly (including the --cometchat- prefix)
  3. CSS specificity is sufficient (use ::ng-deep for deep styling if needed)

CometChatVideoBubble

Video Thumbnails Not Displaying
Problem: Video thumbnails are not showing even though the message has video attachments. Solution: Ensure your message attachments have valid thumbnail URLs:
Verify that:
  1. message.getAttachments() returns an array
  2. Each attachment has a url property for the video
  3. Each attachment has a thumbnail property for the preview image
  4. URLs are accessible and not blocked by CORS
Video Player Not Opening
Problem: Clicking video thumbnails doesn’t open the fullscreen video player. Solution: Check that:
  1. The videoClick event is being emitted
  2. No JavaScript errors in console
  3. The video player component is properly imported
  4. CSS for the video player is loaded
  5. Video URL is valid and accessible
Duration Badge Not Showing
Problem: Duration badge is not displayed on video thumbnails. Solution: Verify:
  1. The attachment has a duration property in metadata
  2. Duration is a valid number (in seconds)
  3. CSS for duration badge is not being overridden
Play Button Not Visible
Problem: Play button overlay is not visible on video thumbnails. Solution: Ensure:
  1. CSS for play button overlay is loaded
  2. Play button icon asset is accessible
  3. CSS variables for play button colors are defined
  4. No CSS conflicts overriding the play button styles
Video Not Playing in Player
Problem: Video player opens but video doesn’t play. Solution: Check:
  1. Video URL is valid and accessible
  2. Video format is supported by HTML5 video element
  3. No CORS issues blocking video playback
  4. Browser supports the video codec
Caption Not Rendering
Problem: Caption text is not displayed below videos. Solution: Ensure caption text exists in the message:
The component checks both locations. If neither has text, no caption is rendered.
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the cometchat-video-bubble selector or a parent element
  2. Variable names match exactly (including the --cometchat- prefix)
  3. CSS specificity is sufficient (use ::ng-deep for deep styling if needed)

CometChatAudioBubble

Audio Not Playing
Problem: Clicking the play button doesn’t start audio playback. Solution: Check that:
  1. The audio URL is valid and accessible
  2. No CORS issues blocking audio loading
  3. WaveSurfer has finished loading (check loading state)
  4. No JavaScript errors in console
Waveform Not Displaying
Problem: The waveform visualization is not showing. Solution: Verify:
  1. The audio file is accessible and not blocked by CORS
  2. The audio format is supported (MP3, WAV, OGG, etc.)
  3. WaveSurfer container element exists in the DOM
  4. No CSS hiding the waveform container
Download Not Working
Problem: Clicking the download button doesn’t download the file. Solution: Check that:
  1. Audio URL is valid and accessible
  2. No CORS issues blocking the fetch request
  3. Browser allows downloads from the domain
  4. Sufficient disk space for the download
Expand Indicator Not Showing
Problem: The +N indicator is not displayed for multiple audios. Solution: Verify:
  1. The message actually has more than 1 attachment
  2. Attachments array length is greater than 1
  3. CSS for expand indicator is loaded
  4. No JavaScript errors in console
Caption Not Rendering
Problem: Caption text is not displayed below audios. Solution: Ensure caption text exists in the message:
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the cometchat-audio-bubble selector or a parent element
  2. Variable names match exactly (including the --cometchat- prefix)
  3. CSS specificity is sufficient (use ::ng-deep for deep styling if needed)
Single Audio Player Not Working
Problem: Multiple audios play simultaneously instead of one at a time. Solution: This is handled automatically by the component. If multiple audios play:
  1. Check that all audio bubbles are using the same component version
  2. Verify no custom play logic is bypassing the single player policy
  3. Check for JavaScript errors in console

CometChatFileBubble

Files Not Displaying
Problem: Files are not showing even though the message has attachments. Solution: Ensure your message attachments have valid data:
Verify that:
  1. message.getAttachments() returns an array
  2. Each attachment has a name property
  3. Each attachment has a url property
  4. URLs are accessible and not blocked by CORS
File Icons Not Showing
Problem: File type icons are not displaying. Solution: Check that:
  1. Icon assets exist in the assets/ directory
  2. Icon paths in FILE_TYPE_ICONS mapping are correct
  3. No 404 errors in browser console for icon files
  4. CSS for icon display is not being overridden
Expand Indicator Not Showing
Problem: The +N indicator is not displayed for multiple files. Solution: Verify:
  1. The message actually has more than 1 attachment
  2. Attachments array length is greater than 1
  3. CSS for expand indicator is loaded
  4. No JavaScript errors in console
Expand/Collapse Not Working
Problem: Clicking the expand indicator or collapse button doesn’t work. Solution: Check that:
  1. No JavaScript errors in console
  2. Click event handlers are properly bound
  3. Component change detection is working (OnPush strategy)
  4. No CSS preventing clicks (z-index, pointer-events)
File Size Showing “Size unknown”
Problem: File size displays as “Size unknown” instead of actual size. Solution: Ensure attachment has size property:
Caption Not Rendering
Problem: Caption text is not displayed below files. Solution: Ensure caption text exists in the message:
Download Links Not Working
Problem: Clicking download links doesn’t download the file. Solution: Verify:
  1. Attachment URL is valid and accessible
  2. No CORS issues blocking downloads
  3. Browser allows downloads from the domain
  4. URL points to actual file, not a redirect
Styling Not Applying
Problem: Custom CSS variables are not affecting the component’s appearance. Solution: Ensure:
  1. CSS variables are defined on the cometchat-file-bubble selector or a parent element
  2. Variable names match exactly (including the --cometchat- prefix)
  3. CSS specificity is sufficient (use ::ng-deep for deep styling if needed)
Focus Not Preserved on Expand
Problem: Focus is lost when expanding the file list. Solution: This is handled automatically by the component. If focus is not preserved:
  1. Check that the collapse button element exists in the DOM
  2. Verify no JavaScript errors in console
  3. Ensure ViewChild reference is working correctly

CometChatCollaborativeDocumentBubble

Document URL Not Extracted
Problem: The action button is disabled even though the message has document data. Solution: Verify the metadata structure:
Banner Image Not Displaying
Problem: The banner image is not showing. Solution: Check that:
  1. Banner image assets exist in the assets/ directory
  2. Asset paths are correct (Collaborative_Document_Light.png, Collaborative_Document_Dark.png)
  3. No 404 errors in browser console
Button Not Responding
Problem: Clicking the button doesn’t open the document. Solution: Verify:
  1. Document URL is valid and accessible
  2. No popup blocker preventing window.open
  3. No JavaScript errors in console
Styling Not Applying
Problem: Custom CSS variables are not affecting the component. Solution: Ensure:
  1. CSS variables are defined on the component selector or parent element
  2. Variable names match exactly (including --cometchat- prefix)
  3. Use ::ng-deep for deep styling if needed

CometChatCollaborativeWhiteboardBubble

Whiteboard URL Not Extracted
Problem: The action button is disabled even though the message has whiteboard data. Solution: Verify the metadata structure:
Banner Image Not Displaying
Problem: The banner image is not showing. Solution: Check that:
  1. Banner image assets exist in the assets/ directory
  2. Asset paths are correct (Collaborative_Whiteboard_Light.png, Collaborative_Whiteboard_Dark.png)
  3. No 404 errors in browser console
Button Not Responding
Problem: Clicking the button doesn’t open the whiteboard. Solution: Verify:
  1. Whiteboard URL is valid and accessible
  2. No popup blocker preventing window.open
  3. No JavaScript errors in console
Styling Not Applying
Problem: Custom CSS variables are not affecting the component. Solution: Ensure:
  1. CSS variables are defined on the component selector or parent element
  2. Variable names match exactly (including --cometchat- prefix)
  3. Use ::ng-deep for deep styling if needed

Calls

CometChatCallLogs

Call Logs Not Loading
Problem: The call logs list is empty or stuck in loading state. Solutions:
  1. Verify CometChat SDK is initialized and the user is logged in
  2. Verify CometChatUIKitCalls is initialized — call logs require the Calls SDK, not just the core Chat SDK
  3. Check network connectivity
  4. Verify API credentials are correct
  5. Check browser console for error messages
Call Initiation Failing
Problem: Clicking the call button does not start a call or throws an error. Solutions:
  1. Ensure CometChatUIKitCalls is properly initialized before using the component
  2. Verify the logged-in user has permission to initiate calls
  3. Check that the other party’s UID is valid
  4. If using callButtonClicked handler, ensure your custom logic handles errors
CometChatUIKitCalls Not Initialized
Problem: Error message indicating CometChatUIKitCalls is not available. Solutions:
  1. Ensure the @cometchat/calls-sdk-javascript package is installed
  2. Initialize the Calls SDK before rendering the component:
Outgoing Call Overlay Not Showing
Problem: After clicking the call button, no outgoing call screen appears. Solutions:
  1. If you have bound (callButtonClicked), the component emits the event instead of auto-initiating. Remove the binding to use auto-initiation, or implement call initiation in your handler
  2. Check that the component’s container has sufficient height — the overlay is absolutely positioned within the component
  3. Verify no CSS overflow: hidden on parent elements is clipping the overlay