HeuJung
6bde24bc75
fix(ecommerce): 숫자 설정 문자열 영속으로 인한 주문 생성 실패 해소
...
관리자 환경설정에서 미입금 자동취소 기한을 저장하면 HTML number 입력의
문자열이 그대로 영속되고, Carbon 3.13 의 strict 타입 경계에서 TypeError 가
발생해 무통장입금·가상계좌 주문이 전면 실패했다(공개 제보). 한 곳만 막으면
다른 저장 경로가 남으므로 저장·조회·소비·모델 네 계층에 각각 방어를 두고,
저장소 전역에서 같은 형태가 더 없음을 audit 룰로 확정했다.
같은 계획서 수행 중 드러난 인접 결함도 함께 해소했다.
- 쿠폰 수정 경로로 (발급일 기준, 일수 NULL) 조합이 저장되어 발급 즉시
만료된 쿠폰이 조용히 나가던 문제 — 저장·발급 양쪽에서 차단
- 리뷰 작성 기한을 화면과 저장 판정이 서로 다른 기준으로 계산하던 문제
- 결제 플러그인이 PaymentMethodEnum 과 다른 어휘로 지원 결제수단을 선언해
가상계좌·계좌이체·휴대폰결제에 PG사를 지정할 수 없던 문제
엔진에서는 `_localInit` 적용 여부를 전역 해시로만 판정해 인스턴스별 저장소가
리셋되지 않던 결함(engine-v1.54.5)과, 제거 대상이 없어도 상태 갱신·캐시
무효화가 상시 발생하던 판정 결함(engine-v1.54.6)을 고쳤다.
Playwright MCP 정밀 점검(T1~T11)에서 설정이 빈 문자열로 남은 사이트의
주문서 입금기한 안내가 미치환 플레이스홀더를 노출하는 것을 실측해, 화면
폴백을 서버와 같은 규칙으로 맞췄다.
2026-08-02 18:35:28 +09:00
..
2026-05-11 11:29:41 +09:00
2026-07-07 10:40:22 +09:00
2026-07-02 17:58:33 +09:00
2026-07-30 07:52:24 +09:00
2026-07-30 07:52:24 +09:00
2026-07-28 12:40:12 +09:00
2026-08-02 14:44:33 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-05-14 12:24:08 +09:00
2026-07-01 10:30:32 +09:00
2026-07-08 13:54:18 +09:00
2026-05-14 11:13:08 +09:00
2026-07-03 19:16:11 +09:00
2026-07-01 10:30:32 +09:00
2026-07-20 14:17:49 +09:00
2026-08-02 15:29:29 +09:00
2026-07-02 17:58:33 +09:00
2026-07-05 21:57:39 +09:00
2026-07-01 10:30:32 +09:00
2026-07-16 10:22:51 +09:00
2026-07-03 17:47:23 +09:00
2026-07-01 10:30:32 +09:00
2026-07-16 10:22:51 +09:00
2026-07-01 10:30:32 +09:00
2026-07-02 17:58:33 +09:00
2026-07-24 16:17:44 +09:00
2026-07-03 17:47:23 +09:00
2026-05-12 17:58:34 +09:00
2026-05-12 17:58:34 +09:00
2026-07-30 07:52:24 +09:00
2026-05-11 11:29:41 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-05-11 11:29:41 +09:00
2026-05-15 19:24:41 +09:00
2026-07-13 17:00:59 +09:00
2026-05-11 11:29:41 +09:00
2026-05-15 19:24:41 +09:00
2026-07-27 14:58:48 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-31 00:43:58 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-26 15:17:56 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-02 17:58:33 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-02 17:58:33 +09:00
2026-07-26 15:17:56 +09:00
2026-07-02 17:58:33 +09:00
2026-08-02 18:35:28 +09:00
2026-07-01 10:30:32 +09:00
2026-07-01 10:30:32 +09:00
2026-07-24 16:17:44 +09:00
2026-07-20 16:15:24 +09:00
2026-07-01 10:30:32 +09:00
2026-07-30 07:52:24 +09:00
2026-05-12 17:58:34 +09:00
2026-07-14 12:50:23 +09:00
2026-07-27 10:03:06 +09:00
2026-05-11 11:29:41 +09:00
2026-05-11 11:29:41 +09:00
2026-07-20 14:17:49 +09:00
2026-07-18 20:56:47 +09:00
2026-07-01 10:30:32 +09:00
2026-05-12 17:58:34 +09:00
2026-07-02 17:58:33 +09:00