Session log: trackme share (route/roads/track via RAM relay) + SMS permission fix

This commit is contained in:
4aiman 2026-10-27 00:55:45 +03:00
commit 65a21543d2

View file

@ -0,0 +1,35 @@
# 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, редактор.