Skip to content

Conversation

@m6z1
Copy link
Member

@m6z1 m6z1 commented Aug 9, 2025

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • 앱 문의 채널 변경했습니다.
  • 플레이스토어 정보도 수정했습니다. (데이터 삭제 및 개발자 연락처의 링크)
  • 피드 작성 뷰 내 작품 문의하기 버튼이 문의하기 링크 로 연결되어 있어서 작품 문의하기 링크 로 수정했습니다.

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

스크린샷 2025-08-09 오후 4 56 38

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

Summary by CodeRabbit

  • 버그 수정
    • 문의 링크가 최신 URL로 업데이트되었습니다.
    • 소설 문의 링크가 새로운 주소로 변경되었습니다.

@m6z1 m6z1 added 🍯 [FEAT] 새로운 기능을 개발합니다. 🏹 궁사 명지 웹소소 공주의 은밀한 사냥생활 labels Aug 9, 2025
@github-actions github-actions bot requested review from junseo511, s9hn and yeonjeen August 9, 2025 08:13
@coderabbitai
Copy link

coderabbitai bot commented Aug 9, 2025

Note

Reviews paused

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Walkthrough

앱 문의 채널의 URL을 관리하는 string 리소스(inquire_link, novel_inquire_link)가 새로운 Notion 주소로 교체되었습니다. 관련 코드에서는 해당 리소스 참조가 일관되게 변경되었으며, Android 라이브러리 모듈의 최소 SDK 버전이 30으로 설정되었습니다. 로직이나 제어 흐름에는 변화가 없습니다.

Changes

Cohort / File(s) Change Summary
문의 채널 URL 리소스 교체
core/resource/src/main/res/values/deepLinks.xml
inquire_linknovel_inquire_link의 URL 값을 새로운 Notion 주소로 변경
문의 채널 참조 코드 수정
app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedSearchNovelBottomSheetDialog.kt
문의 채널 URL 참조를 inquire_link에서 novel_inquire_link로 교체, import 구문 및 string 리소스 사용 부분 수정
Android 라이브러리 모듈 빌드 설정 변경
core/resource/build.gradle.kts
defaultConfig 블록 추가 및 최소 SDK 버전을 30으로 명시
라이브러리 필터 컴포넌트 어노테이션 정리
feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetAttractivePoints.kt, feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetClickableItem.kt
@SuppressLint 어노테이션 제거, icon 파라미터 어노테이션을 @IntegerRes에서 @DrawableRes로 변경

Sequence Diagram(s)

(해당 변경은 단순 리소스 값 및 참조 교체와 빌드 설정 변경으로, 시퀀스 다이어그램 생성이 필요하지 않습니다.)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Assessment against linked issues

