From 1c5c876608609fd0d881e690426233f0938e75f0 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Wed, 3 Sep 2025 14:48:37 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=A0=ED=8A=B8=EC=97=94=EB=93=9C?= =?UTF-8?q?=20=EB=8C=80=ED=99=94=20=EC=88=9C=EC=84=9C=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - reverse() 제거로 대화 순서 정상화 - 커밋 878be9b 적용 - 사용자 발화 → 로빙 답변 순서로 표시 --- ...03_frontend_conversation_order_reversed.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 troubleshooting/250903_frontend_conversation_order_reversed.md diff --git a/troubleshooting/250903_frontend_conversation_order_reversed.md b/troubleshooting/250903_frontend_conversation_order_reversed.md new file mode 100644 index 0000000..d29f35b --- /dev/null +++ b/troubleshooting/250903_frontend_conversation_order_reversed.md @@ -0,0 +1,70 @@ +# 프론트엔드 대화 순서 역전 문제 + +## 작성일: 2025-09-03 +## 작성자: 51123 서버 관리자 +## 상태: ✅ 해결 완료 +## 영향: 대화 흐름 이해 어려움, UX 저하 + +--- + +## 1. 문제 상황 +- 프론트엔드 이전 대화 표시창에서 대화 순서 반대로 표시 +- **현재**: 로빙 답변 → 사용자 발화 순 +- **정상**: 사용자 발화 → 로빙 답변 순 + +## 2. 증상 예시 +``` +9/2 오후 2:24 +로빙 하이. ← 사용자 발화 (두 번째 표시) + +9/2 오후 2:24 +RoBeing +김종태님, 안녕하세요! ← 로빙 답변 (철 번째 표시) +``` + +## 3. 확인된 원인 +1. **이중 역전 문제**: chat-interface.tsx 라인 157, 227에서 `response.messages.reverse()` 사용 +2. **서버 응답 순서**: 최신 메시지부터 내림차순 (최신→과거) +3. **클라이언트 처리**: reverse()로 뒤집어서 과거→최신 순으로 변경 +4. **신규 메시지 추가**: `[...newMessages.map(), ...prev]` 새 메시지를 앞에 추가 + +## 4. 확인된 정보 +- **컴포넌트 파일**: frontend-customer/src/components/chat-interface.tsx +- **API 호출**: robeing-api.ts:150-162 getMessages() 함수 +- **API 엔드포인트**: /api/conversations +- **timestamp 필드**: 문자열 타입 +- **sender 구분**: 'user' | 'robeing' + +## 5. 해결 방안 (로컬 개발자 작업) + +### 5.1 reverse() 제거 +```javascript +// 현재 코드 (chat-interface.tsx:157, 227) +response.messages.reverse() // 이 부분 제거 + +// 수정 후 +response.messages // reverse() 없이 그대로 사용 +``` + +### 5.2 메시지 추가 로직 수정 +```javascript +// 현재: 새 메시지를 앞에 추가 +[...newMessages.map(), ...prev] + +// 수정: 순서 조정 필요시 +[...prev, ...newMessages.map()] +``` + +## 6. 해결 완료 +### 수정 내역 +- **커밋**: 878be9b - 대화 순서 정상화 +- **수정 파일**: chat-interface.tsx +- **라인 157**: `response.messages.reverse()` → `response.messages` +- **라인 227**: `prevMessages.messages.reverse()` → `prevMessages.messages` +- **메시지 추가 로직**: `[...newMessages.map(), ...prev]` 유지 +- **결과**: 사용자 발화 → 로빙 답변 순서로 정상 표시 + +## 7. 추가 확인 사항 +- **DB 저장 문제**: conversation_logs 테이블에 Slack 대화 저장 안 됨 (별개 이슈) +- **API 엔드포인트**: /api/conversations/recent 404 에러 (51124 서버) +- **테이블 컬럼**: message, response, timestamp 사용 (user_message 컬럼 없음) \ No newline at end of file