cometchat-react-v7-troubleshooting

v2026.09.25

Diagnose a broken CometChat React v7 integration — blank panes, a collapsed/0-height surface, empty lists, no messages, the kit's error state, events that never fire, or a version_conflict. Triggers: 'cometchat react not working', 'chat is blank', 'conversations empty', 'messages not showing react', 'something went wrong cometchat', 'cometchat react errors', 'why is my chat broken'.

GitHub
Install command
npx skhub add cometchat/cometchat-react-v7-troubleshooting
Markdown
SKILL.md

Ground truth: @cometchat/chat-uikit-react@7. Symbols/signatures are verified against cometchat-react-v7-core + its catalog and FETCHED via references/docs-map.md; the rules referenced (init order, layout sizing, credentials) are RULES.md. This diagnostics catalog is cross-checked against the live {DOCS_BASE}/ui-kit/react/troubleshooting.md page (base + paths in cometchat-react-v7-core/references/docs-map.md), and adds the host-side/runtime symptoms it doesn't cover.

Companion skills (read first)

  • cometchat-react-v7-core — the correct init→login→render order, credentials, and the reflow-free layout the fixes below restore.

Use this skill when

A React CometChat integration compiles but misbehaves at runtime: blank, empty, unresponsive, or throwing.

Start here — React fails on the ORDER and the BOX

Two causes explain most "it's blank":

  1. A kit component rendered before init() + login() resolved. The surface must be gated on the resolved logged-in user. Rendering it eagerly (or during SSR) yields an empty/erroring pane.
  2. The container has no height. The kit fills its parent; a parent at height:auto/0 collapses it to a sliver. This is a host CSS defect, not a kit bug (RULES.md → Layout / sizing).

Symptom → cause → fix

SymptomLikely causeFix
Blank/white, no errorsSurface rendered before init+login resolvedGate render on the resolved user; keep CometChatErrorBoundary for a visible fallback
Blank during SSR / window is not definedA kit component imported or rendered on the server (Next.js, Astro, Remix)Render the surface client-only — "use client" + dynamic(..., { ssr:false }) (Next), client:only (Astro); see core references/ssr.md
Surface ~0px / cramped top-leftAncestor chain has no heighthtml,body,#root{height:100%} + a pinned surface (100dvh full-app) + panes min-height:0; see core references/layout.md
"OOPS! Looks like something went wrong"The kit's error state — a call threw (often a custom ConversationsRequestBuilder with no .setLimit(n), or a bad Region)Add .setLimit(30); confirm Region matches the dashboard app
Conversations emptyNew/seeded app has no conversations yet, or scope excludes themSend a first message; check conversationsRequestBuilder scope (user/group) matches intent
login() fails "user not found"UID does not exist in the appUse a real UID (Dashboard → Users; fresh apps seed cometchat-uid-1) — never a guessed superhero*
Nothing updates liveMissing/duplicated listeners, or StrictMode double-mountAdd listeners with a stable ID, remove on unmount; guard the init/login in-flight (cometchat-react-v7-patterns)
Roster rows appear TWICE + ~30 "duplicate key" errors (dev only)React StrictMode double-invokes effects; the roster drop-ins CometChatUsers/CometChatGroups/CometChatGroupMembers double-append (kit de-dupe gap; CometChatConversations is unaffected)A dev-only StrictMode artifact — gone in vite build/prod. Do NOT remove StrictMode to "fix" it; verify the roster in a production build. Kit issue — report upstream
Localized keys shown raw (e.g. group_info)Wrong/stale i18n key or provider missingUse the kit component / correct key; ensure CometChatProvider wraps the tree
Works in dev, blank in prodWrong env prefix → Auth Key/App ID missing in the bundleFix the bundler prefix; grep the build (cometchat-react-v7-production)
version_conflict on detectProject on UI Kit v6 while skills target v7STOP and reconcile — migrate v6→v7 (cometchat-react-v7-migration), or stay on v6 by installing the older v4 skills pack (it targets the v6 UI Kit)

When the table does not cover it

Open the browser console + network tab: a 401 is auth (bad token/Auth Key/Region), a 402 is a plan-gated feature (e.g. Search — enable it in the dashboard), a 4xx "no conversation yet" is benign. Then fetch the feature's page via cometchat-react-v7-core/references/docs-map.md. Never diagnose from node_modules/.d.ts or memory.

Verify it works

Init+login resolve before the surface renders · the surface has real dimensions (not a sliver) · conversations render or show the kit's empty state (not the error state) · a message sends and arrives live · no raw localization keys · production build carries no Auth Key.

What NOT to do

Do not silence the error boundary to hide a thrown call; do not hard-code a UID to dodge "user not found"; do not read kit internals to work around a missing prop — fetch the documented prop instead.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.25

Published

Sep 25, 2026

Category

Uncategorized

License

MIT

Source path

skills/cometchat-react-v7-troubleshooting

Default branch

main

Latest commit

f92ff9e

Tree SHA

f40470f