Skip to content

[Feat] 6개월 운동 캐시 보존 정책 - #629

Merged
edv-Shin merged 4 commits into
devfrom
fix/issue-585
Oct 19, 2026
Merged

edv-Shin merged 4 commits into
devfrom
fix/issue-585

Conversation

@edv-Shin

@edv-Shin edv-Shin commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

연관된 이슈

Closes #585

선행 PR #625·#626이 모두 머지된 dev를 반영했습니다. 이 PR은 fix/issue-585 → dev입니다.

작업 내용

  • 앱 시작 시 IO 백그라운드 작업으로 운동 캐시를 정리합니다. 앱 초기화는 정리를 기다리지 않으며 일반 오류는 격리하고 취소는 유지합니다.
  • 기준은 오늘에서 달력상 6개월을 뺀 날짜입니다. 기준일은 보존하고 그보다 오래된 서버 동기화 완료 행만 삭제합니다.
  • 같은 회원의 목록·상세 짝에 대기 변경, 로컬 전용 행 또는 보존 기간 안의 기록이 있으면 보호합니다. 상세만 남은 오래된 캐시도 정리합니다.
  • 목록·상세·횟수·조회 마커를 한 트랜잭션에서 정리하며 타이머는 삭제하지 않습니다.
  • #584와 동일한 조회 마커 테이블 및 Room 2→3 보존 마이그레이션을 포함해 두 PR이 같은 스키마를 사용하도록 했습니다.

검증

  • 정적 확인: 앱 시작 호출부·Hilt 주입, DAO의 날짜/회원/대기 행 조건, 트랜잭션, #584와의 공통 스키마를 대조했습니다.
  • 회귀 테스트 작성: 월말·경계일, 목록/상세 짝과 대기 행 보호, 다른 회원 분리, 상세 단독 행, 롤백·취소·시작 실패 격리, 타이머 보존, 2→3 마이그레이션의 데이터 보존.
  • GitHub CI 통과: 최신 커밋 a3cd858a의 dev-ci에서 Android Lint·ktlint·단위 테스트·Debug APK 빌드가 모두 통과했습니다. https://github.com/projects200/android/actions/runs/39059373370
  • 롤백 테스트는 예외 객체의 참조 동일성 대신 오류 타입과 실제 데이터 롤백을 확인하도록 수정했습니다.
  • 로컬 실행: 이 작업 환경은 저장소 코드 실행이 금지되어 빌드·단위 테스트·lint·Maestro를 로컬에서 실행하지 않았습니다. 위 통과 결과는 GitHub CI 결과입니다.
  • 확인 필요: CI 빌드 통과와 별개로 Room v3 data/schemas 생성 파일의 확인·저장소 반영은 남아 있습니다.
  • E2E 미실행: maestro-dev의 배포 브랜치 보호 규칙이 refs/pull/629/merge를 거절해 테스트 시작 전에 실패했습니다. 테스트 통과나 기능 실패로 판정하지 않습니다. 환경 정책은 변경하지 않았습니다. https://github.com/projects200/android/actions/runs/39059373363
  • 전체 자동 E2E와 오프라인 시나리오 연결은 별도 PR [Test] 오프라인 회귀 및 전체 E2E 자동 CI 연결 #631 에서 변경합니다.

@edv-Shin
edv-Shin merged commit bce95fb into dev Oct 19, 2026
4 of 5 checks passed
@edv-Shin
edv-Shin deleted the fix/issue-585 branch October 19, 2026 12:15
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.

[Feat] 운동 기록 캐시 6개월 정리

1 participant