Skip to content

feat: AtchaV2 Phase 7 — CoreAlarm: AlarmKit 스케줄링 E2E (단일 알람 교체 정책) - #345

Merged
YuGeonHui merged 2 commits into
env/devfrom
feat/v2-phase7-corealarm
Aug 22, 2026
Merged

feat: AtchaV2 Phase 7 — CoreAlarm: AlarmKit 스케줄링 E2E (단일 알람 교체 정책)#345
YuGeonHui merged 2 commits into
env/devfrom
feat/v2-phase7-corealarm

Conversation

@YuGeonHui

Copy link
Copy Markdown
Collaborator

요약

  • CoreAlarm 신규 레이어 모듈 (무의존, AlarmKit 유일 import 지점): AlarmSpec 중립 타입 + AlarmKitScheduling 프로토콜 + replaceAlarm 단일 알람 교체 정책
  • App의 NoopAlarmScheduler → CoreAlarmSchedulerAdapter 교체 (Domain AlarmScheduler 매핑)
  • 등록 플로우 완성: 버튼 탭 → AlarmKit 권한 요청 → 서버 등록 → 로컬 스케줄 → 배너 표시 (denied 시 토스트+설정 안내)
  • 해제 플로우 + 포그라운드 복귀 시 refresh 재조회 → 재스케줄·배너 갱신
  • chore: DEV 한정 실서버 부재 시 데모 폴백 + 3초 타임아웃 (검수용)

🤖 Generated with Claude Code

YuGeonHui and others added 2 commits August 22, 2026 22:09
- CoreAlarm 신설: 중립 타입 API(AlarmSpec/AlarmKitScheduling) + AlarmKitScheduler(actor,
  교체 정책) + AlarmKitEngine(AlarmKit 유일 import 지점) + UserDefaults 레코드(제목 복원)
- Domain 포트 확장: requestAuthorization/scheduledFireDate 추가, AlarmError.permissionDenied 신설
  - 등록: 권한 요청 → (denied면 서버 등록 보류) → 서버 등록 → 로컬 교체
  - refresh: 시각 변경(로컬 소실 포함) 시 재스케줄
- App: NoopAlarmScheduler → CoreAlarmSchedulerAdapter 교체, Cancel/Refresh UseCase 조립
- Home: 등록/해제 버튼 토글, 권한·해제 토스트, 포그라운드 복귀 시 refresh(배너 갱신·복원)
- 스누즈/반복 버튼 없는 단발 알람 (마지노선 클램프 검증은 Phase 11 — 보수 기본값)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
실서버(미확정 #1·#2)가 접속 불가라 Phase 7 사람 검수(권한 다이얼로그·알람 발화)가
막혀, 사용자 지시로 DEV 빌드에만 임시 우회를 넣는다:
- 장소/막차 검색·역지오코딩: 서버 실패 시에만 데모 데이터 폴백 (서버 살아나면 실데이터 우선)
- 알람 등록/삭제: 서버 실패 무시하고 로컬 스케줄 진행 (refresh는 그대로 실패)
- URLSession 타임아웃 3초 (기본 60초 대기로 시연 불가 방지)

전부 #if DEV — Stage/Release에는 컴파일되지 않음. 실서버 스펙 확정 시 이 커밋을 리버트한다.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@YuGeonHui
YuGeonHui merged commit fa9a4bf into env/dev Aug 22, 2026
1 check passed
@YuGeonHui
YuGeonHui deleted the feat/v2-phase7-corealarm branch August 22, 2026 15:32
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.

1 participant