v1.0.88: new ARCHITECTURE.md (current state) + HISTORY updated + legacy docs marked
This commit is contained in:
+46
-18
@@ -1,28 +1,56 @@
|
||||
# История разработки app-autotest
|
||||
|
||||
## v1.0.76 (27.07.2026) — modify показывает актуальные значения параметров инстанса
|
||||
## v1.0.87 (27.07.2026) — документация: ARCHITECTURE.md переписан, legacy-доки помечены
|
||||
|
||||
## v1.0.84 (27.07.2026) — лог-панель скрыта по умолчанию
|
||||
|
||||
### Что изменилось
|
||||
- В `site/routes/api_test.py` `GET /api/params/<op_id>` теперь принимает `?instanceUid=xxx&opName=xxx`:
|
||||
- Создаёт pending-операцию через `POST /instanceOperations`, читает `GET /instanceOperations/{opUid}` и возвращает **текущие** `paramValue` из `cfsParams` вместо шаблонных `defaultValue`.
|
||||
- В ответ добавлен `previewOpUid` — UID созданной preview-операции.
|
||||
- В `site/routes/api_test.py` `POST /api/test` принимает опциональный `previewOpUid`:
|
||||
- Если передан — переиспользует уже созданную операцию, пропускает `POST /instanceOperations`.
|
||||
- В `site/templates/index.html` `showParams()` для не-create операций передаёт `?instanceUid=&opName=` в запрос параметров и сохраняет `previewOpUid`.
|
||||
- В `site/templates/index.html` `executeOp()` передаёт `previewOpUid` в теле запроса.
|
||||
- Версия поднята до `1.0.76`.
|
||||
- Лог-панель теперь `display:none`, показывается кнопкой `log` (правый нижний угол).
|
||||
- При скрытой панели `/api/log` не поллится.
|
||||
|
||||
## v1.0.83 (27.07.2026) — HTML-escape + JSON-валидация map-полей
|
||||
|
||||
### Что изменилось
|
||||
- `_esc(s)` — HTML-экранирование значений (`"` → `"`, `&` → `&`, `<` → `<`).
|
||||
- `validateJson(el, quiet)` — проверка `JSON.parse()` при `onblur` (красная рамка + текст ошибки).
|
||||
- Batch-проверка всех map-полей перед отправкой — ошибка → запрос не уходит.
|
||||
|
||||
### Что это чинит
|
||||
- Форма modify теперь показывает **реальные текущие значения** параметров инстанса (а не шаблонные `0`, `false`, `""`).
|
||||
- Раньше: `GET /instanceOperations/default/{opId}` → `defaultValue` из шаблона.
|
||||
- Теперь: `POST /instanceOperations` → `GET /instanceOperations/{opUid}` → `paramValue` из инстанса.
|
||||
- Поломку HTML при значениях с кавычками (напр. `{"f":1}`).
|
||||
- Отправку битого JSON в API.
|
||||
|
||||
### Как это работает
|
||||
1. Пользователь нажимает modify → `showParams(opId, 'modify')`
|
||||
2. Фронт вызывает `GET /api/params/{opId}?instanceUid={iuid}&opName=modify`
|
||||
3. Бэкенд создаёт pending-операцию и читает её `cfsParams` с актуальными `paramValue`
|
||||
4. Форма заполняется реальными значениями, `previewOpUid` сохраняется
|
||||
5. При submit → `POST /api/test` с `previewOpUid` → переиспользуется та же операция, выставляются новые params → run
|
||||
## v1.0.82 (27.07.2026) — displayName из API для non-create операций
|
||||
|
||||
### Что изменилось
|
||||
- `_get_instance_display_name(client, uid)` — `GET /instances/{uid}` → `displayName`.
|
||||
- Используется в не-create ветке `POST /api/test` вместо `instance_uid` как fallback.
|
||||
|
||||
### Что это чинит
|
||||
- UUID вместо имени инстанса в финальном статусе.
|
||||
|
||||
## v1.0.81 (27.07.2026) — get_params.py: текущие значения из state.params
|
||||
|
||||
### Что изменилось
|
||||
- Новый файл `site/operations/get_params.py` — независимый модуль.
|
||||
- `get_params_with_current_values(client, op_id, instance_uid)`:
|
||||
- `GET /instances/{uid}` → `state.params` (текущие значения)
|
||||
- `GET /instanceOperations/default/{opId}` → шаблон
|
||||
- Слияние: `defaultValue = state.params["код"] ?? template.defaultValue`
|
||||
- Убран `previewOpUid` полностью (и из бэкенда, и из фронтенда).
|
||||
|
||||
## v1.0.80 (27.07.2026) — попытка fix через svcOperationId (НЕ СРАБОТАЛО)
|
||||
|
||||
## v1.0.79 (27.07.2026) — файловый лог для multi-worker
|
||||
|
||||
### Что изменилось
|
||||
- `_log()` пишет в `/tmp/app-autotest.log` под `fcntl.flock` (вместо in-memory deque).
|
||||
- `/api/log` читает из файла последние 200 строк.
|
||||
- Ротация при 512 КБ.
|
||||
- UI-панель логов (180px, автоскролл, поллинг 2s).
|
||||
|
||||
## v1.0.77 (27.07.2026) — debug-логирование в api_params
|
||||
|
||||
## v1.0.76 (27.07.2026) — modify: preview-операция для получения paramValue (НЕ СРАБОТАЛО)
|
||||
|
||||
# v1.0.74 (27.07.2026) — version bump for push
|
||||
|
||||
|
||||
Reference in New Issue
Block a user