baldav/docs/session-logs/2026-10-27_trackme-share-and-sms-fix.md

3.4 KiB
Raw Blame History

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, редактор.