위 번들 출시 직후부터 "데이터가 초기화됐다"는 CS가 다수 접수되고 있습니다.

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

[개발 환경]

  • 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 롤백 차단)
파트너 측에서 자체 복구가 불가능한 상황입니다.

[요청 — 가능성이 높은 순서로]

  1. 현재 번들을 구 오리진(*.apps.tossmini.com)으로 1회만 서빙해 주실 수 있는지.
    저희가 번들에 브리지 코드를 넣어두면, 그 코드가 구 오리진에서 실행되어 값을 읽고
    신 오리진으로 넘길 수 있습니다. 새 배포 경로를 열어주실 필요 없이
    호스트 라우팅 1회 허용만으로 가능해 토스 쪽 작업이 가장 적을 것으로 생각합니다.
    (또는 구 오리진에 1회용 정적 브리지 페이지를 게시할 방법이 있다면 그것도 좋습니다.)

  2. 호스트 차원의 1회성 데이터 이관을 지원해 주실 수 있는지.
    웹뷰 네이티브 레이어에서 구 오리진 저장소를 신 오리진으로 복사하는 방식입니다.

[확인 요청]
3) 구 오리진의 저장소가 기기에 아직 남아 있는지, 그리고 언제까지 남는지.
4) 웹뷰가 SDK 3.x 마이그레이션 시 구 오리진 저장소를 삭제하도록 되어 있는지.
이미 정리하고 계시다면 복구 논의가 불필요하니, 그 사실만 알려주셔도
저희가 유저 공지를 확정할 수 있어 도움이 됩니다.

[참고]

  • 같은 증상이 Unity PlayerPrefs 사례로도 보고된 바 있어(커뮤니티 4571번 글)
    플랫폼 공통 이슈로 보입니다.
  • 호스트 상태를 확인해 보니 goldmine-b1.web.tossmini.com 은 정상 응답하는 반면,
    goldmine-b1.apps.tossmini.com 은 CloudFront에서 LambdaExecutionError(503)를 반환합니다.
    다만 웹뷰가 실제로 보내는 요청 형태를 알지 못해 추측으로 확인한 것이라,
    구 오리진이 아직 번들을 서빙하는지는 저희 쪽에서 판정할 수 없었습니다.

[급한 이유]
기기 저장소는 시간이 지나거나 유저가 앱을 삭제하면 사라집니다.
복구 가능성이 열려 있다면 시간이 지날수록 건질 수 있는 범위가 줄어들어,
가능한 빠른 회신을 부탁드립니다.

재발 방지를 위해 저장소를 SDK Storage로 이관하는 작업은 이미 완료해 두었습니다.

@parkkb10 님 안녕하세요
빠르게 확인해보겠습니다.

안녕하세요 :slight_smile:
관련 공지를 올려두었습니다.

그럼 현재 3버전 SDK로 업데이트 한 앱에 대해서는, 롤백도 불가능한데 어떻게 처리해야합니까.
현재 이미 SDK 3버전으로 접속한 유저들은 데이터가 초기화된 상태인데, 해당 안내를 오리진 언급 한번으로 롤백도 안되는 구조에서 9월까지 작업하라고 명시하셔서 작업한 개발자들은 앱을 그대로 유저데이터가 초기화된 상태로 다시 올릴수도없는 노릇인데 이부분은 어떻게 하실건가요?

공지에서 말씀드렸듯이, 내부적으로 이전 2.x 버전에서 저장해두셨던 localStorage에 데이터를 다시 이용하실 수 있도록 방법을 논의하고 있습니다.
조금만 기다려주시면 감사하겠습니다.

레벨등 주요 데이터를 비교해서 높은 쪽을 적용할 수 있으면 좋겠네요.