fix: 카카오톡 공유 링크가 루트로 열리던 문제 수정 - #73
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughKakao 공유 템플릿에 현재 페이지 경로와 검색 문자열을 추가합니다. 브라우저 환경에서 ChangesKakao 공유 경로
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant MoverDetailShare
participant KakaoShare as Kakao 공유 유틸리티
participant Browser as 브라우저 위치
participant PathBuilder as buildKakaoSharePath
participant KakaoTemplate as Kakao 공유 템플릿
MoverDetailShare->>KakaoShare: toKakaoSharePath 호출
KakaoShare->>Browser: pathname과 search 조회
KakaoShare->>PathBuilder: 경로와 검색 문자열 전달
PathBuilder-->>KakaoShare: PATH 반환
KakaoShare-->>MoverDetailShare: PATH 반환
MoverDetailShare->>KakaoTemplate: 운전기사 정보와 PATH 전달
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@src/lib/kakao/shareTemplate.ts`:
- Around line 15-17: Update buildKakaoSharePath so it removes all leading
slashes from pathname, preserving the existing search concatenation behavior and
ensuring the returned path never retains a leading slash.
🪄 Autofix
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: 596b336c-34dc-44fe-b1d7-e1a40fff8126
📒 Files selected for processing (3)
src/components/mover/detail/MoverDetailShare.tsxsrc/lib/kakao/share.tssrc/lib/kakao/shareTemplate.ts
juengseulki
left a comment
There was a problem hiding this comment.
📋PR 리뷰
👍 좋았던 점
- 카카오 사용자 정의 템플릿의 링크 형식인
https://도메인/${PATH}에 맞춰 기사 상세 경로를 별도 템플릿 인자로 전달하도록 수정했습니다. /movers/{id}경로의 앞 슬래시를 제거하는 로직을buildKakaoSharePath로 공통화했습니다.- 첫 번째 슬래시뿐 아니라 연속된 선행 슬래시를 모두 제거해 잘못된 링크 조합 가능성을 줄였습니다.
- 현재 pathname과 search를 함께 사용해 공유 시점의 실제 페이지 경로와 Query String을 보존했습니다.
- URL 정규화 로직은 순수 설정 모듈에 두고,
window.location접근은 Client 실행 모듈에 두어 책임을 구분했습니다. - 서버 환경에서
window에 접근하지 않도록 방어해 SSR 및 빌드 과정의 오류를 방지했습니다. - 기존 기사 공유 템플릿 인자를 유지하면서
PATH만 추가해 기존 메시지 데이터에 미치는 영향을 최소화했습니다. - 기사 ID를 호출부에서 별도로 다시 조합하지 않고 현재 URL을 사용해 경로 변경에도 유연한 구조로 만들었습니다.
- 카카오 공유 설정 누락 시 사용자에게 안내하는 Toast callback도 함께 복구했습니다.
- 변경 파일이 세 개로 제한되어 있고 문제 원인과 수정 범위가 명확합니다.
- 현재 PR은 열려 있고 병합 가능한 상태이며, 한 개의 커밋으로 구성되어 있습니다.
🔍 확인 및 제안
필수 수정사항은 보이지 않았습니다.
현재 toKakaoSharePath()는 서버 환경에서 빈 문자열을 반환하지만,
실제 호출부가 Client Component의 사용자 클릭 이벤트이므로 정상 사용 흐름에서는 문제가 없어 보입니다.
향후 해당 함수가 다른 계층에서도 재사용된다면
빈 PATH가 템플릿에 전달되지 않도록 호출부에서 값 검증을 추가하거나,
브라우저 환경이 아니면 명시적으로 오류를 발생시키는 방식도 고려할 수 있습니다.
전체적으로 카카오 공유 링크가 루트로 열리던 원인을 정확히 보완했고,
경로 변환과 브라우저 접근 책임도 잘 분리된 것으로 보입니다.
현재 변경사항 기준으로 병합을 막을 문제는 없습니다.
수고하셨습니다! 😊
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@src/lib/kakao/share.ts`:
- Around line 176-179: window.location을 직접 참조하는 toKakaoSharePath를 pathname과
search 인자만 사용하는 순수 변환 함수로 변경하세요. 브라우저 환경 검증과 window.location.pathname/search 조회는
MoverDetailShare에서 수행하고, 읽은 값을 toKakaoSharePath(pathname, search)에 전달하도록 호출 흐름을
수정하세요.
🪄 Autofix
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: cc539888-ed0e-4689-8d67-dc17720bf758
📒 Files selected for processing (2)
src/components/mover/detail/MoverDetailShare.tsxsrc/lib/kakao/share.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- src/components/mover/detail/MoverDetailShare.tsx
📋 작업 내용
카카오톡 사용자 정의 템플릿 링크(
https://도메인/${PATH})에 기사 상세 경로가 전달되지 않아 공유 링크가 루트로 열리던 문제를 수정했습니다.🔥 변경 사항
src/lib/kakao/shareTemplate.ts:KakaoMoverShareTemplateArgs에PATH추가,buildKakaoSharePath유틸 추가src/lib/kakao/share.ts:toKakaoSharePath()추가src/components/mover/detail/MoverDetailShare.tsx:sendCustomtemplateArgs에PATH전달 및 설정 누락 토스트 복구✅ 체크리스트
💬 To Reviewer
PATH는 앞 슬래시 없이movers/{id}로 전달됩니다. (/movers/...→movers/...)Summary by CodeRabbit
새로운 기능
버그 수정