Skip to content

Conversation

@bis0908
Copy link
Collaborator

@bis0908 bis0908 commented Nov 4, 2025

브랜치 통합 테스트를 위한 병합 작업

- Fabric.js 캔버스 중복 초기화 방지 로직 추가
- freeDrawingBrush undefined 오류 수정 (null 체크 추가)
- WhiteboardCanvas 컴포넌트 useEffect 의존성 최적화
- 기존 캔버스 dispose 후 재초기화 처리

해결된 오류:
- Cannot set properties of undefined (setting 'width')
- fabric: Trying to initialize a canvas that has already been initialized
- PencilBrush를 명시적으로 생성하여 드로잉 기능 활성화
- isDrawingMode를 캔버스 생성 후 설정 (Fabric.js v6 방식)
- 브러시 색상/두께 설정 메서드에 브러시 자동 생성 로직 추가
- 초기화 로그에 브러시 상태 정보 추가

해결된 문제:
- 캔버스에 마우스로 드로잉해도 아무것도 표시되지 않던 문제 해결
- freeDrawingBrush가 undefined였던 문제 해결
- RoomContext useEffect cleanup 함수가 leaveRoom 의존성으로 인해 반복 실행되던 문제 수정
- 방 페이지 useEffect 의존성 배열 최적화 (roomId만 의존)
- Socket 연결이 유지되어 화이트보드 이벤트 전송 가능

해결된 문제:
- Socket 연결 후 바로 끊어지던 문제
- 'Socket이 연결되지 않았습니다' 반복 오류
- 화이트보드 드로잉 이벤트가 상대방에게 전송되지 않던 문제의 근본 원인 해결
- handleSignal에서 peer destroyed 상태 체크 추가
- handleOffer에서 기존 연결 정리 후 재초기화
- handleParticipantJoined에서 기존 연결 정리 후 재초기화

해결된 오류:
- InvalidStateError: Failed to execute 'setLocalDescription' on 'RTCPeerConnection'
- Error: cannot signal after peer is destroyed
@bis0908 bis0908 merged commit 98a6a5e into develop Nov 4, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants