이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
[개발 환경]
- WebView 미니앱 (React + Vite)
- SDK: @apps-in-toss/web-framework 2.10.5 → 3.0.4
- 테스트 환경: 실제 런칭 환경 (라이브 번들 20260819-56, 2026-08-19 15:16 출시)
[문제]
위 번들 출시 직후부터 "데이터가 초기화됐다"는 CS가 다수 접수되고 있습니다.
원인은 SDK 3.x부터 서빙 Origin이
*.apps.tossmini.com → goldmine-b1.web.tossmini.com 으로 변경된 것으로 파악했습니다.
localStorage는 오리진 단위로 격리되므로, 기존 오리진에 저장된 데이터를
새 오리진에서 읽을 수 없게 됐습니다.
저희 앱은 게임 진행 상태 전량(모은 재화·출석 기록 등)을 localStorage에 보관하고 있었고,
저장 키는 luckyslot-game-state-v3, ls-toss-login 두 개입니다.
데이터 자체는 유저 기기에 남아 있고 접근만 불가능한 상태로 이해하고 있습니다.
두 도메인이 같은 site(tossmini.com)라 iframe 저장소 파티셔닝 대상도 아닌 것으로 보입니다.
다만 구 오리진에서 코드를 실행할 방법이 없어(2.x 롤백 차단)
파트너 측에서 자체 복구가 불가능한 상황입니다.
[요청 — 가능성이 높은 순서로]
-
현재 번들을 구 오리진(*.apps.tossmini.com)으로 1회만 서빙해 주실 수 있는지.
저희가 번들에 브리지 코드를 넣어두면, 그 코드가 구 오리진에서 실행되어 값을 읽고
신 오리진으로 넘길 수 있습니다. 새 배포 경로를 열어주실 필요 없이
호스트 라우팅 1회 허용만으로 가능해 토스 쪽 작업이 가장 적을 것으로 생각합니다.
(또는 구 오리진에 1회용 정적 브리지 페이지를 게시할 방법이 있다면 그것도 좋습니다.) -
호스트 차원의 1회성 데이터 이관을 지원해 주실 수 있는지.
웹뷰 네이티브 레이어에서 구 오리진 저장소를 신 오리진으로 복사하는 방식입니다.
[확인 요청]
3) 구 오리진의 저장소가 기기에 아직 남아 있는지, 그리고 언제까지 남는지.
4) 웹뷰가 SDK 3.x 마이그레이션 시 구 오리진 저장소를 삭제하도록 되어 있는지.
이미 정리하고 계시다면 복구 논의가 불필요하니, 그 사실만 알려주셔도
저희가 유저 공지를 확정할 수 있어 도움이 됩니다.
[참고]
- 같은 증상이 Unity PlayerPrefs 사례로도 보고된 바 있어(커뮤니티 4571번 글)
플랫폼 공통 이슈로 보입니다. - 호스트 상태를 확인해 보니 goldmine-b1.web.tossmini.com 은 정상 응답하는 반면,
goldmine-b1.apps.tossmini.com 은 CloudFront에서 LambdaExecutionError(503)를 반환합니다.
다만 웹뷰가 실제로 보내는 요청 형태를 알지 못해 추측으로 확인한 것이라,
구 오리진이 아직 번들을 서빙하는지는 저희 쪽에서 판정할 수 없었습니다.
[급한 이유]
기기 저장소는 시간이 지나거나 유저가 앱을 삭제하면 사라집니다.
복구 가능성이 열려 있다면 시간이 지날수록 건질 수 있는 범위가 줄어들어,
가능한 빠른 회신을 부탁드립니다.
재발 방지를 위해 저장소를 SDK Storage로 이관하는 작업은 이미 완료해 두었습니다.