CS492-FE-Dev-Team-Project / LiveClass

블렌디드 러닝을 위한 실시간 · 비실시간 강의 지원 서비스
http://ec2-3-38-83-97.ap-northeast-2.compute.amazonaws.com/
MIT License
1 stars 2 forks source link

[Backend/Bug] when new user joins a class #130

Closed hy2850 closed 2 years ago

hy2850 commented 2 years ago

개요

새 유저가 class에 join할때 아래와 같이 에러가 나면서 서버가 작동을 중지합니다.

image

원인

  1. class.ts 보면 members에 현재 클래스에 조인한 멤버들 목록을 저장
  2. 근데 class를 처음 만들때 DB에 등록되어있는 멤버들만 가지고 저 members를 초기화
  3. 그러면, 초기화 이후에 새 유저가 class에 join해서 DB에 새로 추가되면 그녀석은 class.members에는 없음
  4. class 인스턴스의 member 배열에 해당 유저가 없는데도 getMemberById로 찾아오려고 해서 에러남.

어찌되면 에러가 나는게 당연한게, 새 유저를 class에 추가하는데 기존 class.member 배열에서 그 유저를 찾으려 하는거니까

// OnJoinClass
cls.getMemberById(user!.id).setConnectStatus(true); // error

대안

JoinClass 이벤트 시, class.member에 유저를 추가

jirheee commented 2 years ago

작동하도록 고쳐서 푸시했습니다! 마저 하시면 될 것 같습니다 :)