ADR-012: именованные сборки (zip) рядом с номерными — /sol/; ^~ для служебных путей; два дефекта сборки фронтендера
This commit is contained in:
@@ -226,3 +226,27 @@ curl -s -o /dev/null -w '%{http_code} -> %{redirect_url}\n' https://smart-updown
|
||||
**TODO:**
|
||||
- [ ] `[pump.meta]` Автоматизировать шаг 3 (сейчас ручная команда после CI).
|
||||
- [ ] `[pump.meta]` Ретеншен старых сборок на 152 (сейчас 27, 28, 29 = ~200 МБ; политика за владельцем).
|
||||
|
||||
## ⭐ 2026-09-15 (4) — именованная сборка `sol` из zip + два дефекта в ней
|
||||
|
||||
**Сделано:** фронтендер прислал `build_sol.zip` (вне релизного цикла, без номера). Выложил под именем
|
||||
`sol` → **https://smart-updown.binom.pw/sol/** (см. ADR-012, `tools/proxmox-nginx/publish-zip.sh`).
|
||||
Активная сборка не тронута — корень по-прежнему `/29/`. Адрес: `/sol/`.
|
||||
|
||||
**Правки в nginx (иначе не работало):**
|
||||
- локейшн сборок расширен с чисел до имён → **обязательно вернуть `^~` служебным путям**
|
||||
(`/api`, `/ws`, `/solana-rpc/`), иначе расширенный regex перехватывает `/api/...` и ломает бэк;
|
||||
- `immutable` — только для номерных каталогов; именованные кэшировать нельзя (могут перезалить);
|
||||
- в маску добавлен `unityweb` (сборки фронтендера на `.unityweb`-ассетах).
|
||||
|
||||
**⚠️ Два дефекта в присланной сборке (отдать фронтендеру):**
|
||||
- [ ] **`[pump.front]` Двойной префикс API: игра зовёт `/api/api/state` → 404.**
|
||||
`SmartUpdownConfig.ApiBase()` для WebGL = `Origin()+"/api"`, а `BackendClient.HttpGetAsync("/api/state")`
|
||||
добавляет `/api/...` ещё раз. Лечится в одном месте: либо `ApiBase()` без `/api`, либо пути без `/api`.
|
||||
- [ ] **`[pump.front]` `ReferenceError: getProvider is not defined`** — падение при подключении Phantom.
|
||||
В `framework.js` есть вызовы `getProvider()`/`errMsg()`/`loadWeb3()`, но нет определений: в
|
||||
`Assets/Plugins/WebGL/SolanaBridge.jslib` они объявлены внутри IIFE, а через `mergeInto` экспортированы
|
||||
только `SolanaBridge*`-методы. Не регресс от nginx — воспроизводится и на сборке 29.
|
||||
|
||||
**Важное подтверждение:** билд `sol` в браузере **дошёл до игрового цикла** (`Phase -> Idle` →
|
||||
`Phase -> Approach`) — раньше в headless ни одна сборка так далеко не шла. Статика с nginx отдаётся корректно.
|
||||
|
||||
Reference in New Issue
Block a user