3.7 KiB
3.7 KiB
Sonnet 4.6 — Финальный аудит: баги и действия пользователя
Дата: 2026-07-30 Версия: v1.1.43
Контекст
За 2 дня: 43 версии. Множество правок. Только что нашли баг — в toggleInstance удалили const opsEl = ... при рефакторинге, упало с ReferenceError. Нужно найти ВСЕ подобные баги.
Файлы для проверки (ВСЕ)
/home/naeel/nubes/autotest/app-autotest/site/static/app.js— 460 строк, весь фронтенд/home/naeel/nubes/autotest/app-autotest/site/routes/api_test.py— бэкенд/home/naeel/nubes/autotest/app-autotest/site/templates/index.html— HTML/CSS/home/naeel/nubes/autotest/app-autotest/site/api/http_client.py— HTTP-клиент/home/naeel/nubes/autotest/app-autotest/site/operations/get_params.py— параметры
Что искать
1. ReferenceError / undefined variables
- Все ли переменные объявлены перед использованием?
opsEl,svcEl,btnSpan,inst,afterEl— все ли определены в своей области видимости?
2. Все действия пользователя при busy=true
Проверь КАЖДУЮ функцию — не вызывает ли она stopPoll() до проверки busy? Не меняет ли DOM (stages-box, params-area) до проверки?
Функции для проверки:
toggleInstance(iuid)— строка 76selectService(svcId)— строка 39startCreate()— строка 106runOp(opName,opId)— строка 128showParams(opId,opName)— строка 146 (вызывается из runOp, startCreate)executeOp(params)— строка 307setFinishedState(...)— строка 286refreshInstances()— строка 389toggleHistory()— строка 410toggleLog()— строка 456
3. Пустые catch / потерянные ошибки
showParams— есть.catch()✅executeOp— естьcatch(e)+ busy ✅loadHistory— естьcatch(e)✅startCreate— естьcatch(e)с fallback ✅- Поллинг в executeOp —
catch(e)со счётчиком ✅ - Есть ли другие
try/catchилиfetch().then()без обработки ошибок?
4. busy не сбрасывается
Все ли пути выхода из executeOp сбрасывают busy=false?
- FAIL:
busy=false+ return ✅ - CMDB OK:
busy=false+ setFinishedState ✅ - Поллинг завершился:
setFinishedState→busy=false✅ - catch:
busy=false✅ - Сетевая ошибка в поллинге: счётчик →
setFinishedState✅
5. DOM-элементы
- Все ли
getElementByIdссылаются на существующие ID в index.html? ops-${iuid}— генерируется динамически вselectServiceиrefreshInstancesparam-displayname— генерируется вshowParams- Все ли статические ID присутствуют?
6. Параметры операций
runOp→showParams— правильно ли для ВСЕХ типов операций?showParams→opHeaderдля не-create — показывается всегда ✅showParams→createHeaderдля create — показывается ✅- Пустые params →
opHeader+ кнопка «Запустить» ✅
7. Любые другие баги
Что ещё могло сломаться за 43 версии?