# 2026-05-04 — Дневник Стрим ## Enduro Trails — Фаза 3 «Умный маршрут» ### Что делали Полная реализация Фазы 3: BRD, тест-кейсы, реализация, тестирование, баг-фиксы. ### Документы созданы - `tasks/enduro-trails/BRD_PHASE3.md` — бизнес-требования (6 фич, согласовано со Славой) - `tasks/enduro-trails/TEST_CASES_PHASE3.md` — 56 тест-кейсов - `tasks/enduro-trails/DEV_TASK_PHASE3.md` — ТЗ для Dev-агента - `tasks/ui-testing/PROJECT.md` — проект UI-тестирования (Playwright/Puppeteer на mva154) - `tasks/ui-testing/README.md` — как запустить - `tasks/ui-testing/tests/enduro-phase3.js` — 56 TC в Playwright-скрипте - `tasks/ui-testing/tests/template.js` — шаблон для новых проектов - `tasks/ui-testing/scripts/setup-mva154.sh` — установка Chromium на сервере - `tasks/ui-testing/scripts/run-tests.sh` — запуск тестов ### Реализовано (Дев-агентом) - ✅ `formatDuration(seconds)` — время в формате "2 ч 35 мин" / "1 дн 2 ч" - ✅ POST `/api/route` — альтернативные маршруты (до 5), статистика покрытия - ✅ Карточки маршрутов: компактные + развёрнутые, полоска покрытия, hover/click - ✅ Промежуточные точки: добавление, удаление, drag, debounce 300ms - ✅ GPX экспорт: трек + waypoints + флажки, имя enduro-YYYYMMDDHHMMSS.gpx - ✅ Флажки 🚩: localStorage, попап → A / → B / удалить ### Баги найдены и исправлены 1. **formatDuration(86400) → "1 дн 0 ч"** → исправлено на "1 дн" 2. **OSRM TooBig не обрабатывался** → retry-цепочка 5→3→false 3. **UI: панель маршрута перекрывалась кнопками** → CSS right: 56px !important 4. **Длинные маршруты не строились** → radiuses=5000 во все запросы + retry при NoSegment с radiuses=10000 + timeout 60 сек + улучшены сообщения об ошибках ### Результат тестирования длинного маршрута Хоруговино → Корак-Чурачки: **1013 км, 97% грунт** ✅ ### Проблемы с деплоем - SSH бинарник в OpenClaw-контейнере требует glibc 2.38+, в контейнере 2.36 - installer skill (ssh_exec.sh) не работает по той же причине - Решение: Node.js ssh2 npm-пакет для SFTP/SSH (работает через libssh2, не требует системный ssh) - Дев-агент стабильно таймаутится при попытке установить npm-пакеты — нужно давать прямые команды - Docker cp + restart вместо docker compose build (файлы запечены в образ, но cp в running container работает) ### UI-тестирование — заблокировано - Playwright не запускается в контейнере (нет libglib, libnss и др.) - Создан проект `tasks/ui-testing/` для установки Chromium на mva154 - Пока не настроено — визуальные тест-кейсы не прогнаны ### Согласованные решения (Слава) - Альтернативы: до 5 вариантов - Точность статистики: ±5% ок - Перетаскивание точек: нужно - Флажки: только localStorage - GPX: трек + метки (оба)