Skip to content

커스텀 주문 수락: 확인 표시를 수락 요청에 실어 보낸다 - #376

Merged
Jay722J merged 1 commit into
mainfrom
fix/accept-appendix-ack-race
Sep 10, 2026
Merged

커스텀 주문 수락: 확인 표시를 수락 요청에 실어 보낸다#376
Jay722J merged 1 commit into
mainfrom
fix/accept-appendix-ack-race

Conversation

@Jay722J

@Jay722J Jay722J commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Closes #375

무엇이 잘못됐나

특장사가 커스텀 요청사항을 체크했는데도 수락이 409 APPENDIX_UNREAD 로 튕겼다.

화면이 확인을 void ackAppendix(id) 로 쏘고 기다리지 않은 채 곧바로 수락을 보냈다. 수락 쪽이 확인 쪽 쓰기보다 먼저 읽어 막았다. 재현 시험에서 6번 중 6번 실패 — 커스텀 주문은 화면에서 받을 방법이 없었다.

어떻게 고쳤나

받는 것은 한 동작이므로 요청도 하나로 둔다.

  • PATCH /orders/:id/acceptappendix_ack 를 받는다.
  • 서버가 같은 쓰기에서 수락 시각과 확인 기록(누가·언제)을 함께 남긴다 — 수락은 됐는데 근거만 없는 상태를 만들지 않는다.
  • 이미 확인해 둔 주문의 처음 확인 시각은 덮어쓰지 않는다.
  • 서버 검사는 그대로. 확인을 싣지 않으면 여전히 409 다(화면만 믿지 않는다).

곁다리로 정리한 것

  • 409 문구가 아직 「별지(2페이지)」였다. 장이 하나가 되면서 가리킬 페이지가 없어졌으므로 「발주서의 커스텀 요청사항」으로 고쳤다.
  • 쓰는 곳이 없어진 ackAppendix() 클라이언트 함수를 지웠다. 남겨 두면 다시 수락 경로에 끼어든다. 서버의 appendix-ack 엔드포인트는 그대로 둔다(「확인만」 남기는 자리).

검증

backend/src/__tests__/appendix-ack-accept.test.ts 5개.

되돌려 각각 걸리는 것을 확인했다.

되돌린 것 걸린 검사
서버가 appendix_ack 를 무시 확인을 실으면 한 번에 수락된다
화면이 다시 확인을 따로 쏨 화면이 확인을 따로 쏘고 곧바로 수락하지 않는다
확인 기록을 같은 쓰기에서 뺌 확인을 실으면 한 번에 수락된다

백엔드 전체 672개 통과 · 프론트 클린 빌드 통과.

스키마 변경 없음(기존 appendix_ack_at / appendix_ack_by 컬럼을 그대로 쓴다).

특장사가 커스텀 요청사항을 체크했는데도 수락이 409 로 튕겼다.

화면이 `void ackAppendix(id)` 로 확인을 쏘고 **기다리지 않은 채** 곧바로
수락을 보냈다. 수락 쪽이 확인 쪽 쓰기보다 먼저 읽어 막았다. 재현해 보니
6번 중 6번 — 경합이 아니라 사실상 언제나였고, 커스텀 주문은 화면에서
받을 방법이 없었다.

받는 것은 한 동작이므로 요청도 하나로 둔다. 수락에 `appendix_ack` 를
실어 보내고, 서버가 같은 쓰기에서 확인 기록까지 남긴다 — 수락은 됐는데
근거만 없는 상태를 만들지 않는다. 이미 확인해 둔 주문의 처음 확인 시각은
덮어쓰지 않는다.

서버 검사는 그대로다. 확인을 싣지 않으면 여전히 409 다.

- 409 문구가 아직 「별지(2페이지)」였다. 장이 하나가 되면서 가리킬 페이지가
  없어졌으므로 「발주서의 커스텀 요청사항」으로 고쳤다.
- 쓰는 곳이 없어진 `ackAppendix()` 클라이언트 함수를 지웠다. 남겨 두면
  다시 수락 경로에 끼어든다. 서버의 `appendix-ack` 는 그대로 둔다.

검사 5개. 셋을 되돌려 각각 걸리는 것을 확인했다 —
서버가 `appendix_ack` 를 무시할 때, 화면이 다시 따로 쏠 때,
확인 기록을 같은 쓰기에서 뺄 때.
@Jay722J
Jay722J merged commit 9b82e4b into main Sep 10, 2026
4 checks passed
@Jay722J
Jay722J deleted the fix/accept-appendix-ack-race branch September 10, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

커스텀 주문을 특장사가 수락할 수 없다 — 확인 체크에도 409

1 participant