3.4 KiB
2026-10-27 - trackme: отдача маршрута/дорог/трека зрителю + фикс СМС-разрешения
Продолжение трекинга (см. project_trackme_live_location). Всё собрано, задеплоено, запушено.
Отдача контекста заезда зрителю ("Отд")
Зритель должен видеть то же, что ридер: активный маршрут, проезженные дороги, пройденный трек (плюс живая точка+хвост, которые уже были). Требование пользователя: эти данные НЕ должны лежать на сервере файлом.
Решение - RAM-релей:
- botovod
POST/GET /api/trackme/share: телефон по кнопке шлёт{route, roads, track}с токеном, сервер держит ТОЛЬКО в RAM (TRACKME_SHARE, на диск не пишет, капы 20к/200к/50к точек), зритель (сессия+allow-list) забирает и кладёт в СВОЙ localStorage (переживает рестарт сервера).{clear:true}сбрасывает. Проверено на 4aiman.top: POST с токеном ok, GET без входа 401. - baldav: кнопка «Отд» слева внизу на записи ->
shareRideContext()собирает маршрут (активный), дороги (DB.getRoadPoints+buildRoadSegments) и трек (GPS.recording.points), POST на /share черезhttp_request. - trackme.html:
loadShare()рисует дороги (цвет по типу), маршрут (красный), трек (сиреневый) на пане ниже живого маркера; сохраняет в localStorage зрителя; обновление раз в 60с.
Упрощения (объявлены): трек - СНИМОК на нажатие «Отд» (не авто-растёт у зрителя; точка+хвост живые); дороги шлются ВСЕ целиком (может быть тяжело на мобильном); маршрут без раскраски уклона; ярлык «Отд» - сокращение.
Фикс: СМС без разрешения
Я ошибочно добавил SmsManager + SEND_SMS с запросом разрешения, хотя задумка была через
системный composer (ACTION_SENDTO, без разрешения). Убрал прямую отправку и разрешение, оставил
только composer. Проверено: в dumpsys package SEND_SMS нет. Правило усилено в WT4 (wt4-034).
Статус
- baldav build 0.1.534 на телефоне, запушен в origin (12 коммитов, 4a77132..8a236ba).
- botovod задеплоен на VPS + рестарт (git-remote нет, деплой копированием; бэкапы app.js.bak-*).
- Также в этой пачке: раскраска уклон/спуск, окно уклона, объезд ↪ гейт, поправка высот, brouter избегание бродов (costfactor) + показ (ford-тег + wetcross по river_class) + adventure.
- НЕ проверено в бою (ждёт реального заезда): «Отд»/отрисовка у зрителя, П.1/П.2/П.4/П.5, редактор.