Skip to content

Release 2026.6.1: fix App Store auth (/fast/ native endpoint)#136

Merged
npinaev merged 2 commits into
mainfrom
release/2026.6.1
Jun 29, 2026
Merged

Release 2026.6.1: fix App Store auth (/fast/ native endpoint)#136
npinaev merged 2 commits into
mainfrom
release/2026.6.1

Conversation

@npinaev

@npinaev npinaev commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Что это

Релиз 2026.6.1. Чинит авторизацию в Apple App Store, сломанную Apple в июне 2026 (26HOTFIX24, см. majd/ipatool#486).

App Store fix (store.py)

Apple перенесла login на native-эндпоинт. Bag теперь отдаёт его как .../auth/v1/native (без /fast), и он работает только с суффиксом /fast/ и обязательным trailing slash, иначе Apple возвращает 301 + HTML, который ломает plist-парсер.

  • читаем authenticateAccount из корня bag (туда он переехал) с фолбэком на urlBag;
  • нормализуем native-эндпоинт - всегда оканчивается на /fast/;
  • дефолтный фолбэк переведён на native /fast/-эндпоинт.

Проверено вживую: логин через /fast/ и скачивание уже купленных приложений работают end-to-end.

Известное ограничение

Фикс возвращает логин и скачивание купленных приложений. Покупка нового приложения (buyProduct) для не-US аккаунта пока не работает: после /fast/-логина не проставляется storefront, плюс токен из сессии не commerce-grade. Это отдельная задача, не входит в этот релиз.

Google Play (google_play_apkeep.py), отдельный коммит

Понятные сообщения об ошибке, когда apkeep не отдал артефакт: отделяем «нет маркера успеха и нет файла» (Google Play не отдал приложение под запрошенный профиль устройства - чаще всего рассинхрон CPU ABI, например x86_64-профиль эмулятора для arm64-only приложения; либо регион/доступность/библиотека) от редкого «маркер есть, файла нет».

Версия / деплой

Бамп 2026.03.02 -> 2026.6.1 в setup.py и docker-hub-publish.yml. Деплой (PyPI + Docker Hub) стартует автоматически при влитии в main.

🤖 Generated with Claude Code

npinaev and others added 2 commits June 29, 2026 17:13
Apple's 26HOTFIX24 (June 2026) broke iTunes Store login (majd/ipatool#486):
the bag now advertises the native auth endpoint as .../auth/v1/native
(without /fast), and the endpoint only works WITH the /fast/ sub-path AND a
trailing slash, otherwise Apple returns 301 + an HTML redirect page that
breaks the plist parser.

- store.py: read authenticateAccount from the bag root (it moved there) with
  a fallback to urlBag; normalize the native auth endpoint to always end with
  /fast/; switch the default fallback to the native /fast/ endpoint.
- Bump version to 2026.6.1 (setup.py + docker-hub-publish.yml).

Verified live: /fast/ login + download of owned apps work end-to-end.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Distinguish "no success marker + no artifact" (Google Play refused to deliver
the app for the requested device profile - most commonly a CPU ABI mismatch,
e.g. requesting an x86_64 emulator profile for an arm64-only app; also
region/availability/acquisition) from the rare "success marker present but
artifact missing" case, with actionable error messages for each.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@npinaev npinaev merged commit 23ae83a into main Jun 29, 2026
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