naeel
764592ba60
fix: код-ревью #5 #6 #8 #9 #10 — 5 исправлений (v1.2.43)
...
#5 api_history: try/finally для conn/cur (как везде)
#6 stand_name: точное сравнение URL вместо substring
#8 get_real_client: удалён мёртвый алиас
#9 UNIQUE индекс idx_runs_op_uid для предотвращения гонок
#10 flock flush: f.flush() перед LOCK_UN в ротации лога
#7 (отступ scenario.py) пропущен — только косметика, риск сломать else:
2026-08-04 08:02:08 +04:00
naeel
126500a30b
fix: whitelist mode/polygon_stand — защита от мусора в cookie (v1.2.42)
...
Результат код-ревью #3 :
mode/polygon_stand принимали любые значения из формы.
Добавлена валидация в main.py (set_mode) и auth.py (get_mode, get_polygon_stand):
mode ∈ {polygon, cloud}, stand ∈ {dev, test, prod}.
2026-08-04 07:32:06 +04:00
naeel
cc7805a429
perf: кеширование detect_endpoint в flask.g — минус 2 HTTP-запроса (v1.2.41)
...
Результат код-ревью #2 :
get_client() и get_stand() вызывали detect_endpoint() независимо
→ двойной HTTP-запрос к Nubes API на каждый рендер страницы.
_cached_detect(token) кеширует результат в flask.g на время запроса.
2026-08-04 07:26:26 +04:00
naeel
9a801e6bff
fix: URL полигона — стенд перед /api/v1/svc, а не после (v1.2.31)
...
Было: https://polygon.../api/v1/svc/test/instances → 404
Стало: https://polygon.../test/api/v1/svc/instances → OK
Замена /api/v1/svc → /{stand}/api/v1/svc.
2026-08-03 08:56:29 +04:00
naeel
0a62eb3c58
feat: селектор режима и стенда (v1.2.30)
...
Новое:
- Селектор режима (🎭 Эмуляция / ☁️ Облако) над версией
- Селектор стенда (DEV/TEST/PROD) в режиме эмуляции
- В эмуляции — всё в полигон (/stand/api/v1/svc)
- В эмуляции — токен дезактивирован
- По умолчанию: эмуляция + TEST
Изменено:
- auth.py: get_mode(), get_polygon_stand(), get_client() с префиксом стенда
- main.py: action=set_mode, единый get_client() вместо real_client/inst_client
- index.html: селекторы, disable токена
- service_list.py: обрезка polygon_ префикса
- api_test.py: get_real_client → get_client
Задокументировано в HISTORY/2026-08-03-session.md.
2026-08-03 08:50:14 +04:00
naeel
dcd978808d
fix: разделение клиентов — сервисы из real API, инстансы/операции из polygon (v1.2.28)
2026-08-01 09:22:02 +04:00
naeel
4a0cfcaa61
feat: POLYGON_ENDPOINT — отдельная переменная, не трогает NUBES_API_TOKEN (v1.2.26)
2026-07-31 23:42:41 +04:00
naeel
a398892766
feat: интеграция с polygon — STANDS-check в get_client/get_stand (v1.2.24)
2026-07-31 22:45:27 +04:00
naeel
0783319fd1
Рефакторинг API-слоя, операций и БД
2026-07-31 17:13:54 +04:00
naeel
f6a7bf76c5
v1.0.90: Steps 1-4 — auth.py, dedup, httponly cookie, _op_results TTL
2026-07-27 22:56:51 +04:00