문제

채팅방에 중복으로 접속시 초기 데이터를 못불러오는 버그가 있어요.

Untitled

원인

동일한 사용자가 브라우저 2개 이상으로 동일한 채팅방에 들어왔을 때 처리가 필요했습니다.

중복 세션의 경우 안읽은 사람수 계산하기 의 처리로 인해 이미 세션에 접속 중이면 마지막 읽은 메세지 값이 null 입니다.

그래서 커서로 사용할 채팅이 없어 프론트에서 채팅 데이터를 요청하지 못해서 발생했습니다.

해결방안

그래서 이 문제를 해결하고자 중복 세션 검증 로직을 추가했습니다.

이미 세션이 존재하다고 판단되면, 마지막으로 읽은 채팅부터 읽는 것이 아니라, 마지막 채팅부터 읽어오도록 수정했습니다.

const prevMessages: ChatMessageResponseDto = 
	await this.findMessagesByLogId({cursorLogId:
		meUser.lastChatLogId || (await this.chatRepository.findLastChatLogIdByRoomId(roomId)),
  count: 0,
  direction: 1,
  roomId,
});

Fix/BE/#365: 채팅방 중복 세션시 초기 데이터를 못불러오는 버그 수정 by Capoomaru · Pull Request #367 · boostcampwm2023/web03-LockFestival