-
Notifications
You must be signed in to change notification settings - Fork 1
[REFACTOR] Composable Stability 개선 #267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…OrbitPickerItem 리컴포지션 최적화
WalkthroughCompose 안정성 분석기 플러그인과 버전 카탈로그 항목을 추가했고, 여러 Compose 공개 타입들에 Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Caller as 호출자 (View / ViewModel)
participant BottomSheetState as OrbitBottomSheetState
participant UIHost as BottomSheet 호스트
Note over Caller,BottomSheetState: show(sheetContent) 흐름 (suspend)
Caller->>BottomSheetState: show(sheetContent)
BottomSheetState->>UIHost: setContent(sheetContent)
UIHost-->>BottomSheetState: 렌더링/확인
Note over Caller,BottomSheetState: hide() 흐름 (suspend)
Caller->>BottomSheetState: hide()
BottomSheetState->>UIHost: setContent(null)
UIHost-->>Caller: 완료
(간단한 성공 흐름만 표시 — 색상 강조 미사용) 예상 코드 리뷰 노력🎯 3 (Moderate) | ⏱️ ~20-30분
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (12)
💤 Files with no reviewable changes (7)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
build-logic/src/main/java/com/yapp/convention/ComposeAndroid.kt(1 hunks)build.gradle.kts(1 hunks)core/common/src/main/java/com/yapp/common/navigation/OrbitNavigator.kt(2 hunks)core/designsystem/src/main/java/com/yapp/designsystem/theme/OrbitColors.kt(1 hunks)core/network/build.gradle.kts(0 hunks)core/ui/src/main/java/com/yapp/ui/component/bottomsheet/OrbitBottomSheetState.kt(2 hunks)core/ui/src/main/java/com/yapp/ui/component/timepicker/OrbitPickerItem.kt(3 hunks)core/ui/src/main/java/com/yapp/ui/component/timepicker/PickerState.kt(1 hunks)gradle/libs.versions.toml(4 hunks)
💤 Files with no reviewable changes (1)
- core/network/build.gradle.kts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (4)
build-logic/src/main/java/com/yapp/convention/ComposeAndroid.kt (1)
11-11: stability-analyzer 플러그인이 올바르게 적용되었습니다.Compose 설정 함수 내에서 플러그인을 적용하는 것이 적절하며, 이를 통해 Compose를 사용하는 모든 모듈에서 stability 분석이 자동으로 활성화됩니다. 플러그인 ID도 version catalog의 선언과 정확히 일치합니다.
build.gradle.kts (1)
16-16: 플러그인 선언이 올바르게 추가되었습니다.루트 build.gradle.kts에서
apply false를 사용한 것은 멀티모듈 프로젝트에서 올바른 패턴입니다. 이를 통해 하위 모듈들이 필요에 따라 플러그인을 선택적으로 적용할 수 있습니다. ComposeAndroid.kt에서 실제로 플러그인을 적용하는 것과 잘 연계됩니다.gradle/libs.versions.toml (2)
1-198: process-phoenix 제거는 안전하게 수행되었습니다.검증 결과:
- 코드베이스 전체에서 "phoenix" 검색: 0개 결과 (gradle 설정 포함)
- Kotlin 파일의 import/사용처: 없음
- 빌드 설정에서의 참조: 없음
제공된 코드 스니펫에서 process-phoenix 버전 항목과 라이브러리 선언이 적절히 제거되었으며, 코드베이스의 어느 곳에서도 이 라이브러리를 사용하지 않습니다. 이 변경으로 인한 빌드 오류는 발생하지 않을 것입니다.
16-16: 최신 버전 확인 완료 - 호환성 문제 주의 필요KSP는 2.2.21-2.0.4 버전이 이전의 2.2.20-2.0.4 버전보다 최신이며, Hilt 2.57.2는 최신 버전입니다. 이 버전은 Gradle 9.0.0 문제를 수정하고 Kotlin stdlib 종속성 선언 오류를 수정했습니다.
그러나 주의할 점은 Hilt 2.57과 Kotlin 2.2.0 이상 사이에 알려진 호환성 문제(이슈 #4848)가 있었으며, 모듈이 호환되지 않는 Kotlin 버전으로 컴파일되었다는 오류가 발생했다는 것입니다. Hilt 2.57.2는 이를 해결했지만, 빌드 시 다음을 확인하기 바랍니다:
- 빌드가 Kotlin 메타데이터 호환성 오류 없이 성공하는지 확인
- KSP를 통한 Hilt 주석 처리가 제대로 작동하는지 테스트
- 특히 androidx.hilt 확장(1.3.0)도 함께 사용하는 경우 모든 컴파일러가 호환되는지 검증
core/ui/src/main/java/com/yapp/ui/component/timepicker/OrbitPickerItem.kt
Show resolved
Hide resolved
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (6.22%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #267 +/- ##
============================================
- Coverage 6.54% 6.22% -0.32%
Complexity 67 67
============================================
Files 53 53
Lines 4387 4434 +47
Branches 637 774 +137
============================================
- Hits 287 276 -11
- Misses 4072 4124 +52
- Partials 28 34 +6 🚀 New features to boost your workflow:
|
Related issue 🛠
closed #266
어떤 변경사항이 있었나요?
CheckPoint ✅
PR이 다음 요구 사항을 충족하는지 확인하세요.
Work Description ✏️
Uncompleted Tasks 😅
To Reviewers 📢
Summary by CodeRabbit
릴리스 노트
새로운 기능
개선 사항
업무 처리