naeel
|
b23ea0ee4e
|
v1.1.15: dynamic stages-box — inline after instance, not below all
|
2026-07-29 09:43:29 +04:00 |
|
naeel
|
735bf4d3d6
|
v1.1.14: serviceId filter, svcShort displayName, descr, remove duplicate endpoint
|
2026-07-29 09:34:46 +04:00 |
|
naeel
|
334e0ac668
|
docs: absolute paths in Sonnet round 2
|
2026-07-29 09:26:33 +04:00 |
|
naeel
|
4dd636be3b
|
docs: Sonnet round 2 — remaining bugs and fix plan
|
2026-07-29 09:22:36 +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
|
6a85da6088
|
docs: Sonnet 4.6 code review questions for v1.1.11
|
2026-07-29 08:45:52 +04:00 |
|
naeel
|
659681dbf6
|
v1.1.11: normalize valueList CSV→array for nested dataDescriptor params
|
2026-07-28 13:56:58 +04:00 |
|
naeel
|
da88fa6bd8
|
v1.1.10: real svc per instance, create header, required marks for nested
|
2026-07-28 13:50:34 +04:00 |
|
naeel
|
d326b63aa2
|
v1.1.9: expand dataDescriptor — nested map params as individual fields
|
2026-07-28 13:38:57 +04:00 |
|
naeel
|
a3ecbcd6c4
|
v1.1.8: instance type column — 3 columns: name | service | status
|
2026-07-28 13:33:19 +04:00 |
|
naeel
|
9b003b4723
|
v1.1.7: move create-btn after params, before history
|
2026-07-28 13:17:00 +04:00 |
|
naeel
|
5a4fad5d96
|
v1.1.6: fix orphan </div> in refreshInstances — JS syntax error, all frontend broken
|
2026-07-28 13:01:33 +04:00 |
|
naeel
|
95bcbfae41
|
v1.1.5: fix sed garbage — orphan HTML in app.js
|
2026-07-28 12:48:40 +04:00 |
|
naeel
|
3cef910004
|
v1.1.4: fix Undefined JSON error — config.VERSION always set
|
2026-07-28 11:53:32 +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
|
393e433b4f
|
v1.1.2: UI — params inline, no header, create button below list
|
2026-07-28 11:31:45 +04:00 |
|
naeel
|
12e3d12e09
|
v1.1.1: scrollable services + dynamic CREATE for any service
|
2026-07-28 11:24:51 +04:00 |
|
naeel
|
0b810fdee1
|
v1.1.0: per-stand services list from Terraform — services_dev.txt + services_test.txt
|
2026-07-28 11:15:19 +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
|
10ec617c74
|
v1.0.98: bump version
|
2026-07-28 10:35:08 +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
|
be9e165b4f
|
v1.0.96: history UI — collapsible table below instances, auto-refresh on finish
|
2026-07-28 10:15:31 +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
|
163dd02419
|
v1.0.94: lazy schema init — pool.py runs init_db on first DB access, not at import
|
2026-07-28 09:56:44 +04:00 |
|
naeel
|
203c12638d
|
v1.0.93: HISTORY + ARCHITECTURE updated with v1.0.90-1.0.93 changes
|
2026-07-28 09:51:30 +04:00 |
|
naeel
|
5e120db0d6
|
v1.0.93: separate DB_* env vars (DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD, DB_SSLMODE) + TEST endpoint default
|
2026-07-28 09:50:00 +04:00 |
|
naeel
|
f175319148
|
v1.0.92: jsonEnv — all vars + TEST endpoint default
|
2026-07-28 09:39:52 +04:00 |
|
naeel
|
7fc17ab3cd
|
v1.0.92: back to DATABASE_URL — JSON format for jsonEnv
|
2026-07-28 09:37:14 +04:00 |
|
naeel
|
d239458d97
|
v1.0.92: separate DB_* env vars instead of DATABASE_URL
|
2026-07-28 09:35:40 +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
|
4952f8b096
|
v1.0.91: Step 5 — JS extracted to /static/app.js + window.APP
|
2026-07-27 22:57:29 +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
|
9085c9088e
|
v1.0.89: document cluster iot-naeel in ARCHITECTURE + HISTORY
|
2026-07-27 22:35:47 +04:00 |
|
naeel
|
3eac8b2dff
|
v1.0.89: Sonnet Round 3 — PG connection string, migrations, map-fixed UI, pytest
|
2026-07-27 22:25:36 +04:00 |
|
naeel
|
f802956257
|
v1.0.89: Sonnet Round 2 results — PostgreSQL schema, auth.py, 9-step plan
|
2026-07-27 22:21:44 +04:00 |
|
naeel
|
6b085e1e49
|
v1.0.89: Sonnet Round 2 prompt — PostgreSQL schema, auth.py, dynamic services
|
2026-07-27 22:16:23 +04:00 |
|
naeel
|
437aa7a1d1
|
v1.0.89: Sonnet review prompt — architecture audit request
|
2026-07-27 22:08:24 +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
|
7180587538
|
v1.0.88: new ARCHITECTURE.md (current state) + HISTORY updated + legacy docs marked
|
2026-07-27 21:56:35 +04:00 |
|
naeel
|
c0f577f030
|
v1.0.87: topbar labels — EMail, Профиль, Стенд
|
2026-07-27 17:50:56 +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
|
59e87cf50f
|
v1.0.85: create_client(token) everywhere — single entry point stand detection; {{ stand }} in UI
|
2026-07-27 17:26:09 +04:00 |
|
naeel
|
cd2e2349e2
|
v1.0.84: log panel hidden by default, toggle button bottom-right
|
2026-07-27 17:12:23 +04:00 |
|
naeel
|
c37709eef0
|
v1.0.83: HTML-escape + JSON validation for map fields (onblur + pre-submit)
|
2026-07-27 17:02:26 +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
|
a06a147c4c
|
v1.0.71: finished status shows instance name
|
2026-07-27 12:43:07 +04:00 |
|
naeel
|
199decf96c
|
v1.0.69: autotest prefix fixed in CREATE field
|
2026-07-27 12:36:18 +04:00 |
|
naeel
|
b9f5d1a17e
|
v1.0.68: operation name shown after OK + muted operation buttons
|
2026-07-27 12:17:02 +04:00 |
|
naeel
|
44f7524821
|
v1.0.67: autotest instances are shown by cloud prefix
|
2026-07-27 12:03:48 +04:00 |
|
naeel
|
9a49312390
|
v1.0.66: backend status resolver for operations
|
2026-07-27 11:53:51 +04:00 |
|
naeel
|
120c34ffcf
|
v1.0.65: cloud pagination fix for creating status
|
2026-07-27 11:42:41 +04:00 |
|
naeel
|
90a32353eb
|
v1.0.64: version header and displayName placeholder
|
2026-07-27 11:38:55 +04:00 |
|
naeel
|
0bcfa5a566
|
v1.0.63: autotest namespace and duplicate prevention
|
2026-07-27 11:24:05 +04:00 |
|
naeel
|
8531d5e15d
|
v1.0.62: immediate visual refresh after CREATE
|
2026-07-27 11:19:26 +04:00 |
|
naeel
|
b0844114ba
|
v1.0.58: version bump and history sync
|
2026-07-27 11:05:32 +04:00 |
|
naeel
|
e540742e2e
|
v1.0.55: POST redirect for clear + stray Enter (fix F5 resubmit warning)
|
2026-07-27 10:34:08 +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
|
f546f41f21
|
v1.0.53: file-based tracker with fcntl.flock (multi-worker gunicorn fix)
|
2026-07-27 10:08:40 +04:00 |
|
naeel
|
d79c78e530
|
v1.0.52: _tmpl() helper — all template vars in all code paths (fix UndefinedError)
|
2026-07-27 10:02:43 +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 |
|
naeel
|
8d9bf338fc
|
Fix: refresh instance status badges after any operation, v1.0.45
|
2026-07-26 14:31:10 +04:00 |
|
naeel
|
5373e177be
|
Show operation name in progress: 'modify выполняется...', v1.0.44
|
2026-07-26 14:29:25 +04:00 |
|
naeel
|
3d58b76632
|
Fix: show progress card for non-modify operations, v1.0.43
|
2026-07-26 14:18:39 +04:00 |
|
naeel
|
fed7260654
|
Async ops + progressive stages + buttons + confirm, v1.0.42
|
2026-07-26 13:56:27 +04:00 |
|
naeel
|
62717b0e74
|
Full Terraform logic: svcOperationId, /run, dtFinish, stages in UI, v1.0.41
|
2026-07-26 11:26:28 +04:00 |
|
naeel
|
9348c4089f
|
UI: instances + expand operations, create separate, only dummy, v1.0.40
|
2026-07-26 08:31:27 +04:00 |
|
naeel
|
b0ef0c98fe
|
UI: instance list with names+status, click to select, v1.0.39
|
2026-07-26 08:05:45 +04:00 |
|
naeel
|
9668f03d3e
|
Fix: main.py /api/operations now returns tracked instances, v1.0.38
|
2026-07-25 09:02:02 +04:00 |
|
naeel
|
8307308a0a
|
Tracker: /tmp/instances.json survives redeploy, 3 dummy seeds, v1.0.37
|
2026-07-25 08:49:26 +04:00 |
|
naeel
|
d796beaa44
|
Add existing dummy instance to tracker
|
2026-07-24 16:57:11 +04:00 |
|
naeel
|
560bd62fce
|
Track created instances, show only ours in UI, v1.0.36
|
2026-07-24 16:51:08 +04:00 |
|
naeel
|
20573201b9
|
README: link to main repo API docs
|
2026-07-24 16:39:38 +04:00 |
|
naeel
|
085e4811c6
|
Auto-start fails via API, add /run back, v1.0.35
|
2026-07-24 14:42:26 +04:00 |
|
naeel
|
735bf21074
|
Remove validate/run from create - HAR shows auto-start, v1.0.34
|
2026-07-24 14:21:20 +04:00 |
|
naeel
|
72dd5ad5ae
|
Fix: send {} body for POST, not None, v1.0.33
|
2026-07-24 14:19:48 +04:00 |
|
naeel
|
81e54e44d2
|
Fix array/map param values as JSON, v1.0.31
|
2026-07-24 14:13:32 +04:00 |
|
naeel
|
f8d1575943
|
Match HAR exactly: empty descr, all params, no filter, v1.0.30
|
2026-07-24 13:59:42 +04:00 |
|
naeel
|
6ea0344241
|
Fix: /instanceOperationCfsParams, skip validate/run for now, v1.0.29
|
2026-07-24 13:57:15 +04:00 |
|
naeel
|
26d71c87eb
|
Fix: use /instanceOperationCfsParams endpoint, v1.0.28
|
2026-07-24 13:56:01 +04:00 |
|
naeel
|
7a29f71c2e
|
Skip empty params, only send non-empty to /params, v1.0.26
|
2026-07-24 09:50:26 +04:00 |
|
naeel
|
75ee6ad5cb
|
Fix: instanceOperationUid in params, add validate, v1.0.25
|
2026-07-24 09:46:03 +04:00 |
|
naeel
|
049513cfbc
|
Fix: 3-step - /instances → /instanceOperations → /params → /run, v1.0.24
|
2026-07-24 09:44:30 +04:00 |
|
naeel
|
abec85bdbf
|
Include cfsParams in POST /instanceOperations, v1.0.23
|
2026-07-24 09:38:59 +04:00 |
|
naeel
|
2acb6aa8c9
|
Fix: 2-step create + run, paginated get_instances, v1.0.22
|
2026-07-24 09:34:18 +04:00 |
|