fix(gps): бейдж «Нет GPS» = нет валидной GPS-точки дольше N часов (настройка), убран pin от stale-пересылок

This commit is contained in:
2026-08-31 17:36:40 +03:00
parent 0ad9bb8715
commit 08d1fa1af3

View File

@@ -543,9 +543,8 @@ export async function processPosition(
const verdict = walker.check({ lat: input.lat, lng: input.lng, recordedAt, speed: input.speed }); const verdict = walker.check({ lat: input.lat, lng: input.lng, recordedAt, speed: input.speed });
if (verdict !== "accept") { if (verdict !== "accept") {
if (verdict === "stale") { if (verdict === "stale") {
// Stale re-send = трекер сам сообщает, когда в последний раз видел спутники // Stale-копии просто пропускаем. lastGpsFixAt здесь НЕ трогаем:
// (замороженный fixTime). Фиксируем как «время последнего GPS-фикса». // бейдж «Нет GPS» = «нет точки с валидным GPS дольше N часов» (настройка)
await gpsStorage.updateAssetGpsFix(assetId, recordedAt);
console.log( console.log(
`[GPS] skipped stale: asset=${assetId} recordedAt=${recordedAt.toISOString()} <= lastRecordedAt=${prev?.recordedAt.toISOString()}` `[GPS] skipped stale: asset=${assetId} recordedAt=${recordedAt.toISOString()} <= lastRecordedAt=${prev?.recordedAt.toISOString()}`
); );
@@ -566,7 +565,8 @@ export async function processPosition(
return; return;
} }
// Точка прошла фильтры — GPS-фикс жив, двигаем время последнего фикса вперёд // Точка прошла фильтры и не помечена протоколом как LBS — это валидный GPS:
// двигаем «время последнего GPS-фикса» вперёд (им питается бейдж «Нет GPS»)
await gpsStorage.updateAssetGpsFix(assetId, recordedAt, true); await gpsStorage.updateAssetGpsFix(assetId, recordedAt, true);
// Режим «потерян GPS»: если последний stale re-send был свежее 10 минут, // Режим «потерян GPS»: если последний stale re-send был свежее 10 минут,