App ID 22835: 요청 취소 후 업로드 슬롯 Lock 발생 (중복 에러 반복)

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

질문 / 문제 해결

내용을 설명해주세요

안녕하세요, 토스 미니앱을 개발 중인 개발자입니다. 현재 특정 App ID(22835) 계정에서 정상적인 방법으로 해결되지 않는 업로드 중복 에러가 지속되어 기술 지원을 요청드립니다.

  1. 발생 현상

ait deploy 및 웹 콘솔 업로드 시, 어떤 파일을 올려도 “이미 존재하는 버전” 또는 “유효하지 않은 deploymentId” 에러가 발생하며 업로드가 차단됨.

  1. 시도한 기술적 조치

버전 코드 상향: versionCode를 999, 7777 등 전무후무한 숫자로 올려도 동일하게 “이미 존재함” 에러가 발생함. (DB 상의 중복 체크 로직이 꼬인 것으로 판단됨)

환경 이슈 우회: Windows 환경 CLI의 --no-cache 버그를 확인하여, runtimeVersion: 1이 포함된 정품 규격의 .ait 번들을 수동 제작하여 시도했으나 동일함.

상태 전이 오류: '검토 요청’을 보냈다가 '요청 취소’를 한 직후부터 이 현상이 심화됨. 현재 서버 단에서 해당 앱의 업로드 세션이 '좀비 상태’로 묶여 있는 것으로 보임.

  1. 요청 사항

관리자 권한으로 App ID 22835의 업로드 이력 및 배포 세션(Deployment Session)을 하드 리셋(Hard Reset) 해주시기 바랍니다.

현재 유저 콘솔에서는 [삭제] 버튼이 활성화되지 않아 자가 조치가 불가능한 상태입니다.

appName (선택)

몽블루

안녕하세요 :slight_smile:
빌드를 어떤식으로 시도하셨는지 알 수 있을까요?
정식으로 제공하는 방식으로 빌드를 해주셔야 에러가 나지 않을거에요.

상세한 확인 감사드립니다. 빌드 방식에 대해 답변드립니다.

1. 공식 CLI 사용 시도 및 실패

  • 처음에는 가이드에 따라 ait buildait deploy를 시도했습니다.

  • 하지만 Windows 11 환경의 CLI 버그(파일 접근 권한 또는 --no-cache 옵션 충돌로 추정)로 인해 빌드 단계에서 지속적인 에러가 발생하여, 부득이하게 규격에 맞춘 수동 패키징을 진행했습니다.

2. 수동 빌드 절차 (공식 명세 준수)

  • Build: Vite/React 환경에서 npm run build를 통해 dist 폴더 생성.

  • app.json 주입: 공식 문서의 app.json 규격을 100% 준수하여 생성.

    • 특히 최근 필수값인 runtimeVersion: 1과 올바른 deploymentId를 포함함.
  • Packaging: dist 폴더 내 파일을 root로 하여 zip 압축 후 확장자를 .ait로 변경.

3. 현재 상황이 '서버 이슈’인 이유

  • 파일 규격의 문제라면 “Invalid Bundle” 에러가 나야 하지만, 현재 발생하는 에러는 [이미 존재하는 버전]입니다.

  • versionCode를 1부터 9999까지 아예 겹칠 수 없는 숫자로 변경하여 업로드해도 동일한 에러가 발생하고 있습니다. 이는 파일 빌드 방식의 문제가 아니라, 해당 App ID의 업로드 세션이 서버 단에서 ‘Lock’ 걸려 새로운 번들을 아예 수용하지 못하는 상태임을 시사합니다.

4. 요청사항

  • 빌드 방식에 대한 의구심을 해소하기 위해, 필요하시다면 제가 생성한 .ait 파일을 직접 전달드릴 의사도 있습니다.

  • 하지만 그전에 서버 로그에서 App ID 22835의 중복 체크 로직이 왜 작동하는지, 혹은 검토 취소된 세션이 슬롯을 점유하고 있는지 개발팀의 확인을 간곡히 부탁드립니다.

[추가 질문] 아이콘 URL 정책 미준수로 인한 ‘업로드 슬롯 Lock’ 현상 확인 요청