Objective Addressed Explanation
앱 문의 채널 변경 (#736)

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
Android 라이브러리 모듈 core/resource/build.gradle.kts에 최소 SDK 버전 설정 추가 이 변경은 앱 문의 채널 변경과 직접 관련이 없으며, 빌드 설정 최적화 또는 요구사항 반영으로 보임
라이브러리 필터 컴포넌트 내 어노테이션 및 import 정리 (feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetAttractivePoints.kt, ...ClickableItem.kt) 앱 문의 채널 변경과 무관한 UI 컴포넌트 내부 어노테이션 정리 작업으로 보임

Suggested reviewers

  • junseo511
  • yeonjeen
  • s9hn

Poem

문의 채널 hop, hop, hop!
새로운 Notion으로 점프를 멈추지 않아요.
토끼 귀를 쫑긋 세우고,
링크도 새롭게,
문의는 이젠 헷갈림 없이 go!
🐰✨

Note

🔌 MCP (Model Context Protocol) integration is now available in Early Access!

Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e933e8c and 17854c9.

📒 Files selected for processing (2)
  • feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetAttractivePoints.kt (0 hunks)
  • feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetClickableItem.kt (2 hunks)
💤 Files with no reviewable changes (1)
  • feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetAttractivePoints.kt
✅ Files skipped from review due to trivial changes (1)
  • feature/library/src/main/java/com/into/websoso/feature/library/filter/component/LibraryFilterBottomSheetClickableItem.kt
⏰ 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
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/736

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a 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

🔭 Outside diff range comments (1)
app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedSearchNovelBottomSheetDialog.kt (1)

131-138: 외부 브라우저 호출 시 이중 클릭 방지 및 안전성 보강

  • 이중 탭으로 여러 브라우저가 열릴 수 있습니다. 기존 패턴과 동일하게 singleEventHandler.throttleFirst 적용을 권장합니다.
  • resolveActivity로 처리 가능 앱 존재 여부를 확인해 크래시를 방지하세요.
     private fun setupNavigateToInquireNovel() {
         tracker.trackEvent("contact_novel_connect")
-        val inquireUrl = getString(novel_inquire_link)
+        val inquireUrl = getString(novel_inquire_link)
         val intent = Intent(Intent.ACTION_VIEW, Uri.parse(inquireUrl))
         binding.tvCreateFeedAddNovelInquireButton.setOnClickListener {
-            startActivity(intent)
+            singleEventHandler.throttleFirst {
+                val pm = requireContext().packageManager
+                if (intent.resolveActivity(pm) != null) {
+                    startActivity(intent)
+                } else {
+                    // TODO: 사용자 피드백 (Toast/Snackbar) 고려
+                }
+            }
         }
     }

추가로, 클릭 시점에도 별도 트래킹 이벤트를 남기면(예: contact_novel_connect_click) 퍼널 분석에 도움이 됩니다.

🧹 Nitpick comments (2)
core/resource/src/main/res/values/deepLinks.xml (1)

3-4: URL 리소스에 translatable="false" 지정 권장

고정 URL은 현지화 대상이 아니므로 실수로 번역 큐에 올라가지 않도록 translatable="false"를 추가하는 것을 권장합니다.

-    <string name="inquire_link">https://www.notion.so/helpwebsoso/241a9688d1a381548c20dd314d0a0b0a?pvs=106</string>
-    <string name="novel_inquire_link">https://helpwebsoso.notion.site/241a9688d1a38164b3f8efd0b51edaab</string>
+    <string name="inquire_link" translatable="false">https://www.notion.so/helpwebsoso/241a9688d1a381548c20dd314d0a0b0a?pvs=106</string>
+    <string name="novel_inquire_link" translatable="false">https://helpwebsoso.notion.site/241a9688d1a38164b3f8efd0b51edaab</string>
app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedSearchNovelBottomSheetDialog.kt (1)

15-15: 리소스 ID 개별 import는 지양 권장(선택 사항)

팀 컨벤션에 따라 다르지만, 개별 R.string.foo 상수 import 대신 R만 import 후 R.string.novel_inquire_link로 참조하면 가독성과 일관성이 좋아집니다.

- import com.into.websoso.core.resource.R.string.novel_inquire_link
+ import com.into.websoso.core.resource.R
...
- val inquireUrl = getString(novel_inquire_link)
+ val inquireUrl = getString(R.string.novel_inquire_link)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fe7fd74 and e2ca55f.

📒 Files selected for processing (2)
  • app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedSearchNovelBottomSheetDialog.kt (2 hunks)
  • core/resource/src/main/res/values/deepLinks.xml (1 hunks)
⏰ 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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
core/resource/build.gradle.kts (2)

9-11: PR 스코프 일탈 가능성 — 플랫폼 전략 변경은 별도 PR로 분리 권장

문의 채널 리소스/텍스트 교체가 주 목적이라면, minSdk 상향은 독립된 PR로 분리하여 QA/릴리즈 노트를 명확히 하는 것이 안전합니다. 영향 범위(지원 OS 버전, 스토어 타겟 단말, 분석 대시보드 단절 구간 등) 파악과 롤백 용이성을 위해 분리 제안드립니다.


9-11: 구성 일관성/유지보수성 개선 제안: minSdk 중앙집중화

여러 모듈에서 minSdk를 개별 하드코딩하면 드리프트가 발생하기 쉽습니다. 버전 카탈로그나 공통 Gradle convention 플러그인에서 단일 소스로 관리하도록 리팩터링을 권장합니다.

예시(버전 카탈로그 사용 시):

-    defaultConfig {
-        minSdk = 30
-    }
+    defaultConfig {
+        // libs.versions.toml에 [versions] minSdk = "30" 정의 후 사용
+        minSdk = libs.versions.minSdk.get().toInt()
+    }

또는 사내 build-logic(공통 android-library 설정)에서 일괄 적용하도록 이전을 검토해주세요.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e2ca55f and e933e8c.

📒 Files selected for processing (1)
  • core/resource/build.gradle.kts (1 hunks)
⏰ 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 (1)
core/resource/build.gradle.kts (1)

9-11: minSdk 30 상향 의도 확인 요청

  • core/resource/build.gradle.kts (9–11) defaultConfig.minSdk = 30
  • build-logic/src/main/kotlin/websoso.android.kotlin.gradle.kts (14) minSdk = 30

라이브러리 모듈의 minSdk를 30으로 올리면, 이 라이브러리를 사용하는 앱 모듈의 minSdk가 30 미만일 경우 지원 기기가 Android 10(API 29) 이하에서 제외되거나 빌드/머지 시 오류가 발생할 수 있습니다.
이번 PR의 주 목적인 “문의 채널 변경”과 직접적인 관련이 적어 보여, 정책·운영적 변경인지 재확인 부탁드립니다.

앱 모듈들의 minSdk 설정을 검토하시고, 문제가 없다면 승인 여부를 알려주세요.
전체 모듈의 minSdk 설정 분포는 아래 스크립트로 확인 가능합니다:

#!/bin/bash
set -euo pipefail

echo "== minSdk occurrences across the repo =="
rg -n --glob '!**/build/**' -H -e 'minSdk\s*=\s*\d+' -e 'minSdkVersion\s*"?\d+"?' || true

@m6z1
Copy link
Member Author

m6z1 commented Aug 9, 2025

@coderabbitai pause

@coderabbitai
Copy link

coderabbitai bot commented Aug 9, 2025

✅ Actions performed

Reviews paused.

@m6z1 m6z1 merged commit a6d3426 into develop Aug 9, 2025
2 checks passed
@m6z1 m6z1 deleted the feat/736 branch August 9, 2025 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🍯 [FEAT] 새로운 기능을 개발합니다. 🏹 궁사 명지 웹소소 공주의 은밀한 사냥생활

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 앱 문의 채널 변경

5 participants