회사의 서비스를 이용하고 있는 업체 중 최근에 노트북을 구매하고 윈도우 패치를 한 고객들에게만, 고객 검색창에서 고객을 선택했을 때 정보가 제대로 바인딩 되지 않는 이슈가 발생했다.
나름 급한 이슈였기 때문에 프론트엔드 두 명 모두 붙어야 했다.
특정 OS 패치에서만 발생하는 이슈였고, 좀 막막했던 것은 사실이다. OS문제를 어떻게 하지??
문제가 됐던 부분은 셀렉트 박스에서 고객을 선택하면 클릭 이벤트와 블러 이벤트가 발생하는 상황에서 특정 패치에서만 블러 이벤트가 발생했을 때 고객 정보가 바인딩 되지 않는 부분이었다.
로그를 찍어보다가 왜 해당 패치에서만 그러는걸까? 라는 의문은 제쳐두고, 왜 블러 이벤트가 발생하는 거지? 라는 생각을 했다. 블러 이벤트가 필요한게 아니라면? 증상이 아니라 병을 고치면 해결될 일이었다.
그래서 혹시 이전에 고객을 다수 선택한 적이 있냐고 물었고 아니라는 답변을 들었다. 다수 선택을 하고 블러 이벤트가 발생했을 때 데이터가 바인딩 돼야 했다면 어쩌면 지금의 동작도 가져갈 수 있는데 아니었던 것이다. 그럼 문제가 심플해졌다.
애초에 고객을 선택했을 때 두 이벤트가 발생하면 안되는 것이었다.
레거시에서 사용하던 UI컴포넌트에 블러가 되면 셀렉트 이벤트가 발생하는 속성이 들어가 있는 걸 발견하고 그 한 줄을 제거함으로써 문제를 해결했다.
초기 작업자 말고 이후 작업자가 블러 이벤트 발생하는걸 필연적으로 보고 추가 작업해놓은 코드가 있긴한데...나중에....윽...해결하기로 하고...
세팅을 하는데 한세월 걸리고 문제를 파악하고 해결하는데 1시간 남짓 걸렸다.
...밥값은 한 것 같은데 영 가성비가 안나오는 것 같기도 하고.