내용: 담당 매니저님, 추가로 확인된 사항이 있어 질문드립니다.

최근 커뮤니티의 다른 게시글(dohyung 매니저님 답변 등)을 통해 '최근 도입된 정적 코드 분석 정책(아이콘 URL 필수 포함)'에 대해 확인했습니다. 제 앱(22835)의 반려 사유가 "아이콘 정보 필수"였던 점으로 보아, 이 정책 미준수가 원인임을 인지했습니다.

이와 관련하여 가장 심각한 오류 현상에 대해 확인 및 조치를 부탁드립니다:

  1. 신규 업로드 차단 현상: 정책에 맞게 아이콘 URL을 포함하여 새 버전(v2.0.0, versionCode: 200 등)으로 다시 빌드하여 올리려 해도, 무조건 [이미 존재하는 버전]이라며 업로드가 거절됩니다.

  2. 상태 불일치 의심: 현재 제 버전 목록에 ‘요청 취소됨’ 상태로 남아있는 이전 버전이 해당 업로드 슬롯을 비정상적으로 점유(Lock)하고 있는 것은 아닌지 확인이 필요합니다.

  3. 질문 사항:

    • 이 경우, 제가 기존의 ‘요청 취소됨’ 버전을 삭제해야 새 버전을 올릴 수 있는 건가요? (현재 콘솔에 삭제 버튼이 보이지 않습니다.)

    • 아니면 관리자 측에서 서버 단의 업로드 이력을 강제 초기화(Reset) 해주셔야 새로운 정책이 반영된 번들을 수용할 수 있는 상태가 되는 건가요?

이미 수십 차례 버전 코드를 바꿔가며 시도했음에도 동일한 에러가 발생하는 것은 명백한 서버 단의 세션 오류로 판단됩니다. 22835 앱의 업로드 권한을 정상화해주시면 바로 수정된 번들을 게시하겠습니다.

@willers 님 어떤 오류가 발생했는지 오류 남겨주시면 감사하겠습니다. 또한 저희가 서버에서 조치해야하는 이슈가 발생하고 있지는 않습니다.

ait build를 통해 빌드된 번들에 대해서만 정상적으로 처리될 수 있으며, ait 파일 포맷은 zip형식이 아닌 점 공유드립니다.

상세한 답변 감사드립니다. 말씀하신 대로 .ait 파일이 단순 zip 포맷이 아니라는 점을 확인했습니다.

제가 수동 패키징을 시도했던 이유는 공식 도구인 ait build가 윈도우 환경에서 정상적으로 작동하지 않았기 때문입니다. 현재 제가 겪고 있는 상황을 요약하여 다시 확인 요청드립니다:

  1. 공식 CLI 에러: 윈도우 환경에서 ait build 실행 시 --no-cache 옵션 관련 오류 혹은 파일 접근 권한 이슈로 인해 번들 생성이 실패합니다. (정식 도구를 사용하고 싶어도 도구가 응답하지 않는 상황입니다.)

  2. 오해를 부르는 에러 메시지: 수동으로 만든 파일을 올렸을 때, 파일 규격 오류가 아닌 [이미 존재하는 버전] 에러가 발생합니다. 심지어 사용한 적 없는 versionCode 999, 7777 등도 중복으로 인식됩니다. 이는 서버 단에서 파일 규격 검사 전에 배포 슬롯 자체를 락(Lock) 걸고 있는 것으로 보입니다.

  3. App ID: 22835

요청사항:

  • 서버 로그상에서 App ID 22835의 업로드 시도가 왜 [중복]으로 처리되고 있는지 확인 부탁드립니다.

  • 또한, 윈도우 환경에서 ait build가 실패하는 경우에 대한 가이드나, 현재 꼬여버린 업로드 세션의 강제 초기화(Reset)가 가능한지 답변 부탁드립니다.

정식 방식을 따르고 싶으나 도구의 버그로 인해 진행이 막혀 있는 상황입니다. 확인 부탁드립니다.

npm 패키지 매니저를 쓰시는 것 같아요 .
npx ait init 로 프로젝트 init 이후
npm run build 해주신 것 맞을까요 ?

