Skip to content

[Bugfix/#452] 로그아웃시 React Query 캐시 전체 초기화 - #454

Merged
jjjsun merged 1 commit into
developfrom
bugfix/#452
Aug 12, 2026
Merged

[Bugfix/#452] 로그아웃시 React Query 캐시 전체 초기화#454
jjjsun merged 1 commit into
developfrom
bugfix/#452

Conversation

@jjjsun

@jjjsun jjjsun commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

🚨 관련 이슈

Closed #452

✨ 변경사항

  • 🐞 BugFix Something isn't working
  • 💻 CrossBrowsing Browser compatibility
  • 🌏 Deploy Deploy
  • 🎨 Design Markup & styling
  • 📃 Docs Documentation writing and editing (README.md, etc.)
  • ✨ Feature Feature
  • 🔨 Refactor Code refactoring
  • ⚙️ Setting Development environment setup
  • ✅ Test Test related (storybook, jest, etc.)

✏️ 작업 내용

  • 로그아웃 성공시 my-workspaces만 제거하던 로직을 queryClient.clear()로 수정하여 캐시 전체 삭제되도록 수정
  • 회원탈퇴와 동일하게 로그아웃 이후에 이전 계정의 캐시 남지 않도록 처리
  • 로그아웃 성공 시 toast 메세지 추가

😅 미완성 작업

N/A

📢 논의 사항 및 참고 사항

N/A

💬 리뷰어 가이드 (P-Rules)
P1: 필수 반영 (Critical) - 버그 가능성, 컨벤션 위반. 해결 전 머지 불가.
P2: 적극 권장 (Recommended) - 더 나은 대안 제시. 가급적 반영 권장.
P3: 제안 (Suggestion) - 아이디어 공유. 반영 여부는 드라이버 자율.
P4: 단순 확인/칭찬 (Nit) - 사소한 오타, 칭찬 등 피드백.

Summary by CodeRabbit

  • 버그 수정
    • 로그아웃 성공 시 성공 알림이 표시됩니다.
    • 로그아웃 후 전체 데이터 캐시가 초기화되어 최신 상태가 반영됩니다.
    • 로그아웃 오류 처리가 개선되었습니다.

@jjjsun
jjjsun requested review from Seojegyeong and YermIm August 12, 2026 04:41
@jjjsun jjjsun self-assigned this Aug 12, 2026
@jjjsun jjjsun added the 🐞 BugFix Something isn't working label Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

로그아웃 성공 시 성공 토스트를 표시하고 전체 React Query 캐시를 초기화하도록 변경했습니다. 기존 my-workspaces 쿼리 제거는 삭제했습니다. 오류 응답 변환은 별도 변수로 분리했습니다.

Changes

로그아웃 상태 정리

Layer / File(s) Summary
로그아웃 성공 및 오류 처리
src/hooks/auth/useLogout.ts
로그아웃 성공 시 성공 토스트를 표시한 뒤 queryClient.clear()로 전체 React Query 캐시를 초기화합니다. 오류 콜백은 오류를 IApiErrorResponse로 변환한 뒤 메시지를 조회합니다.

Estimated code review effort: 2 (Simple) | ~5 minutes

Suggested reviewers: yermim, seojegyeong

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed 관련 이슈, 변경 유형, 작업 내용, 미완성 작업 및 참고 사항을 템플릿에 맞게 작성했습니다.
Linked Issues check ✅ Passed [개선 이슈 #452] 로그아웃 성공 시 queryClient.clear()로 React Query 캐시 전체를 초기화하는 요구사항을 충족합니다.
Out of Scope Changes check ✅ Passed 캐시 초기화, 로그아웃 성공 토스트, 오류 처리 변수 분리는 모두 useLogout 변경 목적과 관련됩니다.
Title check ✅ Passed 로그아웃 시 React Query 캐시 전체 초기화라는 주요 변경 사항을 명확하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bugfix/#452

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.

@github-actions

Copy link
Copy Markdown

📚 Storybook 배포 완료

항목 링크
📖 Storybook https://69a147b60a56365d9e2185ef-sgtdtxjlwy.chromatic.com/
🔍 Chromatic https://www.chromatic.com/build?appId=69a147b60a56365d9e2185ef&number=632

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 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

오류 응답을 런타임에서 정규화해 주세요.

postLogoutauthInstance를 사용하지만, 오류 응답 정규화 인터셉터는 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

📥 Commits

Reviewing files that changed from the base of the PR and between 48945a6 and 203f204.

📒 Files selected for processing (1)
  • src/hooks/auth/useLogout.ts

@Seojegyeong Seojegyeong left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

P4: 확인했습니다!

@jjjsun
jjjsun merged commit 7066d1f into develop Aug 12, 2026
3 checks passed
@jjjsun
jjjsun deleted the bugfix/#452 branch August 12, 2026 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐞 BugFix Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐞 [BugFix] 로그아웃 시 React Query 캐시 전체 초기화

2 participants