트러블슈팅
관리자 웹과 하이브리드 앱(웹·네이티브) 양쪽에서 원인 분석부터 해결까지의 과정을 정리했습니다.
01
자세히 정리한 사례
모노레포 React 중복으로 인한 "Invalid hook call"
인프라 · 의존성코드 변경 없이 앱이 깨진 원인이 번들에 두 벌 들어간 React임을 찾아, 모든 import가 루트 React 하나만 보게 막아 해결. 자세히 →
교차 도메인 캐시 정합성 (TanStack Query)
웹 · 캐시화면을 오갈 때 옛 데이터가 그대로 남아 어긋나던 문제를, 도메인 간 캐시 갱신 규칙을 세워 해결. 자세히 →
WebView 모달 dim이 네이티브 탭바를 못 덮는 문제
웹뷰 · 모달전부 동기화하는 방안은 비용 대비 효과가 낮아 접고, 꼭 필요한 모달만 네이티브로 전환. 자세히 →
로그인 후 뒤로가기가 온보딩으로 돌아가던 문제
앱 · 라우팅로그인 후 뒤로가기가 온보딩으로 되돌아가던 문제를 라우팅 방식을 바꿔 구조적으로 제거. 자세히 →
WebView access-token 무한 재요청 루프
웹뷰 · 인증만료 시각 계산 대신 서버 응답(401)을 기준으로 재발급하게 바꿔 무한 루프를 끊음. 자세히 →
iOS 네이티브 메시지 중복 실행
웹뷰 · 브릿지iOS에서 브릿지 메시지가 한 번에 두 번 처리되던 문제를 중복 방지 계층으로 해결. 자세히 →
QR 로그인 키가 캐시에 남아 재사용되던 문제
웹 · 인증만료된 인증 키가 캐시에서 재사용되던 문제를 gcTime: 0으로 매번 새 키 발급하도록 해결. 자세히 →
모드마다 검증이 다른 푸시 폼 구조 정리
웹 · 폼등록/수정/구독자 × 임시저장/발송 조합마다 다른 검증을 스키마 파생으로 정리. 자세히 →
Sentry 에러 수집 사각지대 해소
웹 · 모니터링NFT 전송에만 붙어 있던 Sentry를 전체 API·인증 흐름으로 넓히고, 잡을 에러와 버릴 에러의 기준을 세움. 자세히 →
02
그 외 다룬 문제들
- · 권한 거부로 리다이렉트하면 뒤로가기가 꼬이던 문제 (location.href → replace 전환)
- · 기간 필터 날짜의 타임존 경계 처리 (시작 00:00:00 / 종료 23:59:59 후 UTC 변환)
- · 렌더 중 pathname을 직접 읽어 버튼이 안 뜨던 문제 (usePathname 훅으로 교체)
- · 출석 캘린더 주 시작일 계산 오류 (isoWeek로 월요일 시작 통일)
- · 푸시 대상 그룹을 전체 선택하면 전체 회원이 선택되던 상태 동기화 버그
- · Safari에서만 프로젝트 카드가 겹쳐 보이던 크로스브라우저 레이아웃 수정