fix(gps): бейдж «Нет GPS» = нет валидной GPS-точки дольше N часов (настройка), убран pin от stale-пересылок
This commit is contained in:
@@ -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 минут,
|
||||||
|
|||||||
Reference in New Issue
Block a user