cometchat-angular-v5-troubleshooting

SkillDocs & knowledge

Diagnose a broken CometChat Angular integration, blank panes, silent no-render, empty lists, events that never fire, UI that does not update, memory leaks, install failures. Symptom to cause to fix. Triggers: 'chat not showing', 'blank screen', 'nothing renders', 'click handler not firing', 'messages not updating', 'ERESOLVE', 'cometchat not working'.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the cometchat-angular-v5-troubleshooting skill

What this skill tells your AI

The instructions your AI receives, as published by cometchat/cometchat-skills in skills/cometchat-angular-v5-troubleshooting/SKILL.md and read by ahel’s review.

Ground truth: @cometchat/chat-uikit-angular@5 (5.1.0–5.2.0 verified). Symptoms map to causes verified against the installed kit and the live {DOCS_BASE}/ui-kit/angular/troubleshooting.md page (base + paths in cometchat-angular-v5-core/references/docs-map.md). Every CometChat* symbol named here exists in the angular-v5 catalog; a fix that requires a symbol not in the catalog is a bug in this file, not a missing export.

Companion skills (read first)

  • cometchat-angular-v5-corereferences/anti-patterns.md and references/troubleshooting.md carry the same table in more depth.

Use this skill when

Something is wrong and the error message is unhelpful or absent.

Start here — Angular fails SILENTLY

Four of the five most common CometChat-Angular faults produce no error at all. Do not wait for a stack trace.

Run these four checks in order before anything else:

1. Is the component in imports: []? Missing → Angular treats <cometchat-conversations> as unknown HTML and renders nothing. No error, no warning, blank space. This is the single most common cause.

2. Does the container have height?

html, body { height: 100%; margin: 0; }

Plus a 100dvh shell and min-height: 0 on every flex column. An unsized ancestor collapses the list to 0px — markup correct, nothing visible.

3. Did login() resolve before render? Lists render empty with no error when there is no session. Check CometChatUIKit.getLoggedInUser() is non-null at the moment the component mounts.

4. Is the binding name real? (ccConversationClicked) never fires — the real output is (itemClick). Angular does not warn about unknown outputs. Verified names are in cometchat-angular-v5-components.

Symptom → cause → fix

