Files
wiki/tasks/enduro-trails/reports/dev-2026-05-04-bugfix-2.md
2026-05-04 12:40:01 +03:00

4.6 KiB
Raw Blame History

Dev Report: Enduro Trails Bug Fix #2

Дата: 2026-05-04 Статус: BLOCKED

Задача

Исправить 2 бага в Enduro Trails:

  • Bug 3: UI панель маршрута перекрывается кнопками управления
  • Bug 4: Длинные маршруты не строятся + улучшить сообщения об ошибках

Сделано

  • Bug 3 — исправлен в CSS и HTML
  • Bug 4 — исправлен в app.py (добавлен radiuses=5000, улучшены ошибки)
  • Все изменения готовы в workspace

Изменённые файлы

  • /home/node/.openclaw/workspace/tasks/enduro-trails/prototype/static/app.css

    • Добавлен #route-panel { right: 56px !important; } чтобы не перекрывать кнопки
    • Добавлен медиа-запрос для мобильных устройств
  • /home/node/.openclaw/workspace/tasks/enduro-trails/prototype/static/index.html

    • Удалён inline right:10px из #route-panel (теперь управляется через CSS)
  • /home/node/.openclaw/workspace/tasks/enduro-trails/prototype/app.py

    • Добавлен параметр radiuses=5000 (5 км snap radius) для длинных маршрутов
    • Улучшены сообщения об ошибках OSRM:
      • NoRoute → "Маршрут не найден: нет пути между точками"
      • NoSegment → "Маршрут не найден: точки слишком далеко от дорог"
      • InvalidValue → "Некорректные координаты: {msg}"
      • Прочие → "Маршрут не найден ({code})"

Проблема — БЛОКЕР

SSH недоступен в subagent контейнере из-за несовместимости glibc:

  • Контейнер: glibc 2.36
  • SSH бинарь требует: glibc 2.38+
  • Все попытки обойти (static binary, Python paramiko, Node ssh2) не удались
  • Elevated exec недоступен для subagent
  • Gateway host имеет ту же проблему с glibc

Следующий шаг

Варианты:

  1. Запустить деплой из main agent (не subagent) — там может быть рабочий SSH
  2. Попросить Славу задеплоить файлы вручную
  3. Установить openssh-client с elevated правами (требует изменения конфига)

Команды для ручного деплоя (если нужно)

SKILL=~/.openclaw/skills/installer/scripts

# 1. CSS
$SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/static/app.css << 'ENDOFFILE'
<содержимое из workspace>
ENDOFFILE"

$SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/static/app.css prototype-enduro-trails-1:/app/static/app.css"

# 2. HTML
$SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/static/index.html << 'ENDOFFILE'
<содержимое из workspace>
ENDOFFILE"

$SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/static/index.html prototype-enduro-trails-1:/app/static/index.html"

# 3. app.py
$SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/app.py << 'ENDOFFILE'
<содержимое из workspace>
ENDOFFILE"

$SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/app.py prototype-enduro-trails-1:/app/app.py"

# 4. Restart
$SKILL/ssh_exec.sh --host mva154 --cmd "cd /home/slin/enduro-trails && docker compose restart prototype" --timeout 90

Диагностика Bug 4 (не выполнена)

Не удалось выполнить диагностику OSRM из-за отсутствия SSH:

curl 'http://localhost:5559/route/v1/driving/37.15,55.58;46.85,55.72?overview=false'

Фикс реализован на основе описания задачи:

  • Увеличен snap radius до 5 км
  • Добавлены детальные сообщения об ошибках

Уроки

  • Subagent контейнеры имеют ограниченное окружение (старый glibc, нет pip, нет elevated)
  • Для задач с SSH деплоем лучше использовать main agent или проверять доступность SSH заранее
  • Installer skill предполагает наличие рабочего SSH — это зависимость окружения