Skip to content

[feat] sentry 모니터링 추가#141

Merged
ff1451 merged 4 commits intodevelopfrom
140-feat-sentry-모니터링-추가
Feb 26, 2026

Hidden character warning

The head ref may contain hidden characters: "140-feat-sentry-\ubaa8\ub2c8\ud130\ub9c1-\ucd94\uac00"
Merged

[feat] sentry 모니터링 추가#141
ff1451 merged 4 commits intodevelopfrom
140-feat-sentry-모니터링-추가

Conversation

@ff1451
Copy link
Copy Markdown
Collaborator

@ff1451 ff1451 commented Feb 26, 2026

Summary by CodeRabbit

릴리스 노트

  • New Features

    • 에러 추적 및 모니터링 기능 추가로 애플리케이션 안정성 향상
    • 에러 발생 시 자동으로 사용자 세션 정보 캡처 및 재로드 옵션 제공
  • Chores

    • 배포 워크플로우에 시크릿 검증 강화로 보안 개선
    • 프로덕션과 스테이징 환경별 설정 자동화
    • 필수 의존성 패키지 추가

@ff1451 ff1451 self-assigned this Feb 26, 2026
@ff1451 ff1451 linked an issue Feb 26, 2026 that may be closed by this pull request
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 26, 2026

📝 Walkthrough

Walkthrough

Sentry 에러 추적 및 성능 모니터링을 React 애플리케이션에 통합합니다. 배포 워크플로우에 환경별 시크릿 검증 단계를 추가하고, Sentry 의존성을 설치하며, 초기화 함수와 타입 정의를 작성합니다. App.tsx에 SentryRoutes를 적용하고, main.tsx에 에러 바운더리를 감싸며, vite.config.ts에 소스맵 업로드 플러그인을 구성합니다.

Possibly related issues

  • [feat] sentry 모니터링 추가 #140: Sentry 모니터링 통합 구현 완료 — initSentry 함수, React Router 통합, 에러 바운더리, Vite 플러그인, 환경변수 설정 등 전체 Sentry 스택이 추가됨
🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경사항의 핵심을 명확하게 설명하고 있습니다. Sentry 모니터링 기능 추가라는 주요 변경사항을 정확하게 반영합니다.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 140-feat-sentry-모니터링-추가

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/deploy.yml:
- Around line 56-62: The workflow step "Resolve Sentry project" sets
SENTRY_PROJECT_FOR_BUILD from either secrets.SENTRY_PROJECT or
secrets.SENTRY_PROJECT_STAGE depending on github.ref_name but doesn't validate
that SENTRY_PROJECT_STAGE exists for non-main branches; update the step to check
that when github.ref_name != "main" the secrets.SENTRY_PROJECT_STAGE is set
(non-empty) and fail the job with a clear error message if missing, mirroring
whatever validation is done for secrets.SENTRY_PROJECT, so
SENTRY_PROJECT_FOR_BUILD is never left unset and source map upload won't
silently fail.

In @.gitignore:
- Around line 26-27: .gitignore currently ignores all .env* files and also
explicitly lists .env.example, which prevents committing the template; open the
.gitignore file and remove the explicit ".env.example" entry so only actual .env
files are ignored (keep the ".env*" rule intact) ensuring the .env.example
template remains in version control.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1f8f825 and a894a36.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !pnpm-lock.yaml and included by **
📒 Files selected for processing (8)
  • .github/workflows/deploy.yml
  • .gitignore
  • package.json
  • src/App.tsx
  • src/config/sentry.ts
  • src/global.d.ts
  • src/main.tsx
  • vite.config.ts

Comment on lines +56 to +62
- name: Resolve Sentry project
run: |
if [ "${{ github.ref_name }}" = "main" ]; then
echo "SENTRY_PROJECT_FOR_BUILD=${{ secrets.SENTRY_PROJECT }}" >> "$GITHUB_ENV"
else
echo "SENTRY_PROJECT_FOR_BUILD=${{ secrets.SENTRY_PROJECT_STAGE }}" >> "$GITHUB_ENV"
fi
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.

⚠️ Potential issue | 🟡 Minor

staging 브랜치에서 SENTRY_PROJECT_STAGE 시크릿 검증이 누락되었습니다.

main이 아닌 브랜치에서 SENTRY_PROJECT_STAGE를 사용하지만, 해당 시크릿에 대한 검증이 없습니다. 시크릿이 없으면 빌드 시 소스맵 업로드가 실패할 수 있습니다.

