상담 일정을 변경하면 새 토큰이 발급되지만 옛 토큰의 만료가 따라가지 않아, 예약 문자에 이미 삭제된 토큰이 실려 나갔습니다. 일정 변경 경로에서 토큰 만료를 함께 갱신하도록 고치고, 배포본을 직접 실행해 검증한 뒤 운영에 반영했습니다.
컬럼 하나가 만든 세 가지 증상
AI 상담이 “비활성화”로 보이고, SNS 로그인이 튕기고, 기본 기관이 잘못 표시되는 세 가지 신고가 따로 들어왔는데 원인은 전부 레거시 users.partnerId였습니다. 코드를 고치고 데이터 72명을 전수 교정했습니다. 죽은 조건(|| 상수)은 되살리면 깨져서 제거만 했습니다. 회귀 0을 실측했습니다.
예약 화면 버그 4건
PC 날짜 달력(.dateArrow pointer-events), 채팅 링크 다중 기관 LNB(세션 복구 회귀), 날짜칸 autocomplete, 모바일 예약 기관 select 미채움. 처음엔 세션 복구 회귀로 짚었지만 실제 핵심은 예약 모달 select 미채움이었습니다. 오진단을 기록으로 남겼습니다.
캐시 정책과 그 밖에
배포 직후 옛 JS가 보이던 문제를 쿼리 버전(?v=) + html no-cache + js/css 1일 캐시로 정리했습니다. 배포 도구 쪽 PR과 함께 dev·prod 라이브.
산하 기관 계층 기능(교육청 산하 기관 매핑), Agora webhook 기반 음성 비용 측정 페이지(webhook 중복 세션 레이스 수정 포함).