You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
네트워크가 끊긴 상태에서 일정 저장·편집·삭제·완료를 누르면 저장 대기가 끝나지 않거나, 목록과 알람 처리 시점이 어긋날 수 있습니다. 연결 복구 후 다시 저장하는 과정에서 같은 일정이 중복될 수도 있습니다.
이번 릴리스는 서버가 확인한 일정 쓰기 뒤에 알람을 처리하는 계약으로 통일합니다. 오프라인에서는 쓰기를 대기열에 남기지 않고 연결 필요 안내를 표시하며 입력과 재시도를 유지합니다. 새 일정은 제출 전에 만든 같은 ID로 재시도하고 시스템의 화면 복원에서도 ID를 유지합니다. 이미 저장된 문서를 덮어쓰지 않고, 완료 실패 시 화면 상태를 복구합니다.
범위와 검증
일정 생성·편집·삭제·완료의 온라인 transaction 처리와 취소 전파.
같은 저장 요청의 ID 보존 및 기존 문서·늦은 응답·재시도 경계 검증.
한국어 연결 안내, 입력 보존, 완료 실패 복구 및 서버 성공 후 알람 처리 유지.
완료·시간표 화면에서 로그아웃 시 이전 목록을 비우고, 같은 날짜의 재로그인에서도 일정 구독을 복구. 이전 계정의 완료 실패가 새 화면을 덮지 않도록 제한.
실제 Firestore emulator, Kotlin 경계 회귀, 영향 빌드/lint 및 PR CI 검증.
#133의 예외 처리 및 #186의 편집 입력·부분 update 이후 남은 후속입니다. #200의 저장 성공 후 알람만 재시도하는 동작을 보존합니다. #71의 캐시 API 정리와는 수정 범위가 다릅니다. 전체 계정 삭제·공유 프로필 동기화의 오프라인 정책은 별도이며, 사용자가 앱 task를 명시적으로 제거한 뒤의 입력 복원까지 보장하지 않습니다.
Activity
fix: 온라인 일정 쓰기와 같은 ID 재시도 계약을 적용한다
일정의 온라인 저장과 재로그인 복구를 일관되게 처리한다 (#211)