제안된 수정
       - name: Validate runtime secrets
         run: |
           missing=0

           if [ "${{ github.ref_name }}" = "main" ]; then
             [ -n "${{ secrets.VITE_API_PATH }}" ] || { echo "::error::Missing secret: VITE_API_PATH"; missing=1; }
             [ -n "${{ secrets.VITE_SENTRY_DSN }}" ] || { echo "::error::Missing secret: VITE_SENTRY_DSN"; missing=1; }
           else
             [ -n "${{ secrets.VITE_API_PATH_STAGE }}" ] || { echo "::error::Missing secret: VITE_API_PATH_STAGE"; missing=1; }
             [ -n "${{ secrets.VITE_SENTRY_DSN_STAGE }}" ] || { echo "::error::Missing secret: VITE_SENTRY_DSN_STAGE"; missing=1; }
+            [ -n "${{ secrets.SENTRY_PROJECT_STAGE }}" ] || { echo "::error::Missing secret: SENTRY_PROJECT_STAGE"; missing=1; }
           fi

           [ "$missing" -eq 0 ] || exit 1
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/deploy.yml around lines 56 - 62, The workflow step
"Resolve Sentry project" sets SENTRY_PROJECT_FOR_BUILD from either
secrets.SENTRY_PROJECT or secrets.SENTRY_PROJECT_STAGE depending on
github.ref_name but doesn't validate that SENTRY_PROJECT_STAGE exists for
non-main branches; update the step to check that when github.ref_name != "main"
the secrets.SENTRY_PROJECT_STAGE is set (non-empty) and fail the job with a
clear error message if missing, mirroring whatever validation is done for
secrets.SENTRY_PROJECT, so SENTRY_PROJECT_FOR_BUILD is never left unset and
source map upload won't silently fail.

Comment thread .gitignore
Comment on lines 26 to +27
.env*
.env.example
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.

⚠️ Potential issue | 🟡 Minor

.env.example은 일반적으로 버전 관리에 포함해야 합니다.

.env.example은 개발자들에게 필요한 환경 변수 템플릿을 제공하는 파일입니다. .env* 패턴이 이미 존재하므로, .env.example을 명시적으로 무시하면 템플릿 파일이 커밋되지 않습니다.

제안된 수정
 .env*
+!.env.example
-.env.example
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.env*
.env.example
.env*
!.env.example
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.gitignore around lines 26 - 27, .gitignore currently ignores all .env*
files and also explicitly lists .env.example, which prevents committing the
template; open the .gitignore file and remove the explicit ".env.example" entry
so only actual .env files are ignored (keep the ".env*" rule intact) ensuring
the .env.example template remains in version control.

@ff1451 ff1451 merged commit a30a1e9 into develop Feb 26, 2026
2 checks passed
ff1451 added a commit that referenced this pull request Feb 26, 2026
* chore: sentry 의존성 추가

* feat: sentry 세팅

* chore: 워크플로우 수정 및 vite 세팅

