ข้ามไปที่เนื้อหา

Common Errors — Symptom → Cause → Fix

ตารางสรุป error ที่พบบ่อยทั้งฝั่ง agent + admin + technical

HTTP Status

401 Unauthorized

Symptom: Auto logout หรือ "Token หมดอายุ"

Cause:

  • JWT 7-day expired
  • JWT_SECRET ใน backend เปลี่ยน (DevOps deploy)
  • Token ถูกเคลียร์จาก localStorage

Fix: Login ใหม่

403 Forbidden — "Admin only"

Symptom: กดสร้าง/แก้/ลบใน Settings → alert "Admin only" + console 403

Cause: Stale token (role ใน JWT ≠ role ใน DB ปัจจุบัน)

Fix: Logout + login ใหม่ — ดู Agent FAQ — Q2

403 Forbidden — "Access denied"

Symptom: เปิด conversation แล้ว 403

Cause: OA ของ conversation นี้ไม่อยู่ใน allowedOaIds ของ agent

Fix: Admin → 🔐 จัดการสิทธิ์ → ติ๊ก OA นั้นให้ agent

500 Internal Server Error (random)

Cause: Backend bug หรือ DB ไม่พร้อม

Fix: ดู docker logs inbox_backend | tail -50 (DevOps task)

500 ที่ /api/auth/me เฉพาะ

Cause: SQL query corrupted (เกิดบน chat.aurora1688.vip 2026-05-04 — WHERE id = $1 หาย $1 จากการ shell-expand)

Fix: DevOps deploy ใหม่ผ่าน Deploy-MergeChat (มีการ refactor + post-deploy auth smoke ป้องกันแล้ว)

WebSocket

"[WS] Disconnected — retrying in 3s"

Cause (ปกติ): Network blip, Caddy reload, backend restart

Fix: รอ 3-9 วินาที ระบบ retry อัตโนมัติ — ถ้า disconnect นาน >30s ให้ refresh page

"[WS] Connected" แต่ไม่ได้รับ message ใหม่

Cause:

  • WS connect แต่ไม่ subscribe room (auth issue ตอน WS handshake)
  • Backend WS broadcast bug

Fix: Logout + login → reconnect WS fresh

LINE Webhook

Webhook Verify FAIL ที่ LINE Console

Cause + Fix: ดู Admin FAQ — Q1

ลูกค้าทักไม่เข้า mergchat

Cause:

  1. LINE Use webhook = OFF
  2. mergchat OA toggle = OFF
  3. Webhook signature mismatch (Channel Secret ผิด)
  4. Backend down

Fix: ดู Admin FAQ — Q2

Quick Replies

บันทึก slot empty → 400

Cause: Backend reject empty text field (validation 1+ char)

Fix: ใส่ space เดียว " " หรือเปลี่ยนเป็นข้อความอื่น

Database

"psql: connection refused"

Cause: Postgres container ไม่ running

Fix:

ssh root@<chat-server> 'docker ps | grep postgres'
# ถ้าไม่เห็น → docker compose up -d

Schema mismatch

Cause: ลืม run migration หลัง deploy

Fix: DevOps run Test-Deploy-MergeChat audit เทียบ schema กับ reference (chat-olive888)

Caddy / TLS

TLS cert expired

Cause: Caddy auto-renew failed (rare — ปกติ Caddy ทำเอง)

Fix:

ssh root@<chat-server> 'systemctl restart caddy'
# หรือ docker compose restart caddy

"502 Bad Gateway"

Cause: Caddy → backend connection refused (backend down or port wrong)

Fix: ตรวจ backend container status; ถ้า down → restart

Performance

หน้า Inbox โหลดช้า

Cause:

  • Conversation count > 10,000 → query slow (no pagination yet in v1)
  • Backend CPU/memory แน่น

Fix:

  • ปิด conversation เก่าๆ (ปุ่มปิดเคส)
  • DevOps scale backend (vertical: เพิ่ม RAM/CPU; horizontal: load balancer + multiple replica)

ที่อ้างอิง