Files
sodalive-ios/docs/20260715_메인_복귀시_중복_초기화_방지/prd.md

1.8 KiB

PRD: 메인 복귀 시 중복 초기화 방지

목표

  • 다른 페이지에서 MainView로 복귀할 때 메인 컨테이너의 인증 데이터 초기화 요청이 반복되지 않게 한다.
  • contentView와 각 탭 하위 화면의 기존 새로고침 동작은 유지한다.

문제/배경

  • MainViewNavigationStack의 루트로 유지되지만, destination에서 복귀하면 첫 번째 .onAppear가 다시 실행된다.
  • 이때 pushTokenUpdate(), 회원 정보, 이벤트 팝업, 재생 추적 요청이 매번 반복된다.

성공 기준

  • 로그인 상태에서 메인 인증 데이터 초기화 요청은 동일한 MainView 생명주기 동안 한 번만 실행된다.
  • 비로그인 최초 진입은 로드 완료로 처리하지 않아 이후 로그인한 메인 진입에서 초기화 요청이 실행된다.
  • contentView 구성과 push 메시지 복귀 처리는 변경하지 않는다.
  • SodaLive Debug 빌드가 성공한다.

제외 범위

  • 탭 하위 화면의 .onAppear 및 데이터 새로고침 정책 변경
  • AppState 내비게이션 구조 변경
  • softRestart()가 의도적으로 MainView를 재생성하는 동작 변경
  • 기존 사용자 작업인 이벤트 팝업 배경 및 프로젝트 버전 설정 변경

핵심 요구사항

  • MainView가 소유하는 로컬 @State로 초기화 완료 여부를 관리한다.
  • 토큰이 비어 있을 때는 초기화 완료 상태를 설정하지 않는다.
  • 기존 첫 번째 .onAppear의 인증 데이터 요청에만 가드를 적용한다.

기술/운영 제약

  • 수정 범위는 SodaLive/Sources/V2/Main/MainView.swift로 제한한다.
  • 현재 프로젝트에 테스트 번들 타깃이 없으므로 정적 확인과 공식 Debug 빌드로 검증한다.
  • 기존 작업 트리 변경을 보존한다.

미결정 사항

  • 해당 없음.