어떤 버그인가요?
이슈 상세 페이지의 댓글 기능과 관련하여 두 가지 버그가 발생하고 있습니다.
- 데이터 누락: 댓글 목록 조회 API(GET /issues/{issueId}/comments) 응답에 댓글 작성자 ID(authorId)가 누락됩니다.
- 정렬 로직 오류: 대댓글을 작성하면, 해당 대댓글이 달린 부모 댓글의 순서가 전체 목록의 최상단으로 변경됩니다.
어떤 상황에서 발생했나요?
(가능하면) Given-When-Then 형식으로 서술해주세요.
- 권한 확인 실패
- Given: 로그인한 사용자가 본인이 작성한 댓글을 확인하는 상황.
- When: 이슈 상세 페이지에 진입하여 댓글 목록을 불러온다.
- Then: authorId가 없어 내가 쓴 댓글임에도 수정/삭제 버튼이 보이지 않는다.
- 정렬 순서 파괴
- Given: 댓글들이 작성 시간(최신순)으로 정렬되어 있는 상태.
- When: 목록의 가장 아래에 있는 오래된 댓글에 '답글'을 작성한다.
- Then: 답글이 달린 오래된 댓글 묶음 전체가 댓글 목록의 맨 위로 올라와 버린다.
재현 방법
어떻게 버그를 재현할 수 있는지 단계별 설명
- authorId 누락 문제
- 아무 계정으로나 로그인합니다.
- 특정 이슈 상세 페이지로 이동하여 새 댓글을 작성합니다.
- 페이지를 새로고침한 후, 브라우저 개발자 도구의 '네트워크' 탭에서 /comments API 응답을 확인하면 authorId 필드가 없는 것을 볼 수 있습니다. (웹 상에서는 수정/삭제 버튼이 활성화가 되지 않습니다.)
- 정렬 문제
- 이슈 상세 페이지에서 댓글이 여러 개 있는 것을 확인합니다.
- 스크롤을 내려 가장 오래된 (가장 아래에 있는) 댓글에 '답글' 버튼을 누릅니다.
- 내용을 입력하고 '답글 등록'을 클릭합니다.
- 댓글 목록이 새로고침되면서, 방금 답글을 단 오래된 댓글이 목록 최상단으로 이동하는 것을 확인합니다.
기대 결과
정상 동작 시 예상되는 결과
정상 동작 시 다음과 같이 동작해야 합니다.
- GET /issues/{issueId}/comments API 응답의 모든 댓글 객체(대댓글 포함)에는 authorId 필드가 반드시 포함되어야 합니다.
- 대댓글을 작성해도 최상위 댓글들의 정렬 순서는 변경되지 않아야 합니다. 정렬은 오직 최상위 댓글들의 createdAt을 기준으로 이루어져야 합니다.
실제 결과
현재 발생하고 있는 문제 상황
현재 두 기능 모두 비정상적으로 동작하고 있습니다.
- API 응답에 authorId가 누락되어 프론트엔드에서 댓글 수정/삭제 권한을 확인할 수 없습니다.
- 대댓글을 작성하면 부모 댓글의 정렬 순서가 의도치 않게 변경되어 사용자 경험을 해칩니다.
수정 예정 사항
참고 자료(선택)
스크린샷, 로그, 기타 참고 자료 등 참고할 만한 정보가 있다면 추가해주세요.
- authorId 누락 문제에 대한 프론트엔드 콘솔 로그입니다.
Current User ID: 3 (Type: number )
Comment Author ID: undefined (Type: undefined )
데스크탑:
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
스마트폰:
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
어떤 버그인가요?
어떤 상황에서 발생했나요?
재현 방법
기대 결과
실제 결과
수정 예정 사항
참고 자료(선택)
데스크탑:
스마트폰: