diff --git a/DOCS/ARCHITECTURE.md b/DOCS/ARCHITECTURE.md index ba7b01f..67de0dc 100644 --- a/DOCS/ARCHITECTURE.md +++ b/DOCS/ARCHITECTURE.md @@ -1,6 +1,6 @@ # Архитектура app-autotest — полный документ -v1.0.68, 27.07.2026 +v1.0.69, 27.07.2026 --- diff --git a/DOCS/HISTORY.md b/DOCS/HISTORY.md index dc394d3..99cc710 100644 --- a/DOCS/HISTORY.md +++ b/DOCS/HISTORY.md @@ -1,6 +1,17 @@ # История разработки app-autotest -# v1.0.68 (27.07.2026) — operation name shown after OK + muted operation buttons +# v1.0.69 (27.07.2026) — autotest prefix fixed in CREATE field + +### Что изменилось +- В `site/templates/index.html` префикс `autotest-` отображается отдельным фиксированным текстом. +- Рядом с ним остаётся только редактируемый суффикс имени. +- При отправке CREATE имя собирается как `autotest-` + введённый хвост. + +### Что это чинит +- Ситуацию, когда весь `displayName` показывался в одном редактируемом поле. +- Риск случайно стереть обязательный префикс `autotest-`. + +## v1.0.68 (27.07.2026) — operation name shown after OK + muted operation buttons ### Что изменилось - В `site/templates/index.html` финальный статус теперь показывает имя операции рядом со временем. diff --git a/site/app.py b/site/app.py index 1cf1377..5092d78 100644 --- a/site/app.py +++ b/site/app.py @@ -6,7 +6,7 @@ from routes.main import bp as main_bp from routes.api import bp as api_bp from routes.api_test import bp as api_test_bp -VERSION = "1.0.68" +VERSION = "1.0.69" app = Flask(__name__, template_folder="templates", static_folder="static") app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc") diff --git a/site/templates/index.html b/site/templates/index.html index 483383a..975c927 100644 --- a/site/templates/index.html +++ b/site/templates/index.html @@ -178,15 +178,8 @@ function startCreate(){ } function makeCreateDisplayName(){ - const existing = new Set((svcInstances||[]) - .map(i => i.displayName || '') - .filter(name => name.startsWith(AUTOTEST_PREFIX))); const suffix = Date.now().toString(36); - let candidate = `${AUTOTEST_PREFIX}${suffix}`; - while(existing.has(candidate)){ - candidate = `${AUTOTEST_PREFIX}${suffix}-${Math.random().toString(36).slice(2, 6)}`; - } - return candidate; + return suffix; } function runOp(opName,opId){ @@ -214,8 +207,8 @@ function showParams(opId,opName){ fetch('/api/params/'+opId).then(r=>r.json()).then(params=>{ const form=document.getElementById('params-form'); - const displayNameHint=opName==='create'?makeCreateDisplayName():''; - form.innerHTML=(opName==='create'?`
`:'') + const displayNameValue=opName==='create'?makeCreateDisplayName():''; + form.innerHTML=(opName==='create'?`