개요

이 문서는 wumm Android 로컬 체크아웃에서 진행한 UI 변경 작업을 누적 기록하는 페이지다. 작업 대상은 /Volumes/T5 EVO/Projects/WUMM-Android이며, 기존 github-repo-2026-04-11 저장소 스냅샷과 별도로 Android 로컬 브랜치의 변경 이력을 추적한다. 요청·작업기록은 request-and-worklog-archive-policy 원칙에 따라 작업 직후 위키에 남긴다.

2026-05-02 — 메인 홈탭 미니 캘린더 제거

  • 요청자: 공주님
  • 브랜치: remove-main-calendar-tab
  • 변경 파일: app/src/main/java/com/company/wumm_android/ui/screen/main/tabs/HomeTab.kt
  • 테스트 파일: app/src/test/java/com/company/wumm_android/ui/screen/main/tabs/HomeTabSourceTests.kt
  • 변경 내용: 홈 메인탭의 LazyColumn에서 MiniCalendarCard(...)를 렌더링하던 item을 제거해, 메인탭에 보이던 미니 캘린더 그리드를 숨겼다.
  • 유지한 범위: 일정 상세 화면, 다가오는 일정 섹션, 일정 바로가기 카드는 삭제하지 않았다. 이번 변경은 화면에 직접 보이는 미니 캘린더 카드 제거에 한정했다.
  • 검증: Python 정적 검증으로 HomeTab.ktMiniCalendarCard( 호출이 남아 있지 않음을 확인했다.
  • 제한 사항: Gradle 단위 테스트는 local.properties의 Android SDK 경로(/Users/mikekim/Library/Android/sdk)가 현재 실행 환경에 없어 실패했다. 코드 변경 실패가 아니라 SDK 위치 설정 문제로 차단되었다.

2026-05-03 — Crashlytics @DocumentId 크래시 대응

  • 요청자: 마잌킴
  • 대상 증상: Crashlytics 이메일의 CoupleRepository$observeCo... 크래시. 오류는 java.lang.RuntimeException - 'id' was found from document couples/R...로 표시되었고, 1.1.1 (21)에서 10 crashes / 1 user 영향이 확인되었다.
  • 데이터 조치: Firestore wumm-7022bcouples 컬렉션에서 top-level id 필드를 가진 문서를 찾아 해당 필드만 삭제했다. 최종 재조회에서 남은 id 필드는 0개다.
  • 백업: /Users/heeseongkim/.hermes/wumm-firestore-backups/couples_id_field_backup_20260503_073422.json, /Users/heeseongkim/.hermes/wumm-firestore-backups/couples_id_field_backup_20260503_073547.json.
  • iOS 변경: WUMM/Sources/Models/Couple.swiftCouple.encode(to:)에서 id 저장을 제거해 Android @DocumentId와 충돌하는 데이터를 새로 만들지 않게 했다.
  • Android 변경: CoupleRepository.observeCouple에서 snapshot.toObject(Couple::class.java) decode 예외를 잡아 앱 크래시 대신 null을 방출하도록 방어했다.
  • 테스트 변경: CoupleRepositoryTeststestObserveCoupleReturnsNullWhenSnapshotDecodeFails를 추가했다.
  • 검증: Firestore 재조회와 정적 검증은 완료했다. Android Gradle 테스트는 현재 머신에 Java Runtime이 없어 실행 단계에서 차단되었다.
  • 상세 기록: crashlytics-documentid-incident-2026-05-03.
  • GitHub 브랜치: Android 수정은 BCD1210/WUMM-Androidfix/couple-documentid-crash 브랜치에 커밋 8e34e0c로 push했다. iOS 원인 제거 수정은 별도 저장소 BCD1210/WUMMfix/prevent-couple-id-field 브랜치에 커밋 b24a4d3로 push했다.

관련 문서