From 0fd5f91ac06614a6ad662e9ed5aa0d9bff21e57a Mon Sep 17 00:00:00 2001 From: Stream Date: Mon, 4 May 2026 14:40:03 +0300 Subject: [PATCH] auto-sync: 2026-05-04 14:40:01 --- memory/2026-05-04.md | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 memory/2026-05-04.md diff --git a/memory/2026-05-04.md b/memory/2026-05-04.md new file mode 100644 index 0000000..6095609 --- /dev/null +++ b/memory/2026-05-04.md @@ -0,0 +1,53 @@ +# 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: трек + метки (оба)