Conversation
- PostDetail 타입에 authorProfileImageUrl 필드 추가 및 프로필 이미지 표시 - 게시글 상세 페이지 헤더를 BackHeader로 변경하여 뒤로가기 버튼 추가 - 글쓰기 플로팅 버튼을 480px 컨테이너 기준으로 배치하여 footer와 겹치지 않도록 수정 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dev <- Main: iOS 2.1 앱스토어 제출 준비 작업 최신화
* fix: 존재하지 않는 커뮤니티 게시글 접근 시 404 에러 처리 개선 삭제되었거나 존재하지 않는 게시글에 접근할 때 "다시 시도" 대신 "돌아가기" 버튼을 표시하도록 변경. API 에러에 HTTP 상태 코드를 보존하는 ApiRequestError 클래스를 추가하여 404와 일시적 에러를 구분. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: HTTP 상태 코드 보존을 extractApiError에 종속하지 않도록 수정 response.data.error가 없는 404 응답에서도 ApiRequestError가 정상적으로 던져지도록 status 존재 여부를 먼저 확인하도록 변경. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: useKeyboardHeight 공용 훅 추출 및 중복 제거 4개 파일에 복사-붙여넣기되어 있던 키보드 높이 감지 로직을 src/hooks/useKeyboardHeight.ts로 통합 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 커뮤니티 글쓰기 페이지 모바일 키보드 대응 키보드가 올라올 때 컨테이너 높이 조정, 하단 툴바 패딩 분기, textarea 외 영역 터치 시 키보드 dismiss 처리 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: useKeyboardHeight catch 블록에 에러 로깅 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix: Sentry 클라이언트 SDK 초기화 복구 + dev 알림 활성화 - Next.js 16 Turbopack의 instrumentation-client.ts 자동 entry 로드 실패 우회 (providers.tsx에서 명시적 side-effect import) ref: getsentry/sentry-javascript#19367 - ErrorBoundary.componentDidCatch에서 Sentry.captureException 호출 추가 (React 트리 에러도 자동 캡처되도록 갭 메움) - .ai/sentry.md: vercel-preview 기반 #sentry-dev 알림 채널 구성, environment 작명 불일치 주의사항, ErrorBoundary 자동 캡처 반영 - .claude/commands/commit.md: PR 머지 후 로컬 브랜치 정리 8단계 추가 (squash merge 기본 가정) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: instrumentation-client SSR 가드 추가 providers.tsx에서 side-effect import 시 SSR/prerender 단계에서도 모듈이 평가되어 Sentry.replayIntegration()이 server에서 호출되며 TypeError 발생. typeof window 가드로 client에서만 init 실행하도록 수정. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
) - next.config.mjs: env 블록에서 NEXT_PUBLIC_VERCEL_ENV를 Vercel 자동 주입 변수인 VERCEL_ENV로 매핑해 클라이언트 번들에 인라인. 기존엔 NEXT_PUBLIC_VERCEL_ENV가 undefined → NODE_ENV("production")로 fallback되어 dev 서버 에러가 environment: production 으로 태깅되고 #sentry-prod 채널로 잘못 알림이 갔음. - .ai/sentry.md: Vercel이 NEXT_PUBLIC_* 자동 주입한다는 잘못된 가정 정정, 알림 룰 environment 필터를 실제 값 preview/production 으로 정리. 머지 후 Sentry 대시보드에서 #sentry-dev 알림 룰의 environment 필터를 vercel-preview → preview 로 수동 변경 필요. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor: 바텀시트 모션 사양 통일 (iOS Sheet 표준 cubic-bezier) 표준: 400ms cubic-bezier(0.32, 0.72, 0, 1) — iOS Sheet / Vaul 호환 - tailwind.config.ts: slide-up/down duration·easing 통일 - globals.css: tailwind와 중복된 keyframes/class 제거 - BottomSheet.tsx: resize 0.3s ease-out → 표준 사양 - ShopPreviewBottomSheet.tsx: TRANSITION_MS 550 → 400 - ReportReviewBottomSheet.tsx: 누락된 enter 모션 추가 (animate-slide-up) ※ exit는 부모 마운트 전환 구조라 별도 작업 필요 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * refactor: 모달·팝업·Toast 모션 사양 통일 (iOS Alert 표준) 표준: backdrop fade 200ms ease + content scale(0.95→1)+fade 250ms cubic-bezier - ModalShell.tsx 신규: 부모 코드 변경 없이 exit 애니메이션 제공 (isOpen=false 감지 → 200ms 후 unmount) - tailwind.config.ts: modal-content/backdrop in/out keyframes·animation - 모달 10개 ModalShell 적용: ReviewDelete, ReportSuccess, ShopDelete, ReviewExit, Withdraw, Logout, Nickname, LocationPermission, NotificationPermission, ImageViewer (ImageViewer는 부모가 unmount 패턴이라 자체 closing 상태 추가) - Toast.tsx: 700ms → 400ms (다른 모션과 한 가족) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat: 페이지 전환 enter 슬라이드 추가 (iOS push 표준) - src/app/template.tsx 신규: 새 페이지 mount 시 오른쪽 슬라이드 진입 - tailwind.config.ts: slide-in-right keyframes·animation 추가 (400ms cubic-bezier — 바텀시트/모달과 동일 곡선) - overflow-x-hidden으로 데스크탑 뷰포트 슬라이드 잔상 차단 알려진 한계 (template.tsx 주석에 명시): - exit 애니메이션 없음 (App Router는 이전 페이지 즉시 unmount) - forward/back 미구분 (둘 다 enter 슬라이드) - GNB 탭 전환 디졸브 미구분 디자이너 사양의 "오른쪽 슬라이드 사라지기" + "GNB to GNB 디졸브"는 View Transitions API 또는 framer-motion 도입 후속 작업. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: PR 리뷰 피드백 반영 — reduced-motion, propagation, exit timer race - template.tsx: motion-reduce:animate-none 추가 (prefers-reduced-motion 존중) - ImageViewerModal: 닫기 버튼 e.stopPropagation() 추가 (root onClick으로 버블링되어 handleClose가 두 번 호출되는 race 차단) - ModalShell: exitTimerRef 도입 — 빠른 reopen 시 stuck된 closing 상태/타이머 해제 (200ms 안에 isOpen=false→true 시 isClosing이 true로 남아 exit 애니메이션 stuck되던 버그) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
https://app.notion.com/p/v2-2-36b4efeec57e808e9610efa4c33372e4?source=copy_link