Skip to content

fix: 카카오톡 공유 링크가 루트로 열리던 문제 수정 - #73

Merged
yooseohyeon merged 3 commits into
devfrom
fix/sns-share
Aug 6, 2026
Merged

fix: 카카오톡 공유 링크가 루트로 열리던 문제 수정#73
yooseohyeon merged 3 commits into
devfrom
fix/sns-share

Conversation

@yooseohyeon

@yooseohyeon yooseohyeon commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📋 작업 내용

카카오톡 사용자 정의 템플릿 링크(https://도메인/${PATH})에 기사 상세 경로가 전달되지 않아 공유 링크가 루트로 열리던 문제를 수정했습니다.


🔥 변경 사항

  • src/lib/kakao/shareTemplate.ts: KakaoMoverShareTemplateArgsPATH 추가, buildKakaoSharePath 유틸 추가
  • src/lib/kakao/share.ts: toKakaoSharePath() 추가
  • src/components/mover/detail/MoverDetailShare.tsx: sendCustom templateArgsPATH 전달 및 설정 누락 토스트 복구

✅ 체크리스트

  • 로컬에서 정상 동작을 확인했습니다.
  • 기존 기능에 영향을 주지 않는지 확인했습니다.
  • 불필요한 console.log를 제거했습니다.
  • lint를 통과했습니다.
  • README 또는 문서를 수정했습니다. (필요 시)
  • API 명세와 일치하는지 확인했습니다.

💬 To Reviewer

  • PATH는 앞 슬래시 없이 movers/{id}로 전달됩니다. (/movers/...movers/...)

Summary by CodeRabbit

  • 새로운 기능

    • 카카오톡 공유 시 현재 페이지 경로와 검색 조건이 함께 포함됩니다.
    • 공유된 링크를 통해 원래 페이지와 검색 상태로 이동할 수 있습니다.
  • 버그 수정

    • 카카오 공유 설정이 없는 경우 안내 토스트 메시지가 표시됩니다.
    • 공유 중 발생한 오류를 안내 메시지로 확인할 수 있습니다.

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
moving-frontend Ready Ready Preview Aug 6, 2026 1:50am
moving-frontend-p2ol Ready Ready Preview Aug 6, 2026 1:50am

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Kakao 공유 템플릿에 현재 페이지 경로와 검색 문자열을 추가합니다. 브라우저 환경에서 PATH를 생성하고 Mover 상세 공유 호출에 전달합니다. 공유 설정 누락과 공유 오류는 토스트로 표시합니다.

Changes

Kakao 공유 경로

Layer / File(s) Summary
공유 경로 계약과 생성
src/lib/kakao/shareTemplate.ts, src/lib/kakao/share.ts
KakaoMoverShareTemplateArgs에 필수 PATH를 추가했습니다. buildKakaoSharePath는 선행 슬래시를 제거하고 검색 문자열을 결합합니다. toKakaoSharePath는 브라우저의 pathnamesearch를 변환하며, 서버 환경 또는 변환 실패 시 예외를 발생시킵니다.
Mover 상세 공유 연동
src/components/mover/detail/MoverDetailShare.tsx
Kakao 공유 템플릿에 운전기사 정보와 PATH를 전달합니다. 공유 설정 누락과 공유 오류를 토스트로 표시합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: 9g-g9

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 전달
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 카카오톡 공유 링크가 루트로 열리는 문제를 수정한 주요 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/sns-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

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between f90a74e and eae5ed8.

📒 Files selected for processing (3)
  • src/components/mover/detail/MoverDetailShare.tsx
  • src/lib/kakao/share.ts
  • src/lib/kakao/shareTemplate.ts

Comment thread src/lib/kakao/shareTemplate.ts

@juengseulki juengseulki left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📋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가 템플릿에 전달되지 않도록 호출부에서 값 검증을 추가하거나,
브라우저 환경이 아니면 명시적으로 오류를 발생시키는 방식도 고려할 수 있습니다.

전체적으로 카카오 공유 링크가 루트로 열리던 원인을 정확히 보완했고,
경로 변환과 브라우저 접근 책임도 잘 분리된 것으로 보입니다.

현재 변경사항 기준으로 병합을 막을 문제는 없습니다.
수고하셨습니다! 😊

Comment thread src/lib/kakao/share.ts Outdated

@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

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between da3c215 and 84b5f8c.

📒 Files selected for processing (2)
  • src/components/mover/detail/MoverDetailShare.tsx
  • src/lib/kakao/share.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/components/mover/detail/MoverDetailShare.tsx

Comment thread src/lib/kakao/share.ts
@yooseohyeon
yooseohyeon merged commit d54cfd4 into dev Aug 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants