:bug: 이벤트 생성 client side byte 길이 검사 encoding 오류
42ghan opened this issue · comments
Daniel Han commented
발생 일시
20220126
발생 위치
증상
- 이벤트 상세정보 팝업 UI 테스트 해보려고 상세정보 max bytes(4096) 테스트하다가 오류 발견했습니다.
- Lorem Ipsum generator 로 4096 bytes 상세설명에 넣어봤는데 바이트 수 초과됐다고 알림
- 한글을 두 글자 추가했는데 한글이 1 byte 로 count
- client side 에서 byte 셀 때 개행이
\r\n
두 바이트가 아니라 한 바이트로 인식 돼서 server side 에서 개행 수만큼 더 많은 byte 로 인식
재현 방법
- 이벤트 생성 폼 input 에 max byte 이상을 넣고 생성 시도
Daniel Han commented
encodeURI()
가 말 그대로 uri 를 encode 해주는 함수여서 문제였습니다.- 줄레님이 발견하신
new TextEncoder().encode(str)
으로 encoding 하니 제대로 utf-8 encoding 된 byte 개수가 세집니다.
세희님 & 줄레님이랑 같이 발견하고 제 local 에서 수정했어서 현재 열려있는 pr 수정에 같이 반영해서 push 하겠습니다.