From 489e570f42580a556bc9b838006dfef424623f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Fri, 24 Jul 2026 09:24:15 +0400 Subject: [PATCH] Document bugs 5-7 and lessons learned --- HISTORY/2026-07-24-session-4.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 HISTORY/2026-07-24-session-4.md diff --git a/HISTORY/2026-07-24-session-4.md b/HISTORY/2026-07-24-session-4.md new file mode 100644 index 0000000..ba126e9 --- /dev/null +++ b/HISTORY/2026-07-24-session-4.md @@ -0,0 +1,27 @@ +# 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