엔트리(playentry.org)의 오픈소스 코어인 entryjsentry-tool에서 버그를 직접 추적해 수정하고 공식 저장소에 PR로 기여한 내역입니다. 버그 제보에서 그치지 않고 원인을 코드 레벨까지 짚은 다음, 최소 침습으로 고치고 검증(정적 검사·테스트·빌드·브라우저 자동화·영상)을 마친 뒤 올렸습니다.

기여대상상태
Sortable 드래그-중-스크롤 좌표 수정entry-tool #469PR 제출
블록 메뉴 Ctrl+1~Ctrl+9 단축키 인덱스 수정entryjs #3074PR 제출
속성 사용처 패널 미갱신 · 메모리 누수 수정entryjs #3076PR 제출

1. entry-tool #469 — Sortable 드래그 중 스크롤 좌표 수정 (PR 제출)

모양 · 소리 · 장면 목록을 정렬하려고 드래그하는 도중에 스크롤하면 드롭 위치가 포인터와 어긋나던 버그를 수정했습니다.

2. entryjs — 블록 메뉴 Ctrl+1~Ctrl+9 단축키 인덱스 수정 (PR 제출)

만들기 화면에서 Ctrl+1~Ctrl+9로 블록 카테고리가 선택되지 않던 버그를 수정했습니다.

3. entryjs — 속성 사용처 패널: 오브젝트/장면 삭제 시 미갱신 · 메모리 누수 수정 (PR 제출)

변수 · 리스트 · 신호 · 함수의 “이 속성을 사용하는 오브젝트” 패널이 블록 삭제에는 즉시 갱신되지만, 오브젝트를 직접 삭제하거나 장면 삭제로 오브젝트가 사라질 때는 갱신되지 않아 이미 없는 오브젝트가 남고 카운트도 과다 집계되던 버그입니다.

분석했으나 미제출 — 모양 정렬 스크롤 (entryjs)

“모양 순서를 바꾸면 목록이 맨 위로 튀는” 버그를 파고들다, 이게 별개의 두 버그임을 규명했습니다 — ① entryjs가 재렌더 때 스크롤을 0으로 리셋, ② entry-tool이 드래그 중 스크롤 좌표를 잘못 계산. ①은 운영자가 공식 PR #3075로 더 일반적으로 수정했기에 우리 준비 브랜치는 미제출로 종결했고(우리 분석이 공식 수정 방향과 일치함을 사후 확인), #3075 범위 밖이던 ②를 직접 고쳐 위 entry-tool #469로 제출했습니다.

기여 방식 · 원칙

기술 스택 · 환경

entryjs (TypeScript · webpack · pnpm 9 · Jest) · entry-tool (React · react-sortable-hoc · react-custom-scroll) · GitHub fork & PR 워크플로 · 브라우저 자동화 검증