Leo Pechnicki
fde8b2a64f
fix(gnss): age degraded evidence and replayed snapshots on their own clocks
...
Maintainer review on #855 (mazy1998, 2026-10-06):
- records: presence (seenAt) and degraded evidence (degradedAt) age
separately, so continuing healthy reports no longer keep an older
degraded flag alive past 30 minutes; an aircraft returning after the
window starts fresh. pruneGnssObservations ages the store with no new
rows.
- Rows are dated by the snapshot's fetchedAt, which the proxy keeps on
cached and stale answers: a replay never restarts the window, the
proxy stops serving a stale snapshot older than the window, the source
refuses an undated one, and cells expire during fetch failures and
while there is no view anchor.
- Normalization accepts ADS-B versions 1 and 2 only; a missing, invalid
or negative seen_pos is not a confirmed position from the last minute.
- qa-gnss: keyboard, 390x844 viewport (fresh page: isMobile reloads) and
replay-age sections; the live cell assertion bins the returned rows
with the layer's own rules instead of a raw row count.
2026-10-13 17:20:43 +02:00
..
2026-09-28 19:07:57 -05:00
2026-10-13 17:20:43 +02:00
2026-10-13 17:20:43 +02:00
2026-09-15 20:15:32 -07:00
2026-10-13 17:20:43 +02:00
2026-10-04 10:49:06 -07:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-09-23 16:00:53 -05:00
2026-10-05 04:37:28 +05:30
2026-10-06 23:04:33 +01:00
2026-10-13 17:20:03 +02:00
2026-10-09 17:42:00 -07:00
2026-09-12 21:55:18 -07:00
2026-10-08 02:59:51 +01:00
2026-10-13 17:19:23 +02:00
2026-10-12 18:40:02 +01:00
2026-10-13 17:19:23 +02:00
2026-10-02 18:29:42 -07:00
2026-10-13 17:20:43 +02:00
2026-09-12 21:55:18 -07:00
2026-09-24 01:52:41 -05:00
2026-09-11 17:02:54 -07:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-09-15 11:17:10 -07:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-14 15:29:10 -07:00
2026-09-15 07:26:32 -07:00
2026-09-14 15:29:10 -07:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-14 19:08:00 -05:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-10-01 17:00:10 +05:30
2026-09-13 02:37:44 -07:00
2026-08-31 17:49:45 -05:00
2026-09-13 02:33:38 -07:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-10-01 17:00:10 +05:30
2026-10-01 17:00:10 +05:30
2026-10-08 11:02:12 -07:00
2026-09-15 07:26:32 -07:00
2026-09-14 15:29:10 -07:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-14 15:29:10 -07:00
2026-09-14 15:29:10 -07:00
2026-10-02 20:17:21 -07:00
2026-09-28 19:07:57 -05:00
2026-09-15 07:26:32 -07:00
2026-09-10 23:48:12 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-09-14 18:55:24 -05:00
2026-09-01 11:17:42 -05:00
2026-10-02 15:21:37 -07:00
2026-10-07 13:14:31 -07:00
2026-09-12 16:37:04 -07:00
2026-09-11 15:08:23 -07:00
2026-09-11 15:08:23 -07:00
2026-09-23 20:31:56 -07:00
2026-09-13 22:41:11 -07:00
2026-09-15 07:26:32 -07:00
2026-09-23 20:31:56 -07:00
2026-09-23 20:31:56 -07:00
2026-08-24 17:02:16 -05:00
2026-08-24 17:02:16 -05:00
2026-09-22 17:45:39 -05:00
2026-09-22 17:45:39 -05:00
2026-09-13 04:26:09 -07:00
2026-09-13 21:23:13 -07:00
2026-09-14 14:49:04 -07:00
2026-10-06 20:36:56 +05:00
2026-10-04 17:24:30 +05:00
2026-10-13 15:10:58 +01:00
2026-10-13 15:10:58 +01:00
2026-09-21 17:28:23 +02:00
2026-09-13 17:21:42 -07:00
2026-09-14 15:29:10 -07:00
2026-10-02 20:02:48 -07:00
2026-10-02 19:56:42 -07:00
2026-09-14 15:29:10 -07:00
2026-10-05 19:27:36 -07:00
2026-10-05 19:27:36 -07:00
2026-09-12 22:55:18 -07:00
2026-08-24 17:02:16 -05:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-11 18:08:01 -07:00
2026-09-14 15:29:10 -07:00
2026-09-12 22:25:05 -07:00
2026-09-14 15:29:10 -07:00
2026-09-13 18:59:29 -07:00
2026-09-13 18:59:29 -07:00
2026-09-13 18:59:29 -07:00
2026-10-04 10:49:06 -07:00
2026-09-14 19:21:38 -05:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-28 19:07:57 -05:00
2026-09-14 21:22:08 -05:00
2026-09-14 21:22:08 -05:00
2026-09-15 07:26:32 -07:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-09-14 15:29:10 -07:00
2026-09-12 19:55:02 -07:00
2026-09-23 20:31:56 -07:00
2026-09-11 15:08:23 -07:00
2026-09-11 15:08:23 -07:00
2026-08-31 17:49:45 -05:00
2026-09-14 19:34:23 -05:00
2026-09-15 07:41:56 -07:00
2026-08-24 17:02:16 -05:00
2026-08-24 17:02:16 -05:00
2026-09-28 21:19:23 -05:00
2026-10-02 15:21:37 -07:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-15 07:26:32 -07:00
2026-09-23 15:21:21 +01:00
2026-09-14 20:09:41 -05:00
2026-09-15 07:26:32 -07:00
2026-08-31 17:49:45 -05:00
2026-10-08 11:02:52 -07:00
2026-10-06 21:59:12 +01:00
2026-10-05 18:35:30 +01:00
2026-09-13 04:26:11 -07:00
2026-08-24 17:02:16 -05:00
2026-10-13 13:36:01 +01:00
2026-09-14 18:55:24 -05:00
2026-09-14 14:49:04 -07:00
2026-08-24 17:02:16 -05:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00
2026-09-15 07:26:32 -07:00
2026-08-24 17:02:16 -05:00