28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# 2026-07-24 — Продолжение отладки
|
||
|
||
## Баг 5: `'str' object does not support item assignment` (v1.0.21)
|
||
|
||
- **Симптом:** `TypeError: 'str' object does not support item assignment` в http_client.py:32
|
||
- **Строка:** `result["_location"] = loc`
|
||
- **Причина:** POST /instances возвращает `201` с телом `"201"` (JSON-строка). `r.json()` парсит это как строку `"201"`. `result = "201"` (строка). При попытке `result["_location"] = loc` — строка не поддерживает присвоение.
|
||
- **Исправление:** `isinstance(parsed, dict)` перед присвоением.
|
||
|
||
## Баг 6: `displayName` не уникален (v1.0.13-1.0.14)
|
||
|
||
- **Симптом:** 400 "Instance Display Name not unique"
|
||
- **Причина:** имя `autotest-1` уже существует
|
||
- **Исправление:** timestamp + поле ввода
|
||
|
||
## Баг 7: UI зависал (v1.0.15-1.0.16)
|
||
|
||
- **Симптом:** «Сервисы: Загрузка...»
|
||
- **Причина:** заменён рабочий шаблон, авто-selectService
|
||
- **Исправление:** восстановлен из v1.0.12, точечные правки
|
||
|
||
## Уроки
|
||
|
||
1. НЕ заменять рабочий код — только добавлять
|
||
2. `r.json()` может вернуть не dict — проверять isinstance
|
||
3. НЕ делать авто-действий при загрузке
|
||
4. Документировать каждый баг с traceback
|