* chore: 임시 추가
ff1451 added a commit that referenced this pull request Mar 6, 2026
* develop → main 배포 (#125)

* feat: 알림설정 구현 (#108)

* chore: min-w 추가

* [chore] 코드래빗 설정 파일 추가 (#110)

* chore: 코드래빗 설정 파일 추가

* chore: 불필요한 tools 설정 제거

* [feat] preMember 목록 분리 및 삭제 기능 추가 (#115)

* feat: preMember 목록 분리 및 삭제 기능 추가

* chore: Pascal case

* chore: 변경된 변수명 반영

* feat: 학번 숫자 필터링 추가

* [feat] 채팅 목차 알림 상태 추가 (#113)

* chore: svg 추가

* feat: 채팅목록 알림 끄기 설정시 UI 추가

* feat: 목차 열릴시 애니메이션 추가

* [feat] 달력 카테고리 분류 추가 (#118)

* feat: 카테고리 추가

* chore: 불필요한 코드 삭제

* [refactor] 관리자 페이지 및 마이페이지 UI 수정 및 리팩토링 (#117)

* feat: 정보 카드에서 정보 페이지로 이동하도록 기능 추가

* feat: 토스트 전역상태 추가

* refactor: query 훅 분리 및 onSuccess 콜백 옵션 제거

* refactor: query 훅 사용처 수정

* refactor: 사용처 수정 2

* fix: 채팅창 스크롤 초기화 문제 수정 및 줄바꿈 기준 변경

* feat: 토글 스위치 구현

* refactor: 모집 공고 관련 목록 페이지 디자인 수정

* feat: 컴포넌트 구현 및 icon 추가

* refactor: z-index 값 수정

* refactor: API 필드 변경 사항 반영

* refactor: 모집 공고 페이지 디자인 수정 및 라우트 백 수정

* refactor: 학교 목록에 없을 시 문구 디자인 수정

* fix: lint error

* fix: 타입 변경

* feat: 모집 관련 페이지 API 추가사항 반영

* refactor: 토스트 타이머 클린업 추라

* refactor: 전역토스트 사용 변경

* refactor: 관리자 클럽 조회 훅 호출 범위 줄이기

* feat: onError handler add

* chore: add button type and remove fragment

* [feat] 문의하기 버튼 로직 추가 (#120)

* feat: API 추가 및 연결

* chore: placeholder 제거

* [fix] 채팅 스크롤 미갱신 버그 및 멤버 직위 렌더링 수정 (#122)

* fix: 채팅 스크롤 미작동 수정

* fix: 한글 출력으로 수정

* feat: 첫 글자 보여주도록 수정 (#124)

* hotfix: 동아리 소개 줄바꿈 적용 및 한 줄 소개 글자수 제한 상향

* chore: 리뷰 반영

* fix: disabled 조건 변경

* 126 fix 배포 전 qa 사항 반영 (#127)

* fix: 가입 버튼 문구 수정

* fix: 검색창 placeholder 수정

* fix: 불필요해진 UI 비활성화

* fix: 모집공고 없을 때 빈 화면 처리

* fix: 무의미한 회비페이지 수정

* feat: 토글 시 자동 페이지 이동 추가

* fix: 페이지 이동 조건 수정

---------

Co-authored-by: 김혜준 <114041848+hyejun0228@users.noreply.github.com>
Co-authored-by: hyejun <hyejunkkim228@gmail.com>

* develop -> main 배포 (#132)

* chore: 타입 변경 반영

* [feat] 모집 공고에 시간 추가 및 지원서 정렬 추가 (#131)

* feat: 모집 공고에 시작, 종료 시간 추가

* feat: 지원자 목록 정렬 추가 및 시간 표시

* feat: 채팅, 모집 공고 링크 파싱 기능 추가

* feat: 인스타그램 파싱 추가

* fix: prettier error

* refactor: 유틸 분리 및 타입 변경

* chore: 타입 변경 반영

* chore: 동일 스타일 통합 및 entity 확장 사용

* chore:ios 토큰 테스트를 위한 로직 추가

* Revert "chore:ios 토큰 테스트를 위한 로직 추가"

This reverts commit 98570fc.

* hotfix: 모집 공고 textarea 길이 자동 재계산 추가

* feat: 페이지네이션 추가

* feat: 수정

* feat: 페이지네이션 수정

* feat: 디자인 수정

* feat: 로직 수정

* fix: key 수정

* develop-> main (#135)

* chore: 타입 변경 반영

* [feat] 모집 공고에 시간 추가 및 지원서 정렬 추가 (#131)

* feat: 모집 공고에 시작, 종료 시간 추가

* feat: 지원자 목록 정렬 추가 및 시간 표시

* feat: 채팅, 모집 공고 링크 파싱 기능 추가

* feat: 인스타그램 파싱 추가

* fix: prettier error

* refactor: 유틸 분리 및 타입 변경

* chore: 타입 변경 반영

* chore: 동일 스타일 통합 및 entity 확장 사용

* chore:ios 토큰 테스트를 위한 로직 추가

* Revert "chore:ios 토큰 테스트를 위한 로직 추가"

This reverts commit 98570fc.

* hotfix: 모집 공고 textarea 길이 자동 재계산 추가

* Reapply "chore:ios 토큰 테스트를 위한 로직 추가"

This reverts commit 3a56f4a.

* chore: ios토큰

* feat: 가이드 페이지 이미지 변경

* chore: 푸시알림 로직 임시 변경

* refactor: 푸시 알림 토큰 로직 브릿지 방식으로 수정 (#134)

* refactor: 푸시 알림 토큰 로직 브릿지 방식으로 수정

* fix: try catch 적용

* feat: 페이지네이션 추가

* feat: 수정

* feat: 페이지네이션 수정

* feat: 디자인 수정

* feat: 로직 수정

* fix: key 수정

* chore: 스테이지 용 임시 UI 제거

---------

Co-authored-by: hyejun <hyejunkkim228@gmail.com>

* [feat] sentry 모니터링 추가 (#141) (#142)

* chore: sentry 의존성 추가

* feat: sentry 세팅

* chore: 워크플로우 수정 및 vite 세팅

* chore: 임시 추가

* refactor: 색상 토큰 파일 분리

* refactor: 타이포그래피 스타일 파일 분리

* refactor: 피그마 타이포그래피 네이밍으로 클래스 정렬

* fix: 리뷰 코멘트 기반 접근성 및 토큰 정리

---------

Co-authored-by: 김혜준 <114041848+hyejun0228@users.noreply.github.com>
Co-authored-by: hyejun <hyejunkkim228@gmail.com>
@ff1451 ff1451 deleted the 140-feat-sentry-모니터링-추가 branch April 7, 2026 09:32
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.

[feat] sentry 모니터링 추가

1 participant