SymptomCauseFix
Icons missing/blank across the kitassets not registered in angular.jsonadd the src/lib/assets glob → output: assets; the most commonly missed step
Scrolling the list scrolls the WHOLE pageshell/columns missing overflow: hiddenmin-height: 0 lets it shrink; overflow: hidden keeps the scroll inside the pane — both are required
List doesn't scroll at all — bottom items unreachable<cometchat-conversations>/-users/-groups/-call-logs/-search/-message-list has no flex: 1; min-height: 0 of its OWNadd the .cc-fill class to the tag itself, not just its ancestors — the list resolves an internal height: 100% and does not size itself
Whole surface runs past the viewport / clipped, on a routed page only<cometchat-error-boundary> is the template root and ships no :host sizing, so a height: 100% shell under it resolves against nothingadd cometchat-error-boundary { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; } — it is styled by ELEMENT, not by a class. Symptom hides when the shell uses 100dvh (viewport-relative), appears the moment it becomes 100% under a routed outlet
<cometchat-call-logs> shows "OOPS! Looks like something went wrong"KIT BUG (5.1.0), not your code: CallLogsService builds new CometChatUIKitCalls.CallLogRequestBuilder() without awaiting the lazy calls-SDK load, so the accessor is still null. Zero network requests are made — it fails before fetching, and Retry does not recoverNo host-side fix. Do not hand-roll around it; report it. Note (error) will NOT surface it — call-logs has no error output (it takes an onError INPUT)
Blank space where chat should becomponent not in imports: []add the class to that component's imports
Blank pane, markup correctancestor has no heighthtml, body { height: 100% } + 100dvh + min-height: 0
Lists render but always emptyrendered before login() resolvedinit → login before bootstrap, or gate the route
Click handler never fireswrong output nameuse the verified name; there is no cc prefix
Selected row never highlightsactiveConversation not boundbind it to the same state as the message pane
Messages arrive, UI does not updateasync SDK callback doesn't repaint (Angular 21 is zoneless by default, so NgZone.run() won't help)write to a signal or call ChangeDetectorRef.markForCheck() after the update (core lifecycle.md)
Memory grows per route changeno teardowntakeUntil(destroy$) + removeMessageListener(id) in ngOnDestroy
Duplicate messages after navigatinglistener registered twice, never removedregister with a stable id; remove on destroy
"Please wait until the previous login request ends."concurrent login()cache the in-flight promise
npm install fails ERESOLVEproject on Angular 22peer range is <22.0.0; use @angular/cli@21
Build error: path not exported by package@import of the kit stylesheetregister the full node_modules/... path in angular.json
Config empty at runtimecredentials in .envAngular reads environment.ts, not .env
Import will not compilebare class name useduse the exported …Component form
Header shows one chat, messages another[user]/[group] mismatchpass the same subject to header, list and composer
Reply button does nothingno thread surface renderedwire a thread panel or hide the affordance
Feature missing, no errordashboard extension offenable it for the app the credentials point at
Call buttons render as empty zero-size elementsuiKit.callsSDK missing from initFromSettingsadd uiKit: { callsSDK: {} }; installing the package does not enable calling. Check CometChatUIKit.isCallingEnabled()
Lists show "OOPS!" on first load and Retry does nothingfirst fetch raced login; ConversationsService caches the failurebootstrap AFTER login resolves; give the user a retry that remounts the component
Calls never ringlistener not at app root, or calls SDK absentmount <cometchat-incoming-call> at root; install the calls SDK
Calls fail on a LAN IPgetUserMedia needs a secure contextuse HTTPS or localhost
window is not definedSSR running browser codeguard with isPlatformBrowser
Dropdown clippedancestor overflow: hidden or transformremove it from the chain
Layout jumps when data loadsbox sizes to contentpin the height so loading and loaded share one box

Where the docs contradict this skill

One entry above still disagrees with {DOCS_BASE}/ui-kit/angular/overview.md, and this skill is right because it is verified against the published package:

  • Angular 22 — the docs list it as supported; the peer range excludes it and npm install hard-fails. Do not follow the docs here, and never --force past it.

Also verify against the installed package:

  • @cometchat/cards-angular — required since 5.1.0. (The overview's peer list now lists it — corrected upstream, verified against cometchat/docs, 2026-09-09.)

If a fix in this table seems to contradict a guide, check the installed package before changing course.

When the table does not cover it

  1. Confirm the symbol is real. The exported class name, not the docs title.
  2. Fetch the component's docs page (core/references/docs-map.md) and compare every input you pass.
  3. Check the browser console for a CometChat error code before assuming it is a UI problem.
  4. Raise the log level: CometChatUIKit.setLogLevel(...).
  5. Reduce to the golden path from core. If that works, the fault is in your composition; if it does not, it is setup.

Verify it works

A fix is done when the symptom is gone and you can say which of the four silent-failure causes it was. If you cannot name the cause, the fix is a coincidence and it will come back.

Re-check after any fix: chat renders with real data · clicking a conversation opens it · sending a message appears immediately · a second browser receives it live · no console errors · nothing collapsed to zero height.

What NOT to do

  • Do not --force or --legacy-peer-deps past an ERESOLVE — you install an untested combination and the failure moves somewhere harder to find.
  • Do not add !important to fight the kit's styles — a token is not applying because the stylesheet is not registered.
  • Do not rebuild a component by hand because an affordance looks broken. It is nearly always a missing input or an unsized container.

Signals

GitHub stars
109
Forks
2
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
cometchat-angular-v5-troubleshooting
Source
github.com/cometchat/cometchat-skills