1.8 KiB
1.8 KiB
PRD: 메인 복귀 시 중복 초기화 방지
목표
- 다른 페이지에서
MainView로 복귀할 때 메인 컨테이너의 인증 데이터 초기화 요청이 반복되지 않게 한다. contentView와 각 탭 하위 화면의 기존 새로고침 동작은 유지한다.
문제/배경
MainView는NavigationStack의 루트로 유지되지만, destination에서 복귀하면 첫 번째.onAppear가 다시 실행된다.- 이때
pushTokenUpdate(), 회원 정보, 이벤트 팝업, 재생 추적 요청이 매번 반복된다.
성공 기준
- 로그인 상태에서 메인 인증 데이터 초기화 요청은 동일한
MainView생명주기 동안 한 번만 실행된다. - 비로그인 최초 진입은 로드 완료로 처리하지 않아 이후 로그인한 메인 진입에서 초기화 요청이 실행된다.
contentView구성과 push 메시지 복귀 처리는 변경하지 않는다.SodaLiveDebug 빌드가 성공한다.
제외 범위
- 탭 하위 화면의
.onAppear및 데이터 새로고침 정책 변경 AppState내비게이션 구조 변경softRestart()가 의도적으로MainView를 재생성하는 동작 변경- 기존 사용자 작업인 이벤트 팝업 배경 및 프로젝트 버전 설정 변경
핵심 요구사항
MainView가 소유하는 로컬@State로 초기화 완료 여부를 관리한다.- 토큰이 비어 있을 때는 초기화 완료 상태를 설정하지 않는다.
- 기존 첫 번째
.onAppear의 인증 데이터 요청에만 가드를 적용한다.
기술/운영 제약
- 수정 범위는
SodaLive/Sources/V2/Main/MainView.swift로 제한한다. - 현재 프로젝트에 테스트 번들 타깃이 없으므로 정적 확인과 공식 Debug 빌드로 검증한다.
- 기존 작업 트리 변경을 보존한다.
미결정 사항
- 해당 없음.