Skip to content

fix(afternote): 만진 필드의 동시 편집 충돌이 last-write-wins 로 남는다 — 조건부 갱신 수단 부재 (#1617 후속) #1733

Closed

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

afternote — 애프터노트

개요

PR #1626 이후 애프터노트 수정 PATCH 는 사용자가 만진 필드만 싣는다. 그래서 안 만진 필드가 조용히 삭제되는 #1617 의 재현 경로는 사라졌지만, 사용자가 실제로 만진 필드를 두 기기가 동시에 편집하면 여전히 나중 저장이 이긴다(last-write-wins). 요청 DTO 에 버전 토큰·updatedAt·If-Match 류 조건부 갱신 수단이 없기 때문이다.

BE origin/main 애프터노트 도메인에 @Version·If-Match·ETag 가 0건이라(PR #1626 실측) BE 선행이다.

해야 할 일:

  • BE 와 조건부 갱신 수단을 합의한다 — 버전 토큰 / updatedAt 기반 조건부 갱신 / If-Match 중 무엇인지. 결론 전에는 FE 구현 금지
  • 서버가 거절을 돌려줄 때 화면이 무엇을 하는지 정한다 — 「그 사이 다른 곳에서 바뀌었습니다」 안내와 다시 읽을 수단
  • 합의된 계약과 현재 PATCH 동작의 차이 및 검증 기준을 기록한다. 확정 전 토큰·헤더·오류 UI 구현을 예약하지 않는다.

완료 조건: 조건부 갱신 수단과 충돌 시 사용자 동작의 확정 근거를 기록한다. 실제 구현 범위는 그 계약이 준비된 뒤 정한다.

참고

Activity

  1. github-actions commented on Sep 2, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  2. OnlyReadOneBook commented on Sep 2, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    서버 선행을 Afternote/Afternote-BE#278 으로 세우고 이 이슈의 blocked_by 로 걸었습니다. 조건부 갱신 수단·충돌 응답 규격이 거기서 정해진 뒤 FE 를 착수합니다.

  3. OnlyReadOneBook commented on Sep 19, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    2026-09-19 정리로 닫는다. 이 이슈의 완료 조건은 BE의 결정에 달려 있어 결정 전에는 FE 가 무엇을 만들지 쓸 수 없다. 그런 이슈는 FE 저장소에 열어 두지 않고 결정이 나면 그때 새 이슈로 다시 연다.

    기다리는 결정: 조건부 갱신 수단(버전 토큰/If-Match)을 쓸지와 그 형태를 BE 와 합의.

    BE 쪽 이슈에서 결정되면 FE 이슈를 다시 연다.

  4. OnlyReadOneBook commented on Sep 30, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    한 계정의 여러 기기 동시 사용을 허용할지 PM 질문방에 올렸습니다(2026-09-30). 허용 여부에 따라 이 이슈의 처리 방향이 갈립니다: https://discord.com/channels/1423516014330646760/1425390413128138862/threads/1554866923521450035

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:afternote애프터노트 기능 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions