naeel
|
dcd978808d
|
fix: разделение клиентов — сервисы из real API, инстансы/операции из polygon (v1.2.28)
|
2026-08-01 09:22:02 +04:00 |
|
naeel
|
5065019ffd
|
v1.2.20: remaining Codex fixes — _op_results lock, advisory lock for scenarios, _ensure_schema logging, stale async generation token, validate-cfs explicit JSONDecodeError
|
2026-07-31 18:07:24 +04:00 |
|
naeel
|
82a3be2067
|
v1.2.16: save full instance metadata (instance_meta JSONB)
init_db.py: ALTER TABLE runs ADD instance_meta JSONB
save_run.py: +instance_meta parameter → JSONB insert
api_test.py: _finish_op fetches GET /instances/{uid} after poll, saves all fields
scenario.py: run_scenario same — per-step instance metadata
Excludes: instanceUid, displayName, svc, serviceId, explainedStatus (already in other columns)
|
2026-07-31 14:19:29 +04:00 |
|
naeel
|
bc09b69aa4
|
v1.2.14: expandable history rows with execution stages
Backend: /api/history now returns stages (JSONB)
Frontend: click on history row → expand to show execution stages:
✅ stage_name start → finish (duration)
❌ stage_name start → finish (duration)
⏳ stage_name start → ... (—)
RUNNING rows: yellow background, FAIL rows: red background
|
2026-07-31 14:07:35 +04:00 |
|
naeel
|
353e07bfa8
|
v1.2.1: fix tracker_add in executor + labelCls + descr context + script order
Opus review fixes:
- executor.py: tracker_add inside executor after instance_uid, before params/run (A3, orphan protection)
- executor.py: descr parameter (version/context instead of hardcoded)
- api_test.py: pass client_id/stand/descr, remove duplicate tracker_add
- scenario.py: pass client_id/stand/descr with scenario context
- params-render.js: fix labelCls ReferenceError in renderMapFixedRow (pre-existing bug)
- index.html: params-render.js already before operations.js (verified)
|
2026-07-31 09:45:05 +04:00 |
|
naeel
|
91e97f6f75
|
v1.2.0: unified executor + flexible instance refs + params-render.js
Phase 1 — New modules:
- api/utils.py: find_uid(), uid_from_location() (replaces 2 duplicates)
- operations/poll.py: poll_until_done() (shared sync/async polling)
- operations/executor.py: execute_operation() (single CREATE/non-CREATE flow)
Phase 2 — Format + validation:
- routes/api_scenario_defs.py: _validate_steps with output/instance_ref/instance_uid
- operations/scenario.py: resolve instance_uid > instance_ref > service_id,
use executor + poll_until_done, persist instance_bindings
Phase 3 — Migration:
- routes/api_test.py: create/non-create through executor, _finish_op through poll_until_done
- db/init_db.py: startup cleanup of stuck scenario_runs (>1h)
Phase 4 — UI shared module:
- static/js/params-render.js: renderParamRow, renderMapFixedRow, collectParams
- static/js/operations.js: use params-render.js (remove duplicates)
- templates/index.html: include params-render.js
- app.py: bump 1.1.57 → 1.2.0
|
2026-07-31 08:55:06 +04:00 |
|
naeel
|
a96658b9b5
|
v1.1.55: split large files + CRUD scenario editor
Backend (5→7 files):
- api_test.py: 622→479, terraform functions → operations/terraform.py (142)
- api_scenario.py: 241→split into run (153) + defs (108) with _validate_steps()
- db/scenario_defs.py: +client_id, stand, is_seed in list_definitions
Frontend (1→10 files):
- app.js: 554→16 (loader), split into:
utils.js (45), instances.js (89), operations.js (249),
history.js (35), scenario-list.js (90)
- New CRUD: scenario-form.js (128), create (25), edit (12), delete (13)
Max file size: JS 249, PY 479
|
2026-07-30 22:02:22 +04:00 |
|
naeel
|
0ab6b3a89e
|
v1.1.45: phase1 — escape fixes, refSvc top-level, redact secrets, validate inputs, no traceback, TIMEOUT save, remove legacy api_bp
|
2026-07-30 13:43:48 +04:00 |
|
naeel
|
f79301b245
|
v1.1.37: params for all ops + polling try/catch + refresh always + tracker CMDB + firstServiceId
|
2026-07-30 07:47:43 +04:00 |
|
naeel
|
65d10d5c35
|
v1.1.33: CMDB delete logging — log HTTP status code
|
2026-07-29 14:09:56 +04:00 |
|
naeel
|
d17c84548d
|
v1.1.31: CMDB hard delete + fix _resolve_ref_svc params update
|
2026-07-29 13:48:49 +04:00 |
|
naeel
|
b4980aed76
|
v1.1.30: fix json.loads('') in _resolve_ref_svc
|
2026-07-29 13:43:30 +04:00 |
|
naeel
|
8cc7f54b23
|
v1.1.26: handle empty validate-cfs response (JSONDecodeError)
|
2026-07-29 13:24:00 +04:00 |
|
naeel
|
ed6612fb3c
|
v1.1.25: full Terraform parity — normalize, resolveRefSvc, send ALL params, 30min timeout, svc in fields
|
2026-07-29 13:17:45 +04:00 |
|
naeel
|
d3164ebe76
|
v1.1.24: step 6 from REAL operation (not template) — fixes serviceInstanceUid
|
2026-07-29 12:59:13 +04:00 |
|
naeel
|
32008463bc
|
v1.1.23: fix None defaultValue for map-fixed — build JSON from sub-param defaults
|
2026-07-29 12:48:23 +04:00 |
|
naeel
|
515fadbcde
|
v1.1.21: 6 fixes — _finish_op args, connection leak, pool init, XSS, secure cookie, let
|
2026-07-29 12:01:00 +04:00 |
|
naeel
|
f75c6ce42a
|
v1.1.20: fix _client() → get_client() — NameError in status polling
|
2026-07-29 11:39:56 +04:00 |
|
naeel
|
ca33b45f1a
|
v1.1.19: send required+default params (Terraform step 6) + validate-cfs
|
2026-07-29 11:15:41 +04:00 |
|
naeel
|
735bf4d3d6
|
v1.1.14: serviceId filter, svcShort displayName, descr, remove duplicate endpoint
|
2026-07-29 09:34:46 +04:00 |
|
naeel
|
8f802c3a17
|
v1.1.13: service highlight, dynamic btn text, defaultValue in dataDescriptor
|
2026-07-29 09:05:23 +04:00 |
|
naeel
|
b763469c5c
|
v1.1.12: fix NameError — missing import + JS error handling in showParams
|
2026-07-29 08:53:53 +04:00 |
|
naeel
|
659681dbf6
|
v1.1.11: normalize valueList CSV→array for nested dataDescriptor params
|
2026-07-28 13:56:58 +04:00 |
|
naeel
|
9090a4a9c3
|
v1.1.3: refSvcId — select dropdown from API for cross-service params
|
2026-07-28 11:42:58 +04:00 |
|
naeel
|
5a20962015
|
v1.0.99: fix all Flask-proxy in background thread — user_email + app_version as params
|
2026-07-28 10:49:21 +04:00 |
|
naeel
|
3dbddda858
|
v1.0.99: debug logging for save_run — will show why it fails
|
2026-07-28 10:42:43 +04:00 |
|
naeel
|
b9234a0d0b
|
v1.0.97: fix missing get_token_info import
|
2026-07-28 10:34:25 +04:00 |
|
naeel
|
f6598650b5
|
v1.0.97: fix save_run — user_email passed as param, not called in background thread
|
2026-07-28 10:26:24 +04:00 |
|
naeel
|
99b0a79cbd
|
v1.0.95: full test data — op_uid, user_email, app_version, params saved to runs
|
2026-07-28 10:12:16 +04:00 |
|
naeel
|
d95afc60e3
|
v1.0.92: Steps 5-9 — dynamic services, PostgreSQL history, /api/history
|
2026-07-27 22:59:52 +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 |
|
naeel
|
1cc3f6eb7e
|
v1.0.89: detailed code comments — all Python files + index.html architecture overview
|
2026-07-27 22:02:51 +04:00 |
|
naeel
|
40008db1bd
|
v1.0.86: per-user per-stand tracker — /tmp/instances-{client_id}-{stand}.json, no _INITIAL
|
2026-07-27 17:37:12 +04:00 |
|
naeel
|
6afe4ef9a9
|
v1.0.82: _get_instance_display_name() — fetch real name from API for non-create
|
2026-07-27 16:56:35 +04:00 |
|
naeel
|
a7b8cd30b7
|
v1.0.81: get_params.py — current values from GET /instances/{uid} state.params
|
2026-07-27 16:48:42 +04:00 |
|
naeel
|
12dea4e690
|
v1.0.80: drop svcOperationId from preview POST — API now populates actual paramValue
|
2026-07-27 16:24:34 +04:00 |
|
naeel
|
7d2021a1e4
|
v1.0.79: file-based log (/tmp/app-autotest.log) for multi-worker gunicorn
|
2026-07-27 13:57:10 +04:00 |
|
naeel
|
07aa2115d4
|
v1.0.78: log panel in UI + /api/log endpoint + _log() buffer
|
2026-07-27 13:50:57 +04:00 |
|
naeel
|
6c8d852f6c
|
v1.0.77: debug logging in api_params to trace modify flow
|
2026-07-27 13:49:30 +04:00 |
|
naeel
|
766b50cd7b
|
v1.0.76: modify shows actual instance param values (preview operation)
|
2026-07-27 13:29:38 +04:00 |
|
naeel
|
656ad4c893
|
v1.0.75: keep displayName in operation status
|
2026-07-27 13:04:38 +04:00 |
|
naeel
|
0248c78931
|
v1.0.74: version bump before push
|
2026-07-27 12:58:55 +04:00 |
|
naeel
|
0bcfa5a566
|
v1.0.63: autotest namespace and duplicate prevention
|
2026-07-27 11:24:05 +04:00 |
|
naeel
|
338c080254
|
v1.0.54: fix 4 audit bugs — _client auto-detect, _find_uid by key, tracker_add before params, flock LOCK_NB
|
2026-07-27 10:18:49 +04:00 |
|
naeel
|
1786bc67dd
|
v1.0.51: auto-detect stand (dev/test); init instance_groups; _finish_op full try/except
|
2026-07-27 09:54:49 +04:00 |
|
naeel
|
a271e863f3
|
v1.0.50: fix showStages icon (dtFinish); fix api_operations (add tracked orphans); drop not_created filter
|
2026-07-27 09:43:36 +04:00 |
|
naeel
|
7f6284bb46
|
v1.0.49: in-memory tracker (no file IO); traceback on tracker error; refreshInstances adds new items; no selectService on OK
|
2026-07-27 09:26:39 +04:00 |
|
naeel
|
1d306bf263
|
v1.0.48: tracker_add sync before thread (Sonnet fix); log is_ok; flexbox buttons
|
2026-07-27 09:02:59 +04:00 |
|
naeel
|
7fdcc005b5
|
v1.0.47: fix displayName capture before form clear; fix tracker_add race; add autotest-1 to tracker
|
2026-07-27 08:44:19 +04:00 |
|
naeel
|
ffa7d408c6
|
v1.0.46: fix _finish_op signature — add op_name, svc_op_id params
|
2026-07-27 08:03:27 +04:00 |
|