Files

4.3 KiB
Raw Permalink Blame History

План ShaCraft Launcher

Сделано: рефакторинг 2026-09-09

  • React components/hooks/typed IPC/state reducers вместо единого main.tsx.
  • Строгий TypeScript, тесты async lifecycle и последовательных сохранений.
  • Rust commands по ответственности; signed-only синхронизация профиля.
  • Общие atomic files, process-local operation guards, portable path checks.
  • Проверка подписи, размера envelope и profile ID; bounded provider redirects.
  • Push/PR проверки и ручная матрица сборки с артефактами.

Следующие задачи

  • Сохранены изменения 0.1.1 из GitHub: обязательный ShaCraft-аккаунт, подтверждённый ник, реальный онлайн и исправления Windows-install pipeline.
  • Microsoft (отдельное будущее решение): собственный client ID + API approval и живой OAuth-тест. Текущий запуск использует ShaCraft identity.
  • Cold install / repair / update / game exit на чистых Windows/Linux/macOS. Unit tests и web preview не заменяют эти прогоны.
  • Native самообновление, русский UX, pinned updater key и защищённый release pipeline.
  • Локальные AppImage/deb собраны на Ubuntu 26.04 с CI test key; подписи и форматы проверены. Настоящий AppImage прошёл изолированный startup/lock/marker smoke. Это не проверка установки, самообновления или совместимости Ubuntu 22.04.
  • Настроить защищённое GitHub environment/production secrets, опубликовать первый updater-релиз и проверить реальную замену приложения на каждой ОС. Подпись ОС и Apple notarization — отдельные настройки; CI test keys не предназначены игрокам.
  • Реальная отмена загрузок, журнал с редактированием токенов и retry UX.
  • Выбор каталога профиля и безопасный reset только managed-файлов.
  • Keychain-хранилище сессии ShaCraft; OS-lock и lease игры уже реализованы.
  • Динамический каталог и новости; реальный Aeronautics онлайн уже загружается через фиксированный display-only API. Не имитировать данные.

Исправления по handoff (исходники, до выкладки)

  • Один signed snapshot и общий межпроцессный lock на Play/Repair.
  • Inventory, journal/recovery, retirement старых неизменённых managed-файлов.
  • Явный перенос выбранных legacy-модов в резервную копию.
  • NeoForge clean rebuild + provenance receipt; непустая порча обнаруживается.
  • Отдельный первый вход с серверным grant и одноразовым proof.
  • RAM retry сохраняет намерение; неверный JAVA_HOME не скрывает подходящий PATH.
  • Версии в интерфейсе берутся из проверенного manifest.
  • Совместная выкладка backend/Game Bridge/подписанного payload и нового лаунчера.
  • Изолированная игровая проверка LoginSystem + hold + proof, затем beta по ОС.

Сопутствующий серверный код содержит read-only status, nonce proof с legacy migration и durable grant/revoke outbox. Оплата и доставка whitelist — разные состояния. Реферальные правила остаются отдельной задачей серверного PLAN; это исправление не меняет условия покупки. Продакшен не изменён.