Files
shacraft-launcher/PLAN.md
T

49 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План ShaCraft Launcher
## Сделано: рефакторинг 2026-09-09
- [x] React components/hooks/typed IPC/state reducers вместо единого main.tsx.
- [x] Строгий TypeScript, тесты async lifecycle и последовательных сохранений.
- [x] Rust commands по ответственности; signed-only синхронизация профиля.
- [x] Общие atomic files, process-local operation guards, portable path checks.
- [x] Проверка подписи, размера envelope и profile ID; bounded provider redirects.
- [x] Push/PR проверки и ручная матрица сборки с артефактами.
## Следующие задачи
- [x] Сохранены изменения 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 не заменяют эти прогоны.
- [x] Native самообновление, русский UX, pinned updater key и защищённый release pipeline.
- [x] Локальные 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 (исходники, до выкладки)
- [x] Один signed snapshot и общий межпроцессный lock на Play/Repair.
- [x] Inventory, journal/recovery, retirement старых неизменённых managed-файлов.
- [x] Явный перенос выбранных legacy-модов в резервную копию.
- [x] NeoForge clean rebuild + provenance receipt; непустая порча обнаруживается.
- [x] Отдельный первый вход с серверным grant и одноразовым proof.
- [x] RAM retry сохраняет намерение; неверный JAVA_HOME не скрывает подходящий PATH.
- [x] Версии в интерфейсе берутся из проверенного manifest.
- [ ] Совместная выкладка backend/Game Bridge/подписанного payload и нового лаунчера.
- [ ] Изолированная игровая проверка LoginSystem + hold + proof, затем beta по ОС.
Сопутствующий серверный код содержит read-only status, nonce proof с legacy
migration и durable grant/revoke outbox. Оплата и доставка whitelist — разные
состояния. Реферальные правила остаются отдельной задачей серверного PLAN;
это исправление не меняет условия покупки. Продакшен не изменён.