4.3 KiB
4.3 KiB
План 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; это исправление не меняет условия покупки. Продакшен не изменён.