1개의 좋아요

실제로 이미 존재하는 버전 ID(deploymentId)를 사용하시는걸로 보입니다. 말씀주신 versionCode 999, 7777은 저희가 구성한 스펙 상으로는 존재하지 않는 필드인데 어디서 보신걸까요?

상세한 확인 감사드립니다. 말씀 주신 내용을 바탕으로 제가 혼동했던 부분과 현재 상황을 정리해 드립니다.

1. versionCode 관련:

  • 해당 필드는 일반적인 앱 개발 규격에 따라 버전을 구분하기 위해 임의로 추가하여 테스트했던 항목입니다. 토스 미니앱의 app.json 공식 스펙에 해당 필드가 없다면, 서버에서 버전을 식별하는 핵심 기준(Key)이 정확히 무엇인지(예: versionName 혹은 파일 내부의 특정 해시값 등) 알려주시면 감사하겠습니다.

2. deploymentId 중복 관련:

  • 현재 저는 토스 콘솔에서 발급받은 deploymentIdapp.json에 기재하여 업로드하고 있습니다.

  • 문제는 동일한 deploymentId를 사용하면서 새로운 수정 사항을 반영한 번들을 올리려 할 때, 서버에서 "이미 존재하는 버전"이라며 거부한다는 점입니다.

  • 질문: 기존에 올렸던 번들을 ‘덮어쓰기’ 하거나 '삭제’하고 새로운 번들을 올리려면 어떻게 해야 하나요? 현재 콘솔상에는 삭제 버튼이 없고, 윈도우 환경에서 ait build CLI가 작동하지 않아 수동으로 패키징하는 상황이라 번들 식별 로직에서 충돌이 발생하는 것 같습니다.

3. 요약:

  • versionCode가 무의미하다면, 수동 빌드 시 서버가 "새로운 버전"으로 인식하게 만들기 위해 app.json에서 반드시 수정해야 하는 필드가 무엇인지 가이드 부탁드립니다. (App ID: 22835)

맞습니다. 파워쉘 환경에서 npx ait init으로 프로젝트를 초기화했습니다. 하지만 npm run build(내부적으로 ait build)를 실행하면 윈도우 환경 특유의 오류로 인해 번들 파일이 생성되지 않아, 부득이하게 dist 폴더를 수동 패키징한 것입니다."

말씀드린 바와 같이 deploymentId를 버전 구분자로 사용 중입니다.

ait build를 통하지 않은 빌드의 경우 지원하지 않습니다. 또한 Windows 환경에서 다른 파트너사 분들이 정상적으로 빌드를 성공하고 업로드하고 있으므로 어떤 오류가 발생하는지 공유를 주셔야 도움을 드릴 수 있을 것 같습니다.

수동 빌드는 기본적으로 지원하지 않고 앞으로도 지원될 일이 없음을 다시 한번 공유드립니다. 말씀주신 수동 빌드, 즉 임의로 만들어진 ait 번들파일에 대한 지원은 별도로 없으며 ait build 시 어떤 오류가 나는지 공유 주시면 맞춰서 오류 원인에 따라 해결책을 가이드 드리거나, 정말 저희 이슈가 맞다면 최신 SDK에서 해당 이슈를 빠르게 수정해서 배포할 수 있도록 하겠습니다.

1개의 좋아요

개발자님들이 정성껏 답변해 주신 덕분에 드디어 SDK 2.x 빌드에 성공했습니다. ㅋ 혼자라면 절대 못 넘었을 deploymentId와 환경 설정의 벽을 여러분 덕분에 기분 좋게 넘었네요. 귀한 시간 내어 도와주셔서 진심으로 감사합니다. 기분 좋게 취침합니다! :slight_smile:

개발자님들이 정성껏 답변해 주신 덕분에 드디어 SDK 2.x 빌드에 성공했습니다. ㅋ 혼자라면 절대 못 넘었을 deploymentId와 환경 설정의 벽을 여러분 덕분에 기분 좋게 넘었네요. 귀한 시간 내어 도와주셔서 진심으로 감사합니다. 기분 좋게 취침합니다! 행복한 하루되세요~~~^^