1.8 KiB
1.8 KiB
Sonnet 4.6 — Полный код-ревью v1.1.20
Дата: 2026-07-29
🔴 КРИТИЧЕСКИЙ БАГ #1 — _finish_op: неправильный порядок аргументов для CREATE
Файл: /home/naeel/nubes/autotest/app-autotest/site/routes/api_test.py
Сигнатура: def _finish_op(client, op_uid, instance_uid, svc_id, display_name, op_name, svc_op_id, is_create, client_id, stand, is_delete=False, params=None, user_email="", app_version=""):
Вызов CREATE передаёт 13 аргументов. params попадает на позицию is_delete → dict truthy → после успешного CREATE вызывается tracker_remove — инстанс НЕМЕДЛЕННО удаляется из трекера.
🔴 ВАЖНЫЙ БАГ #2 — api_history(): утечка соединения
Нет try/finally — при исключении соединение не возвращается в пул. 5 утечек = пул исчерпан.
🔴 ВАЖНЫЙ БАГ #3 — pool.py: _initialized = True до init_db()
При сетевой ошибке init_db() не выполняется, но флаг уже True — схема не создастся до перезапуска воркера.
🟡 XSS — displayName и svc не экранируются в app.js
_esc() не применяется при рендере списка инстансов. Вектор через поле displayName.