Repository navigation
fix: 장부가 빈 기기에서도 알람을 세우고, 미뤄 둔 알람을 잃지 않는다 (176, 177, 179) - #180
Merged
Merged
Conversation
알람 장부는 기기 안에만 있고 백업·기기 이전에서 일부러 뺐다(#127). 그 결정의 나머지 반쪽이 없었다. - 폰을 바꾸거나 앱을 다시 깔면 장부가 빈 채로 시작해, 서버에 일정이 그대로 있어도 알람은 하나도 걸리지 않았다. 화면에는 오늘 일정이 다 보이므로 사용자에게는 「일정은 보이는데 안 울린다」 로만 드러나고, 고칠 길은 일정을 하나하나 다시 저장하는 것뿐인데 그걸 알 방법이 없다. 로그인 뒤 서버 목록으로 한 번 맞춘다(#176). 내용이 그대로인 일정은 걸린 회차를 지킨다 — 매번 다시 걸면 앱을 열 때마다 방금 미뤄 둔 알람이 사라진다. 서버에서 사라진 일정의 알람은 지운다. - 다시 알림은 AlarmScheduler 를 거치지 않고 걸려 장부에 아무것도 남지 않았다. 재부팅과 앱 교체로 조용히 사라진다. 미룬 사람은 5분 뒤 울릴 것이라고 믿고 있고 그 믿음이 이 기능의 전부다. 예약과 기록을 한 자리에 묶는다(#177). - 알람 자리를 정하는 값을 AlarmSlot 으로 끄집어내고 예약·취소가 모두 그 값을 지나게 한다. 지워도 초록이던 테스트 두 개를, 다시 알림 자리가 어떤 일정의 알람 자리와도 겹치지 않는다는 실제 단언으로 바꾼다(#179).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 Issues
📎 Work Description
📷 Screenshot
화면 배치 변경 없음.
💬 To Reviewers
main 충돌을 해결하며 공유 코드 복원 변경도 함께 검증했습니다. 서버 전체 목록만 알람 동기화에 사용하고, 인증 변경 시 진행 중인 조회를 취소하며 uid를 재확인합니다. 미룸 예약과 기록의 취소를 함께 처리하고 재부팅 복원에서는 유효한 미룸을 보존합니다.
검증: 추가 회귀 14개, alarm/data/main 관련 90개 단위 테스트와 ktlint 통과. 최신 공유 코드 복원과 합친 뒤 profile 테스트 및 debug APK 빌드도 통과. 충돌/공백 검사 통과. 전체 CI를 최신 head에서 다시 실행합니다.
근거: https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/Source