up
This commit is contained in:
@@ -303,3 +303,28 @@ GUI smoke на стенде без внешнего дисплея модели
|
||||
native fullscreen проверяется при наличии реального второго экрана. Реальное
|
||||
предотвращение сна, маршрутизацию звука ОС и физическое переподключение оборудования
|
||||
проверять по [инструкции SCREEN-007](docs/SCREEN-007_ACCEPTANCE.md) на всей матрице.
|
||||
|
||||
## Генерация клиента API
|
||||
|
||||
Приложение использует HTTP-клиент из канонического
|
||||
`../evening_detective_server/api/main.proto`; сервер и frontend при генерации не меняются.
|
||||
Сгенерированные методы и типы находятся в `electron/api/generated` и хранятся в Git.
|
||||
Обычная сборка использует готовые файлы и не требует соседнего репозитория или генератора.
|
||||
|
||||
Для обновления нужны `protoc 36.0`, Go и тот же плагин, что во frontend:
|
||||
|
||||
```sh
|
||||
go install go.einride.tech/protoc-gen-typescript-http@v0.10.0
|
||||
npm run proto:gen
|
||||
```
|
||||
|
||||
Добавьте каталог Go `bin` в PATH. Команда проверяет версии и пишет только в screen;
|
||||
повторная генерация при неизменном proto должна давать тот же результат.
|
||||
Генерируемые файлы не редактировать и не форматировать вручную.
|
||||
|
||||
Транспорт остаётся в основном процессе Electron: авторизация, обновление токена,
|
||||
отмена, таймауты и безопасная диагностика общие для вызовов клиента. Медиа скачиваются
|
||||
отдельно и воспроизводятся с локального диска. Генератор задаёт методы и TypeScript-типы,
|
||||
но не проверяет и не преобразует JSON. В частности, его декларация `number` для `int64`
|
||||
не меняет строковый формат gateway: входящие версии проходят проверку и сравниваются
|
||||
через `BigInt`; обращения к этим полям напрямую как к числам не допускаются.
|
||||
|
||||
Reference in New Issue
Block a user