Appearance
FAQ & troubleshooting
Where are messages stored? Where are comments stored?
- Support chat messages and tickets → Intercom (via your AW Chat backend). Postgres only keeps reads, durations, and CSAT overlays.
- Channel comments → PostgreSQL only (
channel_comments).
Full matrix: Data model.
The chat is blank / nothing loads
serverUrlreachable;CORS_ORIGINSincludes your app origin.sessionTokenvalid JWT signed with the sameJWT_SECRETas the backend (401 →onSessionExpired).- Parent has a height (
<AWChat />fills it).
"Network request failed" in the browser
Usually CORS or wrong serverUrl. Allow your origin + Authorization. No trailing path; correct https.
React Native: attach / upload does nothing
Pass onPickFiles. Without it the attach control is hidden. See React Native.
Can we show "operator is typing…" or real read receipts?
No real Intercom signals; no WebSocket. seen is inferred after an operator reply. Behavior · Limitations.
Why polling and not WebSocket?
Deliberate constraint — simpler ops. Latency ≈ poll interval (default 4s).
How many concurrent users can one backend handle?
Roughly ~660 before Intercom rate limits dominate (with caching). Scale with Redis-backed cache + rate limits. Deployment.
Why topic buttons instead of a text box?
No open request → user picks a reason first; leaf selection starts the request. Topics are admin-managed (reasons table).
Operator closed the chat but the app still shows it open
Updates on the next poll (~4s). If never: check Webhooks HMAC / URL.
User rated a ticket twice
CSAT is idempotent per (user, ticket); second submit may return { duplicate: true }.
File uploads aren't downloadable after redeploy
Without S3, files sit on container disk (UPLOAD_DIR) and vanish on replace. Set S3_* and REQUIRE_S3=1 in production.
Push isn't arriving
- Device registered (
fcmToken/telegramChatIdprops). - Notification prefs on.
FCM_SERVICE_ACCOUNT/TELEGRAM_BOT_TOKENconfigured.
React Native: "Unable to resolve react-native-svg"
Install the peer: pnpm add react-native-svg (Expo usually has it). Also install lottie-react-native for reaction animations.
Account switch shows another user's channel data
Remount <AWChat /> when userId / sessionToken change.
How do I test without a backend?
demo prop, or examples/ Mock/Live against your staging API.
Archive in the hub does nothing useful
Coming soon by design — Limitations.