3.8 KiB
3.8 KiB
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 / удалить
Баги найдены и исправлены
- formatDuration(86400) → "1 дн 0 ч" → исправлено на "1 дн"
- OSRM TooBig не обрабатывался → retry-цепочка 5→3→false
- UI: панель маршрута перекрывалась кнопками → CSS right: 56px !important
- Длинные маршруты не строились → 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: трек + метки (оба)