fix: 1.1.1 버전에서 발생한 QA 반영 및 버그 수정 - [TWI-80]#292
Conversation
- CoreAnalytics에서 Feature책임을 갖고있던 기존 구조에서 Evetn를 protocol로 추상화 - logEvent 클로저로 통합
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthrough이 PR은 목표 편집 네비게이션 계약을 ID 기반에서 완전한 목표 데이터 모델로 전환하고, 포케 버튼 쿨다운 상태 관리 기능을 추가하며, 주간 캘린더 제스처를 드래그 기반 페이징으로 리팩터링하고, 설계 시스템 아이콘과 컴포넌트를 확장합니다. ChangesMakeGoal 상태 모델 및 편집 흐름 리팩터링
설계 시스템 아이콘 및 컴포넌트 업데이트
편집 네비게이션 계약 및 라우팅 변경
포케 버튼 쿨다운 상태 관리
주간 캘린더 스와이프 및 페이징 리팩터링
통계 도메인 및 상세 뷰 업데이트
기타 UI 개선 및 문서 정리
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Comment |
|
@coderabbitai summary |
✅ Actions performedSummary regeneration triggered. |
| startDate: card.startDate.displayTextToAPIDateString, | ||
| endDate: card.endDate.displayTextToAPIDateString |
There was a problem hiding this comment.
display string으로 변환했다가 다시 역파싱하는게 조금 어색한듯
GoalEditCardItem에서 표시용 String만 들고있는거보다 raw값을 들고 있으면 좀 괜찮을 거 같은데 어때?
There was a problem hiding this comment.
entity로 만들면 이것도 해결 될듯
| startDate: card.startDate.displayTextToAPIDateString, | ||
| endDate: card.endDate.displayTextToAPIDateString | ||
| ) | ||
| return .send(.delegate(.goToGoalEdit(goalData))) |
There was a problem hiding this comment.
여기 보면 (위에 goalData 포함해서) MakeGoalReducer.State.MakeGoal는 MakeGoal화면의 내부 상태인데, 이걸 외부에서 생성해서 주입하면 상태가 많이 복잡해질거 같아. 결합도도 꽤 높아지는거 같고.
MakeGoal에서 리팩토링 조금 잘못하면 여기저기 Feature가 많이 깨질거 같아
차라리 도메인단에 타입 만들어서 안전하게 주입하는건 어때?
There was a problem hiding this comment.
오키 Entity로 분리해서 reducer State에 source of truth로 놓고 그거 기반으로 수정할게
| weeklyPeriodCount: Int = 1, | ||
| monthlyPeriodCount: Int = 1 |
There was a problem hiding this comment.
self.weeklyPeriodCount = repeatCycle == .weekly ? category.repeatCount : minimumPeriodCount
self.monthlyPeriodCount = repeatCycle == .monthly ? category.repeatCount : minimumPeriodCount원래는 이랬는데 1로 그냥 주는건 의도된건가?
| ) { | ||
| updatePokeButtonDisabled(in: &state.items, goalId: goalId, isDisabled: isDisabled) | ||
|
|
||
| let cacheKey = TXCalendarUtil.apiDateString(for: state.calendarDate) |
There was a problem hiding this comment.
찌르기 API 응답이 이미 돌아온 시점에 사용자가 다른 날짜로 이동하면 cacheKey가 잘못 업데이트 될수도 있을거같아
ㅋㅋㅋㅋ 괜찮아 |
|
@clxxrlove |
🔗 관련 이슈
📙 작업 내역
https://www.figma.com/design/fSBWAxu7RqGJWkOLl8tUNC/%ED%8A%B8%EC%9C%85%EC%8A%A41--lofi-hifi-d-guide-img-history2-?node-id=6927-32687&p=f&t=gp72MxHrCZwukzSu-11
https://buffer-fall-35433220.figma.site/
🎨 스크린샷 또는 시연 영상 (선택)
캘린더 인터랙션 & 수정하기 이동
ScreenRecording_05-13-2026.09-53-13_1.MP4
이모지 UI 수정
팝업 UI 수정
이모지 버튼 UI 수정
찌르기 버튼 수정
💬 추가 설명 or 리뷰 포인트 (선택)