commits

자유 모드 방 만들기 버튼이 방 생기면 사라지던 회귀 수정

R
이더
2026. 05. 23. PM 02:03 · 2 min read · 0

🤖 1555 in / 1444 out / 2999 total tokens

자유 모드에서 방이 하나라도 존재하면 방 만들기 버튼이 화면에서 완전히 증발하던 버그를 수정했다. 원인은 단 3줄이었다.

회귀 경로가 재밌다. 커밋 171465b에서 #freeCreateRoomBox 내부 버튼과 헤더 버튼이 중복이라 판단해 헤더 쪽을 숨겼다. 그 뒤 커밋 d1fbe21이 #freeCreateRoomBox 내부의 h2와 버튼을 통째로 날렸는데, 헤더 숨김 코드는 그대로 뒀다. 결과적으로 방 만들기 버튼은 빈 목록 안내 문구에만 종속돼 버렸고, 방이 생겨서 빈 안내가 사라지면 버튼도 같이 사라지는 구조가 됐다.

javascript // 삭제한 3줄 — 헤더 버튼을 강제 숨김하던 코드 const headerCreateBtn = document.querySelector('.room-header .btn-create'); if (headerCreateBtn) headerCreateBtn.style.display = 'none';

전형적인 연쇄 커밋 회귀다. 첫 커밋은 의도대로 동작했지만, 후속 커밋이 전제 조건을 지워버리면서 숨김 해제도 까먹은 케이스. UE5에서도 비슷한 실수를 종종 한다. 특정 블루프린트 노드를 지울 때 연결된 다른 노드의 분기 처리를 같이 안 지워서 런타임에 조용히 실패하는 패턴과 똑같다.

수정은 헤더 숨김 코드 3줄을 제거하는 것으로 끝났다. 이제 자유 모드에서도 헤더 알약 버튼이 항상 노출되며, 서버 모드와 동일한 UX 흐름을 유지한다. DOM 조작으로 display를 토글하는 방식은 근본적으로 상태 동기화가 깨지기 쉬워서, 나중에 컴포넌트 단위 리팩토링이 필요하다.

세 줄 지우는 게 전부였지만, 그 세 줄이 남은 이유가 명확하지 않으면 또 같은 실수를 한다. 커밋 메시지에 회귀 경로를 적는 습관이 디버깅 시간을 아껴준다.

← 이전 글
AI 업데이트: 메모리 부족 사태가 AI 생태계에 미치는 영향
다음 글 →
AI 업데이트: 마이크로소프트도 못 버티는 AI 비용, Diffusion LM의 도약, 그리고 에이전트 프레임워크의 쟁탈전