Skip to content

[REFACTOR/#219] 도연 QA - #221

Merged
doyeon0307 merged 8 commits into
developfrom
refactor/#219-dodo_qa
Jul 16, 2026
Merged

[REFACTOR/#219] 도연 QA#221
doyeon0307 merged 8 commits into
developfrom
refactor/#219-dodo_qa

Conversation

@doyeon0307

@doyeon0307 doyeon0307 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Related issue 🛠

Work Description ✏️

  • 소비자-매칭 ConsumerMatchingPendingScreen예상 가격 지우기
Image
  • 강사-레슨 뒤로가기 시 스택 지우고 홈으로 가게 변경

    • 기존 navigateToBacknavigateToHome으로 변경
    • BackHandler에서 모달 떠있는 경우 모달 닫기, 모달 없는 경우라면 navigateToHome 처리
    • 이를 통해 레슨에서 뒤로가기하면 항상 새로고침된 홈으로 이동, 홈에서 뒤로가기해도 레슨 돌아오지 않고 앱 종료
  • 강사-레슨 로딩 상태 제거

    • loadLessonDetail에서 LessonDetailPhase.Loadingphase를 변경, LessonDetailPhase.Loading일 때 UI는 빈 화면으로 노출되어 phase 변경마다 화면이 깜빡이는 것으로 보였음
    • loadLessonDetailLessonDetailPhase.Loading 변경하지 않음
  • 강사-레슨 초기 상태 Init으로 변경

    • Loading 상태를 Init으로 워딩 변경
    • State 초기값을 더미 데이터 들어간 Before 대신 Init으로 변경
    • 초기 화면에 더미 데이터가 잠시 노출되는 대신 빈 화면 뜨고, 데이터 불러와지면 채워지게 됨
  • 푸시 알림 아이콘 변경

    • 임시 아이콘을 앱 아이콘으로 변경
  • 바텀네비바 onPressed 회색 배경 적용 범위 변경

    as-is to-be
    Image Image

Uncompleted Tasks 😅

  • Task1

To Reviewers 📢

Summary by CodeRabbit

  • 새로운 기능

    • 레슨 상세 화면에서 뒤로 가기 또는 완료 후 홈 화면으로 이동합니다.
    • 레슨 상세 화면의 초기 로딩 상태를 개선했습니다.
    • 푸시 알림에 앱 아이콘이 표시됩니다.
  • 개선 사항

    • 하단 탭 선택 영역과 눌림 효과를 더 자연스럽게 조정했습니다.
    • 매칭 대기 화면의 조건 카드에서 가격 정보 표시를 제거했습니다.
    • 레슨 상세 화면에서 진행 중인 대화상자를 먼저 닫을 수 있습니다.

@doyeon0307 doyeon0307 linked an issue Jul 16, 2026 that may be closed by this pull request
6 tasks
@doyeon0307
doyeon0307 requested a review from a team July 16, 2026 16:48
@doyeon0307 doyeon0307 self-assigned this Jul 16, 2026
@doyeon0307 doyeon0307 added 🔨 FIX 버그 수정 ♻️ REFACTOR 전면 수정, 리팩토링 💙 도연 labels Jul 16, 2026
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@doyeon0307, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 25 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 04dfd375-4cc5-452b-b423-0d569f4445a6

📥 Commits

Reviewing files that changed from the base of the PR and between e420491 and df38fed.

⛔ Files ignored due to path filters (5)
  • core/notification/src/main/res/drawable-hdpi/ic_stat_name.png is excluded by !**/*.png and included by none
  • core/notification/src/main/res/drawable-mdpi/ic_stat_name.png is excluded by !**/*.png and included by none
  • core/notification/src/main/res/drawable-xhdpi/ic_stat_name.png is excluded by !**/*.png and included by none
  • core/notification/src/main/res/drawable-xxhdpi/ic_stat_name.png is excluded by !**/*.png and included by none
  • core/notification/src/main/res/drawable-xxxhdpi/ic_stat_name.png is excluded by !**/*.png and included by none
📒 Files selected for processing (1)
  • core/notification/src/main/java/com/ssing/core/notification/PushNotificationService.kt
📝 Walkthrough

Walkthrough

강사 레슨 상세 화면의 초기 상태와 뒤로가기 동작이 변경되었으며, 홈 이동 시 백스택을 정리하도록 연결되었습니다. 매칭 카드의 가격 표시, 하단 바 눌림 배경 범위, 푸시 알림 아이콘도 수정되었습니다.

Changes

강사 레슨 상세 흐름

Layer / File(s) Summary
레슨 상태 및 효과 계약
presentation/instructor-lesson/.../LessonDetailContract.kt, presentation/instructor-lesson/.../LessonDetailViewModel.kt
초기 phase가 LessonDetailInit으로 변경되고 LoadingNavigateBack이 제거되었습니다. 실패와 뒤로가기 효과는 NavigateToHome을 사용합니다.
레슨 상세 홈 이동 연결
presentation/instructor-lesson/.../LessonDetailScreen.kt, presentation/instructor-lesson/.../navigation/InstructorLessonNavigation.kt, app/instructor/.../InstructorMainNavHost.kt
BackHandler가 대화상자를 우선 닫고, 그 외에는 홈으로 이동합니다. 내비게이션 그래프는 백스택을 정리한 뒤 InstructorHome으로 이동합니다.

매칭 및 하단 바 UI

Layer / File(s) Summary
매칭 카드 및 하단 바 표시
presentation/consumer-matching/.../ConsumerMatchingPendingScreen.kt, core/ui/.../SsingBottomBar.kt
매칭 조건 카드의 가격 전달이 제거되고, 하단 바 콘텐츠 영역에 최소 너비와 눌림 배경이 적용됩니다.

푸시 알림 아이콘

Layer / File(s) Summary
알림 아이콘 소스 변경
core/notification/.../PushNotificationService.kt
알림 small icon이 시스템 기본 아이콘 대신 애플리케이션 아이콘을 사용합니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested labels: 📱UI, 🧱Component

Suggested reviewers: oilbeaneda, joyrii

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive 제목이 작업 범위를 반영하지만 '도연 QA'는 너무 포괄적이라 변경 내용을 한눈에 알기 어렵습니다. 핵심 변경인 레슨 홈 이동, 가격 제거, 알림 아이콘, 바텀바 변경 등을 요약한 구체적인 제목으로 바꿔주세요.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed 필수 섹션과 핵심 내용이 모두 포함되어 있어 템플릿 요구사항을 대부분 충족합니다.
Linked Issues check ✅ Passed PR 변경이 #219의 가격 제거, 홈 이동, Init 전환, 알림 아이콘, 바텀바 변경 요구를 모두 반영합니다.
Out of Scope Changes check ✅ Passed 변경 사항이 링크된 #219 범위에 맞춰져 있어 명확한 추가 범위나 무관한 수정은 보이지 않습니다.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/#219-dodo_qa

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
core/ui/src/main/java/com/ssing/core/ui/common/component/SsingBottomBar.kt (1)

120-129: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

스크린 리더(TalkBack) 중복 읽기 방지를 위한 접근성 개선

동일한 탭 이름(stringResource(tab.titleRes))이 하단의 Text 컴포저블을 통해 이미 제공되고 있습니다. IconcontentDescription에도 같은 값을 넣으면 화면 읽기 프로그램 사용 시 탭 이름이 중복해서 음성 출력됩니다.

접근성 점검 기준에 따라 IconcontentDescriptionnull로 설정하여 의미 없는 중복 읽기를 방지하는 것을 권장합니다.

♻️ 수정 제안
             Icon(
                 imageVector = ImageVector.vectorResource(iconRes),
-                contentDescription = stringResource(tab.titleRes),
+                contentDescription = null,
                 tint = textColor,
             )
             Text(
                 text = stringResource(tab.titleRes),
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@core/ui/src/main/java/com/ssing/core/ui/common/component/SsingBottomBar.kt`
around lines 120 - 129, Update the Icon call in the bottom bar tab item to set
contentDescription to null, while leaving the existing Text label and other icon
properties unchanged.

Source: Path instructions

presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/screen/LessonDetailScreen.kt (1)

21-23: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

사용되지 않는 navigateBack 파라미터 제거.

뒤로가기 동작이 navigateToHome으로 대체됨에 따라 기존의 navigateBack 파라미터는 더 이상 사용되지 않습니다. 혼동을 방지하기 위해 선언부와 호출부에서 모두 제거하는 것을 권장합니다.

  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/screen/LessonDetailScreen.kt#L21-L23: LessonDetailRoute에서 navigateBack 파라미터 선언을 제거하세요.
  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/navigation/InstructorLessonNavigation.kt#L27-L28: LessonDetailRoute 호출 시 전달하는 navigateBack = navController::popBackStack 인자를 제거하세요. (이 작업을 수행하면 instructorLessonNavGraphnavController 파라미터도 더 이상 사용되지 않게 되므로 함께 정리할 수 있습니다.)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/screen/LessonDetailScreen.kt`
around lines 21 - 23, Remove the unused navigateBack parameter from
LessonDetailRoute and remove the corresponding navigateBack =
navController::popBackStack argument from InstructorLessonNavigation.kt. After
removing that argument, clean up the now-unused navController parameter in
instructorLessonNavGraph if applicable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@core/notification/src/main/java/com/ssing/core/notification/PushNotificationService.kt`:
- Line 85: Update the small icon configured in the PushNotificationService
notification builder to use the dedicated monochrome notification drawable
instead of applicationInfo.icon. Select the existing transparent-background
notification icon resource and leave the rest of the notification configuration
unchanged.

---

Nitpick comments:
In `@core/ui/src/main/java/com/ssing/core/ui/common/component/SsingBottomBar.kt`:
- Around line 120-129: Update the Icon call in the bottom bar tab item to set
contentDescription to null, while leaving the existing Text label and other icon
properties unchanged.

In
`@presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/screen/LessonDetailScreen.kt`:
- Around line 21-23: Remove the unused navigateBack parameter from
LessonDetailRoute and remove the corresponding navigateBack =
navController::popBackStack argument from InstructorLessonNavigation.kt. After
removing that argument, clean up the now-unused navController parameter in
instructorLessonNavGraph if applicable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 173738a1-13e1-4299-a43e-91ea58e15a6b

📥 Commits

Reviewing files that changed from the base of the PR and between 592b7aa and e420491.

📒 Files selected for processing (8)
  • app/instructor/src/main/java/com/ssing/instructor/InstructorMainNavHost.kt
  • core/notification/src/main/java/com/ssing/core/notification/PushNotificationService.kt
  • core/ui/src/main/java/com/ssing/core/ui/common/component/SsingBottomBar.kt
  • presentation/consumer-matching/src/main/java/com/ssing/presentation/consumermatching/screen/ConsumerMatchingPendingScreen.kt
  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/LessonDetailContract.kt
  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/LessonDetailViewModel.kt
  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/navigation/InstructorLessonNavigation.kt
  • presentation/instructor-lesson/src/main/java/com/ssing/presentation/instructorlessondetail/screen/LessonDetailScreen.kt
💤 Files with no reviewable changes (1)
  • presentation/consumer-matching/src/main/java/com/ssing/presentation/consumermatching/screen/ConsumerMatchingPendingScreen.kt

@doyeon0307
doyeon0307 merged commit 4b887df into develop Jul 16, 2026
2 checks passed
@doyeon0307
doyeon0307 deleted the refactor/#219-dodo_qa branch July 16, 2026 17:23
@coderabbitai coderabbitai Bot mentioned this pull request Jul 16, 2026
1 task
@apffkxhsls apffkxhsls added this to the [Ssing] APPJAM milestone Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 FIX 버그 수정 ♻️ REFACTOR 전면 수정, 리팩토링 💙 도연

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refactor] 도연 QA

2 participants