egloos.com 의 밸리/이오공감 — egloos 내부 버전의 메타 블로그 비슷한 것? — 에서 특정 사용자의 글이 보이지 않게 해주는 Google Chrome용 확장 기능(extension)을 예~전에 만들어서 공개 했다.
어제 그제 “특정 사용자의 블로그는 차단되지 않습니다”라는 메일을 두 통이나 받았다(…). 다운로드 수 100언저리의 플러그 인에서 이런걸로 봐선 뭔가 문제가 있나 싶어서 오늘 테스트 해보니 문제가 있더라;
다행히도 두 분다 “특정 블로그” 주소를 언급해주셔서 쉽게 잡았다 — 버그는 재현 방법만 알면 정말 절반은 잡은 셈이니;;;
여튼 비정상 동작의 원인은, egloos에서 블로그 주소를 바꿀 수 있는데 — ???.egloos.com의 ??? 부분 — 이 부분을 대문자로 입력할 수 있더라고? 예전에 저 extension을 작성할 때는
Domain name은 대소문자 구분이 무의미하니 대충 소문자만 하자
였고, 사용 의도도 “웹 브라우저 주소 표시줄에서 잘라다가 붙이면 된다” 였는데 — 웹 브라우저는 주소 표시줄에 도메인 이름은 소문자로 치환한다 — 이 가정이 가볍게 깨진 듯. 그래서 그냥 주소 저장할 때 / 검사할 때 toLowerCase() 해서 처리했음.
이 처리 방법은 non-ascii 에서 문제가 있을 순 있는데 — 대문자 -> 소문자 변환이 불가능한 일부 latin1 문자가 있다 — 일단 egloos에서 그런 주소는 아직 못 봤으니, 일단 이 정도로 떼우고 넘어가기로 했다.
일단 수정한 버전을 오늘 아침에 올렸고, 새 버전에선 정상 동작하는 상태가 되었다.
결론: 제보해 주신 두 분(쿠로네코 님, 다크초콜릿 님)께 감사드립니다 :D