Skip to content

[#384] WidgetKit 기반 Today/Heatmap 위젯의 데이터 소스를 구현한다#394

Merged
opficdev merged 17 commits intodevelopfrom
feat/#384-Widget-DataSource
Apr 17, 2026
Merged

[#384] WidgetKit 기반 Today/Heatmap 위젯의 데이터 소스를 구현한다#394
opficdev merged 17 commits intodevelopfrom
feat/#384-Widget-DataSource

Conversation

@opficdev
Copy link
Copy Markdown
Owner

🔗 연관된 이슈

📝 작업 내용

📌 요약

  • WidgetKit 기반 Today Todo 및 Heatmap 위젯 데이터 소스 구현
  • 앱-위젯 간 App Group 기반 스냅샷 공유 구조 구성
  • Today/Heatmap 위젯용 스냅샷 생성, 저장, 동기화 기반 연결
  • 위젯 지원 파일 구조 및 네이밍 정리

🔍 상세

  • 위젯 익스텐션 생성 및 Resource 디렉토리 기준 설정 정리
  • AppIntent 기반 Widget Provider-Entry-View 구조 재구성
  • 위젯 공용 저장소 타입 WidgetSharedDefaultsStore, WidgetSnapshotStore 구성
  • Today 위젯용 스냅샷 모델 추가
  • Today 화면 로직을 기준으로 한 TodayWidgetSnapshotFactory 추가
  • Today 위젯용 동기화 코디네이터 TodayWidgetSyncCoordinator 추가
  • TodayViewModel 상태 변경 시 Today 위젯 스냅샷 저장 및 리로드 연결
  • Heatmap 위젯용 월간 스냅샷 모델 추가
  • Profile 화면 히트맵 집계 로직을 기준으로 한 HeatmapWidgetSnapshotFactory 추가
  • Heatmap 위젯용 동기화 코디네이터 HeatmapWidgetSyncCoordinator 추가
  • ProfileViewModel에서 현재 월 기준 Heatmap 위젯 스냅샷 저장 및 리로드 연결
  • Heatmap 관련 Profile 접두사 제거 및 위젯 지원 레이어 네이밍 정리
  • Today/Heatmap 스냅샷 팩토리 단위 테스트 추가 및 검증
  • 앱 시뮬레이터 빌드 및 Heatmap 스냅샷 팩토리 테스트 통과 확인

📸 영상 / 이미지 (Optional)

image

@opficdev opficdev self-assigned this Apr 17, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 TodayTodoWidget 및 HeatmapWidget 기능을 추가하고, 이를 위해 ViewModel 내 동기화 로직과 App Group 기반의 공유 저장소를 구현했습니다. 주요 피드백으로는 리듀서(reduce) 내에서 직접 비동기 작업을 생성하거나 동기 I/O를 수행하는 아키텍처 위반 사항이 발견되어 SideEffect로의 이관이 필요합니다. 또한 .pbxproj 내 비정상적인 버전 번호 수정, 타겟 간 중복 코드 공유 설정, 그리고 동기화 과정의 에러 핸들링 보완을 권장합니다.

Comment thread DevLog/Presentation/ViewModel/ProfileViewModel.swift Outdated
Comment thread DevLog/Presentation/ViewModel/TodayViewModel.swift Outdated
Comment thread DevLog.xcodeproj/project.pbxproj
Comment thread WidgetShared/WidgetAppGroup.swift
Comment thread DevLog/Widget/Heatmap/HeatmapWidgetSyncCoordinator.swift
@opficdev opficdev merged commit a5f19eb into develop Apr 17, 2026
1 check passed
@opficdev opficdev deleted the feat/#384-Widget-DataSource branch April 17, 2026 11:45
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.

WidgetKit 기반 Today/Heatmap 위젯의 데이터 소스를 구현한다

1 participant