[Bugfix/#452] 로그아웃시 React Query 캐시 전체 초기화 - #454
Conversation
📝 WalkthroughWalkthrough로그아웃 성공 시 성공 토스트를 표시하고 전체 React Query 캐시를 초기화하도록 변경했습니다. 기존 Changes로그아웃 상태 정리
Estimated code review effort: 2 (Simple) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
📚 Storybook 배포 완료
|
There was a problem hiding this comment.
🧹 Nitpick comments (2)
src/hooks/auth/useLogout.ts (2)
19-27: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win로그아웃 정리 동작을 회귀 테스트로 고정해 주세요.
성공 시
toast.success,queryClient.clear,logout,nav가 각각 호출되는지 확인해 주세요. 실패 시 API 메시지와 fallback 메시지를 각각 검증해 주세요. 이전 계정의 캐시가 재사용되지 않는 동작도 함께 확인하면 PR 목표를 보호할 수 있습니다.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/hooks/auth/useLogout.ts` around lines 19 - 27, useLogout 훅의 성공·실패 동작에 대한 회귀 테스트를 추가하세요. 성공 시 toast.success, queryClient.clear, logout, nav가 각각 호출되는지 검증하고, 실패 시 API 오류 메시지와 fallback 메시지가 올바르게 표시되는지 각각 확인하세요. 로그아웃 후 이전 계정의 캐시가 재사용되지 않도록 queryClient.clear 동작도 검증하세요.
25-27: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win오류 응답을 런타임에서 정규화해 주세요.
postLogout는authInstance를 사용하지만, 오류 응답 정규화 인터셉터는axiosInstance에만 등록되어 있습니다. 따라서userOnError에는IApiErrorResponse가 아닌AxiosError가 전달될 수 있습니다.error as IApiErrorResponse는 런타임 검증을 수행하지 않으므로 서버의response.data.message대신 Axios 오류 메시지가 표시될 수 있습니다. API 계층에서 오류를 일관되게 정규화하거나, 이 콜백에서unknown을 타입 가드로 좁혀 서버 메시지와 기본 메시지를 처리해 주세요.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/hooks/auth/useLogout.ts` around lines 25 - 27, postLogout의 userOnError에서 error를 IApiErrorResponse로 단언하지 말고 unknown으로 받아 런타임 타입 가드로 검증하세요. authInstance를 사용하는 postLogout 경로에서 response.data.message를 우선 사용하고, 유효하지 않거나 누락된 경우 기존 기본 로그아웃 실패 메시지를 사용하도록 정규화하세요.Source: Path instructions
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/hooks/auth/useLogout.ts`:
- Around line 19-27: useLogout 훅의 성공·실패 동작에 대한 회귀 테스트를 추가하세요. 성공 시
toast.success, queryClient.clear, logout, nav가 각각 호출되는지 검증하고, 실패 시 API 오류 메시지와
fallback 메시지가 올바르게 표시되는지 각각 확인하세요. 로그아웃 후 이전 계정의 캐시가 재사용되지 않도록 queryClient.clear
동작도 검증하세요.
- Around line 25-27: postLogout의 userOnError에서 error를 IApiErrorResponse로 단언하지 말고
unknown으로 받아 런타임 타입 가드로 검증하세요. authInstance를 사용하는 postLogout 경로에서
response.data.message를 우선 사용하고, 유효하지 않거나 누락된 경우 기존 기본 로그아웃 실패 메시지를 사용하도록 정규화하세요.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 268053f6-ef45-4e87-a72c-59d85e9925a9
📒 Files selected for processing (1)
src/hooks/auth/useLogout.ts
🚨 관련 이슈
Closed #452
✨ 변경사항
✏️ 작업 내용
my-workspaces만 제거하던 로직을queryClient.clear()로 수정하여 캐시 전체 삭제되도록 수정😅 미완성 작업
N/A
📢 논의 사항 및 참고 사항
N/A
Summary by CodeRabbit