어떤 기능인가요?
오프라인에서 만든 타이머를 재시도 전송할 때 중복 생성을 막습니다. 클라이언트가 응답을 받기 전에 앱이 종료되면, 재시도로 서버에 같은 타이머가 두 개 생깁니다.
- 타이머 생성 요청(심플·커스텀)에 createRequestId(UUID) 필드를 추가합니다. 클라이언트는 행 생성 시 발급해 저장하고 재시도에도 같은 값을 보냅니다
- (memberId, createRequestId)에 유니크 제약을 겁니다
- 같은 식별자의 요청이 다시 오면 새로 만들지 않고 기존 타이머의 id를 그대로 돌려줍니다
- createRequestId가 없는 요청(구버전 앱)은 기존대로 생성합니다
작업 상세 내용
참고할만한 자료(선택)
안드로이드 오프라인 1단계 디자인 문서의 위험 요소 2(전송 응답 유실 시 중복 생성) 기준입니다. 안드로이드 TimerSyncWorker 작업이 이 변경의 prod 배포에 의존합니다.
어떤 기능인가요?
오프라인에서 만든 타이머를 재시도 전송할 때 중복 생성을 막습니다. 클라이언트가 응답을 받기 전에 앱이 종료되면, 재시도로 서버에 같은 타이머가 두 개 생깁니다.
작업 상세 내용
참고할만한 자료(선택)
안드로이드 오프라인 1단계 디자인 문서의 위험 요소 2(전송 응답 유실 시 중복 생성) 기준입니다. 안드로이드 TimerSyncWorker 작업이 이 변경의 prod 배포에 의존합니다.