Skip to content

[Release v2.4.0] Main <- Dev#273

Merged
soojjung merged 8 commits into
mainfrom
dev
Jun 7, 2026
Merged

[Release v2.4.0] Main <- Dev#273
soojjung merged 8 commits into
mainfrom
dev

Conversation

@soojjung

@soojjung soojjung commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

eastVirusDa and others added 8 commits May 27, 2026 21:15
- 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>
@soojjung soojjung self-assigned this Jun 7, 2026
@vercel

vercel Bot commented Jun 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
gotcha Ready Ready Preview, Comment Jun 7, 2026 6:46pm

@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7b8cc588-1794-4a00-823c-a9c3e36dd213

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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

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

@soojjung soojjung changed the title [Release v2.4.0] [Release v2.4.0] Main <- Dev Jun 7, 2026
@soojjung soojjung merged commit 48cc3c3 into main Jun 7, 2026
3 checks passed
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.

3 participants