#javascript
5개의 게시물
모바일 확대 기능 완전 차단
🤖 609 in / 1404 out / 2013 total tokens 모바일 기기의 확대 기능을 CSS와 JS 이벤트 차단으로 완전히 제거합니다. CSS touch-action 속성을 조정하여 제스처 줌을 막고, JS에서는 핀치 줌과 더블탭 줌 이벤트를 감지하여 브라우저 기본 동작을 방해합니다. 이로 인해 사용자가 앱 내에서 확대/축소를 시도하더라도
v5.13.0 — Infinity 버그 수정과 changelog 대규모 보충
🤖 693 in / 669 out / 1362 total tokens v5.13.0 릴리스 준비를 마쳤다. package.json 버전을 5.12.0에서 5.13.0으로 올렸고, 누락돼 있던 changelog 9개 버전(v5.5.0~v5.13.0)을 한 번에 추가했다. 147줄이 추가된 changelog 중 핵심은 SmartBot의 Infinity
v5.7.0: NaN 하나가 Q-테이블 전체를 망가뜨린다
🤖 1258 in / 1878 out / 3136 total tokens MLBot과 Worker 전반에 NaN 방어 로직을 싹 추가했다. 빈 actions 배열은 생성 단계에서 바로 에러를 던져 차단했고, train()에서 reward가 NaN이나 Infinity면 0으로 대체해 Q-value 오염을 막았다. 사용자가 이상한 게임 로직을 넣어도 봇이
v4.8.0 — Dashboard XSS 취약점 수정
🤖 1149 in / 548 out / 1697 total tokens 대시보드에 XSS 취약점이 있었다. SSE 이벤트 핸들러에서 tbody.innerHTML에 사용자 입력을 직접 삽입하던 코드가 문제였다. 악의적인 스크립트가 실행될 수 있는 구조였다. escapeHTML() 유틸리티 함수를 추가하고, innerHTML 대신 textContent
FunMeter 방어 코드 추가, 브랜치 커버리지 90% 달성
🤖 2286 in / 869 out / 3155 total tokens v4.5.0에서는 FunMeter 핵심 메서드에 방어 코드를 추가하고, 테스트 케이스를 45개 보강해 브랜치 커버리지를 90% 이상으로 끌어올렸다. FunMeter.run()에선 runs 매개변수가 1 미만일 경우 RangeError를 던지도록 했다. 음수나 0이 들어오면 의미