# Статус агента: Разработчик > Обновляется агентом `/project:dev` после каждой задачи. **Последнее обновление:** 2026-05-18 **Последний коммит:** `fix: добавить 15-секундный таймаут fetch во все модули` --- ## ✅ Сделано (последние задачи) - `escAttr is not defined` — добавлена функция, карточка клиента работает - `_fetchWithTimeout` (15с AbortController) — внедрён во все 5 модулей: clients, measurements, assembly, proposals, request - Карточка клиента: убран баг с загрузкой proposals вместо карточки - Сравнение `client_tg_id` через `String()` — исправлен silent TypeError - Примечания клиента: кнопка больше не зависает на «Сохраняем...» --- ## ⚠️ Известные проблемы | Проблема | Файл | Приоритет | |----------|------|-----------| | Нет `Content-Type: application/json` в `_fetchWithTimeout` | все модули | низкий (бэкенд прощает) | | `app.js` роутер не аудирован на edge cases | app.js | средний | | `measurements.js` — статический fetch `zamer-checklist.md` без таймаута | measurements.js | низкий | --- ## 📋 Бэклог разработчика 1. Добавить `Content-Type: application/json` в `_fetchWithTimeout` (все модули) 2. Аудит `app.js`: неизвестные хэши → 404-экран, а не падение 3. Экран «Мой статус» менеджера (API `/api/me` уже есть) 4. Проверить обработку ошибок в `measurements.js` после рефакторинга fetch --- ## 🔜 Следующий шаг **Добавить `Content-Type` в `_fetchWithTimeout`** — патч в 5 файлах, 2 минуты работы. Или: реализовать экран «Мой статус» (приоритет 1 в ROADMAP).