Files
wiki/memory/2026-05-04.md
2026-05-04 14:40:03 +03:00

3.8 KiB
Raw Permalink Blame History

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: трек + метки (оба)