## 배경 #### 1. 조회 4xx 가 Sentry 에 쌓임 - **참조:** `docs/spec/error-handling-policy.md` 방침상 4xx 는 화면에서 처리 - **원인:** TanStack Query 의 조회 실패 처리가 상태 코드 구분 없이 모두 수집 - **결과:** 예상된 404 가 에러로 쌓임 (`AxiosError 404` 하루 40회) - **결과:** 제목에 API 경로가 없어 어떤 요청인지 알 수 없음 #### 2. 5xx 한 건이 이슈 두 개로 갈라짐 - **원인:** API 공통 인터셉터와 TanStack Query 가 같은 에러를 각자 수집 - 인터셉터는 `ApiError` 이름으로 보냄 - TanStack Query 는 `AxiosError` 이름으로 보냄 - **결과:** 발생 횟수 이중 집계 - **결과:** 일간 요약에 같은 에러 두 줄 표시 #### 3. 화면을 막는 조회 실패가 여러 번 수집됨 - **원인:** Suspense 조회 실패를 TanStack Query 와 에러 화면(`error.tsx`)이 둘 다 수집 - **결과:** 5xx 면 인터셉터까지 더해 한 에러가 최대 3번 수집 #### 4. 앱 에러가 일간 요약에 없음 - **원인:** 일간 요약이 웹 프로젝트(`piki-web`)만 조회 - **결과:** 앱(`piki-app`) 크래시·멈춤이 Discord 로 전달되지 않음 ### 무료 한도 소진 - **원인:** 중복·소음 수집 - **결과:** 무료 플랜 한도(에러 월 5,000건) 빠르게 소진 - **결과:** 실제 버그가 소음에 묻힘 ## 구현할 기능 ### API 에러 수집 창구 단일화 - API 에러의 Sentry 수집은 인터셉터 한 곳만 담당 - TanStack Query 의 조회·변경 실패 처리에서 Sentry 수집 제거 - 에러 화면은 API 에러를 빼고 렌더 에러만 수집 - **결과:** 5xx·네트워크 오류는 `ApiError` 한 건만 수집 - **결과:** 4xx 는 수집 없음 ### 일간 요약에 앱 프로젝트 추가 - 웹·앱 프로젝트를 각각 조회해 한 메시지에 함께 표시 - 앱 섹션은 `[APP·PROD]` 라벨 ### 범위 - 삭제된 토너먼트 화면의 404 반복 처리 제외 - FCM 토큰 등록의 네트워크 오류 수집 제외 ### 후속 - 삭제된 토너먼트 재조회 404 시 홈 이동 - Sentry 새 이슈의 GitHub 이슈 자동 등록
Activity