Skip to content

데스크톱 고정 메뉴에서 바로 로그아웃 (2026-09-10)

  • 기간: 2026-09-10, Codex 1세션. 오너 요청: “데스크톱에 로그아웃 기능좀 만들어줘”, 실제 바벨릭 앱으로 확인.
  • 이슈: 앱 #1530. 목적 release: v0.17.10.
  • 랜딩: 앱 PR #1538, head d36af1e90bdb0e5342c55fcec3e1e576775516e9, release/v0.17.10 merge a66c706b7971ee30200dec2c2fe907cd9627ab5b (18:56 KST). DB·Edge 변경과 Production 배포는 없다.
  • 설계서: 별도 없음. 이슈의 분석·Phase 계획·예상 효과 표를 따른다.
  • 정본: 데스크톱 화면 계약, 앱 DesktopSidebar.tsxGymDesktopApp.
  • 도구: 해당 Codex 세션 work/verify-desktop-logout.mjs 임시 검증 도구(앱 저장소 밖). Chrome에서 실제 사이드바·프로필 컨트롤러·로그인 화면을 조합하고 서버 요청만 대역으로 처리했다.
  • 게이트: npm run check, 필수 precheck, release Merge Check 통과. 새로운 DB·브라우저 CASE는 추가하지 않았다.
  • 버그리포트: 없음. 기존 내 정보 로그아웃의 결함 수리가 아닌 고정 메뉴 진입점 추가다.

Phase 현황

Phase내용상태
Phase 1고정 메뉴 로그아웃 추가와 검증완료, d36af1e9

1. 배경

사용자는 실제 데스크톱에서 로그아웃할 수 있도록 요청했다. 독립 디자인 시안은 대상이 아니다.

2. 문제 제기

최신 main f7195e8c에서 로그아웃은 내 정보 화면 맨 아래 계정 카드에 있었다. 왼쪽 고정 메뉴에는 없어 다른 화면에서는 내 정보로 이동하고 하단까지 찾아야 했다. Production 로그인 계정의 직접 클릭 실측은 하지 않았다.

3. 해결 방안

기존 공통 로그아웃에 메뉴 버튼을 연결했다. 화면만 로그인으로 이동하거나 저장소를 직접 지우는 방식은 인증 종료와 데이터 보존 정책이 달라져 채택하지 않았다.

4. 적용한 내용

Phase 1 — 고정 메뉴 로그아웃

사이드바에 필수 onLogout 콜백과 하단 버튼을 추가하고 컨테이너의 signOut을 연결했다. 기존 메뉴 버튼 스타일과 로그아웃 아이콘을 재사용하며 하단 배치용 CSS 한 규칙을 추가했다. 앱 변경은 3파일, 9줄 추가·2줄 삭제다.

주요 결정과 그 근거

기존 내 정보의 로그아웃을 유지하고 동일 처리로 연결했다. 현재 기기의 세션을 종료하며 모든 기기의 세션이나 계정 삭제 정책은 바꾸지 않는다.

작업 중 드러난 것

변경 범위의 추가 결함은 확인하지 않았다. 브라우저 검사에서는 서버 요청을 대역으로 처리했으므로 실제 인증 제공자의 세션 폐기를 검증한 것으로 보지 않는다.

5. 적용 결과

항목전 → 후 / 검증 결과
로그아웃 접근내 정보 하단에서만 접근 → 왼쪽 고정 메뉴에서도 바로 접근
브라우저1366×768 마우스, 1920×1080 Enter, 1280×720 Space·서버 요청 실패 시나리오 3/3 통과
메뉴 유지8개 메뉴 이동 뒤에도 로그아웃이 표시되고 화면 안에 배치됨
실행로그인 화면 복귀, 현재 owner 정리, local 로그아웃 요청 호출 확인. global 로그아웃·계정 삭제 호출 없음
코드 검사·prechecknpm run check 3,391 pass / 0 fail / 35 skip. ci:precheck-local static 통과, unit-1 1,699 pass / 0 fail / 12 skip, unit-2 1,692 pass / 0 fail / 23 skip, 총 1분 58초. 기준 f7195e8c, 검증 head d36af1e9. full CI는 실행하지 않음
release 병합Merge Check 성공, PR #1538 병합 및 원격 release/v0.17.10이 merge a66c706b인 것을 확인
Production이번 작업에서 배포·실제 계정 로그아웃 미검증

6. 이번 개선으로 향상된 것

어느 데스크톱 탭에서든 고정 메뉴의 로그아웃을 바로 누를 수 있다. 인증 종료·계정별 정리는 기존 공통 컨트롤러 한 곳에서 유지한다.

남은 것

Production 승격·배포는 이번 작업 범위 밖이다.