From bd3d73c2e9f30a4f93163a3dd27c140bc3f3b955 Mon Sep 17 00:00:00 2001 From: efiten Date: Fri, 4 Sep 2026 17:05:01 +0200 Subject: [PATCH 1/2] fix(#1896): say that the naive-clock notice clears itself (#1962) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1896. The banner told operators their clock is naive but not that the notice goes away on its own, so people went looking for #1480 to find out. One sentence: > Clock is naive — per-packet timing clamped to ingest time. **Clears itself 24h after the last skew event.** ## Verified before writing it into the UI The issue asserts the 24h self-clear. Rather than repeat that, I checked it: - `cmd/server/observer_naive_clock.go:8` — `const observerNaiveClockWindow = 24 * time.Hour` - `applyObserverNaiveClock` applies the decay at read time and leaves `clock_naive` false once the last event is older than the window - its own comment: *"any event older than observerNaiveClockWindow is treated as absent so the chip and banner clear automatically without a background sweep"* So "24h after the last skew event" is accurate, including the fact that it needs no sweep and no restart. No test pinned the old string. Co-authored-by: Claude Opus 5 (1M context) (cherry picked from commit 83134d6e7022bb1575d04c2b6809514a614ded5c) Co-Authored-By: Claude Opus 5 --- public/observers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/observers.js b/public/observers.js index ceeb270e1..54c9a90f1 100644 --- a/public/observers.js +++ b/public/observers.js @@ -538,7 +538,7 @@ window.preserveCompareSelection = function preserveCompareSelection(prevIds, tbo var content = window.SlideOver.open({ title: (o.name || o.id) }); var naiveChipHTML = window.ObserversNaiveChip.render(o); content.innerHTML = - (naiveChipHTML ? '
' + naiveChipHTML + ' Clock is naive — per-packet timing clamped to ingest time.
' : '') + + (naiveChipHTML ? '
' + naiveChipHTML + ' Clock is naive — per-packet timing clamped to ingest time. Clears itself 24h after the last skew event.
' : '') + '
' + '
Status
' + h.label + '
' + '
Region
' + (o.iata ? '' + o.iata + '' : '—') + '
' + From c32b640c95f607f00bf2f83eed640fafc78c7ce7 Mon Sep 17 00:00:00 2001 From: efiten Date: Fri, 4 Sep 2026 17:05:01 +0200 Subject: [PATCH 2/2] fix(#1896): say that the naive-clock notice clears itself (#1962) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1896. The banner told operators their clock is naive but not that the notice goes away on its own, so people went looking for #1480 to find out. One sentence: > Clock is naive — per-packet timing clamped to ingest time. **Clears itself 24h after the last skew event.** ## Verified before writing it into the UI The issue asserts the 24h self-clear. Rather than repeat that, I checked it: - `cmd/server/observer_naive_clock.go:8` — `const observerNaiveClockWindow = 24 * time.Hour` - `applyObserverNaiveClock` applies the decay at read time and leaves `clock_naive` false once the last event is older than the window - its own comment: *"any event older than observerNaiveClockWindow is treated as absent so the chip and banner clear automatically without a background sweep"* So "24h after the last skew event" is accurate, including the fact that it needs no sweep and no restart. No test pinned the old string. Co-authored-by: Claude Opus 5 (1M context) (cherry picked from commit 83134d6e7022bb1575d04c2b6809514a614ded5c) Co-Authored-By: Claude Opus 5 --- public/observers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/observers.js b/public/observers.js index ceeb270e1..54c9a90f1 100644 --- a/public/observers.js +++ b/public/observers.js @@ -538,7 +538,7 @@ window.preserveCompareSelection = function preserveCompareSelection(prevIds, tbo var content = window.SlideOver.open({ title: (o.name || o.id) }); var naiveChipHTML = window.ObserversNaiveChip.render(o); content.innerHTML = - (naiveChipHTML ? '
' + naiveChipHTML + ' Clock is naive — per-packet timing clamped to ingest time.
' : '') + + (naiveChipHTML ? '
' + naiveChipHTML + ' Clock is naive — per-packet timing clamped to ingest time. Clears itself 24h after the last skew event.
' : '') + '
' + '
Status
' + h.label + '
' + '
Region
' + (o.iata ? '' + o.iata + '' : '—') + '
' +