Skip to content

fix: 앱 재시작 시 포토 리포트 편집/세모피드 공개 상태가 사라지던 문제 수정 - #210

Open
peisonger wants to merge 1 commit into
mainfrom
fix/photo-report-persist
Open

fix: 앱 재시작 시 포토 리포트 편집/세모피드 공개 상태가 사라지던 문제 수정#210
peisonger wants to merge 1 commit into
mainfrom
fix/photo-report-persist

Conversation

@peisonger

@peisonger peisonger commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • 포토 리포트에서 사진/템플릿을 편집하거나 세모피드 공개 여부를 토글한 뒤, 앱을 종료했다가 다시 들어오면 그 상태가 전부 초기화되던 문제 수정
  • 원인: 두 상태 모두 인메모리(JS 모듈 변수 / React Query 캐시)에만 있었고, 영구 저장소에 쓰이지 않았음
    • 포토 리포트 사진·템플릿 선택: photo-report-state.ts가 일반 모듈 변수였음
    • 세모피드 게시 id/공개 여부: ["record-semofeed", ...] 쿼리 키에 실제 서버 조회(queryFn) 없이 로컬에서 setQueryData로만 채워지던 캐시였음 — 서버 상태 자체는 정상이어도 앱 재시작 후 다시 불러올 방법이 없었음

Changes

  • features/photo-report/photo-report-state.ts: 인메모리 → AsyncStorage 기반으로 전환
  • features/home/record-semofeed-storage.ts (신규): 기록별 세모피드 id/공개여부를 AsyncStorage에 저장·조회
  • app/record/[id].tsx, app/record/photo-report-edit.tsx: 위 저장소 연동, 관련 호출부 async 처리

한계 (백엔드 협의 필요)

같은 기기에서 앱만 재시작하는 흔한 케이스는 해결되지만, 다른 기기/재설치 시에는 여전히 복원되지 않음. GET /api/hiking-records/{id} 응답과 SemoFeedResponse 어디에도 둘을 연결하는 필드가 없어서, 서버에 실제로 이미 게시된 세모피드가 있는지 조회할 API 자체가 없기 때문. 근본 해결에는 백엔드 API 추가가 필요함.

Test plan

  • 포토 리포트 사진/템플릿 편집 → 완료 → 앱 종료 후 재진입 시 편집 상태 복원되는지 확인
  • 세모피드 공개 전환 → 앱 종료 후 재진입 시 공개 상태 유지되는지 확인
  • 클라이브/포토 리포트 탭 각각 독립적으로 복원되는지 확인

포토 리포트의 사진·템플릿 선택 상태가 인메모리 변수(photo-report-state.ts)에만
저장되고, 세모피드 게시/공개 여부도 서버 조회 없이 로컬 React Query 캐시에만
있어 앱을 종료했다 재진입하면 모두 초기화됐음. 둘 다 AsyncStorage에 저장해
같은 기기에서는 앱 재시작 후에도 복원되도록 수정.

다른 기기/재설치 시에는 여전히 복원 안 됨 — 백엔드에 hikingRecord ↔ semoFeed
연결 조회 API가 없어 서버의 실제 공개 상태를 다시 조회할 방법이 없기 때문.
근본 해결은 백엔드 API 추가가 필요함.
@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 5029483c-fa57-434e-9dcc-8fcc59700889


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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant