Skip to content

fix(mypage): 프로필 이미지 미표시, 이름 기본값, MBTI 미설정 문구 수정 - #88

Merged
evenif99 merged 3 commits into
devfrom
fix/mypage-profile-display
Jun 20, 2026
Merged

fix(mypage): 프로필 이미지 미표시, 이름 기본값, MBTI 미설정 문구 수정#88
evenif99 merged 3 commits into
devfrom
fix/mypage-profile-display

Conversation

@evenif99

@evenif99 evenif99 commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • /mypage 프로필 카드에서 Avatarsrc prop이 누락되어 프로필 이미지가 항상 기본 이미지로 표시되던 버그 수정
  • /mypage/edit 이름 필드 초기값이 user.nickname(자동생성값)으로 채워지던 문제를 user.name(카카오 이름) 우선으로 변경
  • /mypage MBTI 미설정 시 뱃지가 아예 사라지던 문제 → 'MBTI를 설정해주세요' 안내 문구로 대체

빌드 에러 수정 (추가)

증상: 팀원 빌드 시 Failed to collect page data for /api/user/me/profile-image 에러 발생

원인: Next.js App Router는 빌드 시 동적 세그먼트([id] 등)가 없는 라우트를 정적 생성하려고 GET 요청을 보냄. /api/user/me/profile-image는 POST 전용이라 GET 핸들러가 없어 실패

수정: 해당 패턴의 라우트 4개에 export const dynamic = 'force-dynamic' 추가

  • src/app/api/user/me/profile-image/route.ts — 직접 원인
  • src/app/api/user/me/route.ts
  • src/app/api/users/me/route.ts
  • src/app/api/cron/expire-invitations/route.ts

Changes

Test plan

  • 로컬 next build 성공 확인 (빌드 에러 재현 팀원 기준)
  • 카카오 로그인 후 /mypage/edit에서 프로필 사진 업로드 → /mypage에서 해당 사진이 표시되는지 확인
  • /mypage/edit 최초 진입 시 이름 필드에 카카오 이름이 채워지는지 확인
  • MBTI 미설정 유저의 /mypage에서 'MBTI를 설정해주세요' 문구가 표시되는지 확인
  • MBTI 설정된 유저의 /mypage에서 MBTI 값이 정상 표시되는지 확인

🤖 Generated with Claude Code

Summary by CodeRabbit

릴리스 노트

  • 버그 수정/개선
    • 프로필 편집 페이지에서 닉네임 초기값이 사용자 정보(이름/닉네임)를 우선 반영하도록 개선했습니다.
    • 마이페이지 프로필 섹션에서 아바타 프로필 이미지가 사용자 이미지로 표시되도록 수정했습니다.
    • MBTI 값이 없을 때 안내 문구가 노출되도록 개선했습니다.
    • 사용자 관련 API 및 초대 만료 처리 요청이 최신 데이터 기준으로 동작하도록 캐시 설정을 조정했습니다.

- mypage: Avatar에 profileImageUrl 전달하여 프로필 이미지 표시
- mypage/edit: 이름 필드 초기값을 user.name 우선으로 적용 (카카오 이름 기준)
- mypage: MBTI 미설정 시 'MBTI를 설정해주세요' 안내 문구 표시

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 20, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
talky-owl Ready Ready Preview, Comment Jun 20, 2026 6:02am

@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 88e1e13b-1862-458c-8dd9-32b5368cd782

📥 Commits

Reviewing files that changed from the base of the PR and between c250e15 and 180ee03.

📒 Files selected for processing (4)
  • src/app/api/cron/expire-invitations/route.ts
  • src/app/api/user/me/profile-image/route.ts
  • src/app/api/user/me/route.ts
  • src/app/api/users/me/route.ts

📝 Walkthrough

Walkthrough

MyPage에서 Avataruser?.profileImageUrl을 전달하고, MBTI 배지를 값이 없을 때도 기본 문구('MBTI를 설정해주세요')와 함께 항상 렌더링하도록 변경합니다. ProfileEditPage에서는 폼 reset 시 닉네임 초기값을 user.name ?? user.nickname ?? '' 순으로 변경합니다. 아울러 4개의 사용자 정보 및 초대 만료 API 라우트에 export const dynamic = 'force-dynamic' 설정을 추가하여 Next.js 캐싱을 비활성화합니다.

Changes

MyPage 프로필 UI 및 편집 폼 초기값 수정

Layer / File(s) Summary
프로필 표시 및 닉네임 초기값 수정
src/app/(page)/mypage/page.tsx, src/app/(page)/mypage/edit/page.tsx
MyPageAvataruser?.profileImageUrlsrc로 전달하고, MBTI 배지를 항상 렌더링하되 값이 없을 때 기본 문구를 표시하도록 변경합니다. ProfileEditPage에서는 reset 호출 시 nickname 초기값을 user.name이 존재하면 우선 사용하도록 변경합니다.

API 라우트 동적 렌더링 설정

Layer / File(s) Summary
API 라우트 force-dynamic 설정
src/app/api/cron/expire-invitations/route.ts, src/app/api/user/me/route.ts, src/app/api/user/me/profile-image/route.ts, src/app/api/users/me/route.ts
4개의 API 라우트에 export const dynamic = 'force-dynamic' 설정을 추가하여 Next.js 정적 최적화를 비활성화하고 매 요청마다 동적으로 처리하도록 변경합니다.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • I5-Project/TALKY-OWL#63: MyPage 프로필 섹션과 ProfileEditPage 폼 초기화 로직을 함께 수정하는 이 PR과 동일한 파일들(src/app/(page)/mypage/edit/page.tsx, src/app/(page)/mypage/page.tsx)을 다루므로 직접 관련이 있습니다.
  • I5-Project/TALKY-OWL#68: 새로운 useUserMe 훅이 /api/user/me 엔드포인트를 호출하는데, 이 PR에서 동일 엔드포인트에 export const dynamic = 'force-dynamic'을 추가하므로 코드 레벨에서 관련이 있습니다.
  • I5-Project/TALKY-OWL#74: mypage/edit/page.tsx의 nickname 초기값 우선순위 조정이 retrieved PR의 name/nickname 표시 정책(name 우선, 없으면 nickname fallback)과 같은 로직을 직접 반영하므로 관련이 있습니다.

Poem

🐇 토끼가 프로필을 열었더니,
이미지도 없고 MBTI도 몰래 숨어있네.
user.name을 먼저 살펴보고,
API는 캐시 없이 항상 신선하게,
이제 마이페이지가 환하게 웃어요! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

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.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 변경사항의 주요 내용을 명확하게 요약하고 있습니다. 프로필 이미지, 이름 기본값, MBTI 문구라는 세 가지 핵심 수정 사항을 간결하게 표현했습니다.
Description check ✅ Passed PR 설명이 필수 섹션들을 포함하고 있으며, 변경사항, 수정 원인, 테스트 계획을 상세히 기술했습니다. 다만 저장소의 공식 템플릿의 모든 섹션을 따르지 않았습니다.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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/mypage-profile-display

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

동적 세그먼트 없이 GET 핸들러도 없는 API 라우트에서
Next.js 빌드 시 정적 생성 시도로 인한
'Failed to collect page data' 에러 방지를 위해
force-dynamic 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
/api/users/me(복수) 라우트가 dev에서 삭제(#89)되었으므로
해당 파일의 force-dynamic 추가 변경을 드롭하여 충돌 해결

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@evenif99
evenif99 merged commit cec2189 into dev Jun 20, 2026
3 checks passed
@evenif99
evenif99 deleted the fix/mypage-profile-display branch June 20, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant