fix(traffic): round the default position dedup window to 6h, derive the floor from it (#11765)

The 5 h dedup window and the 6 h stationary broadcast floor were paired by
a hand-picked one-hour margin. Round the window to 6 h and derive the floor
from it: one dedup tick (6 min) above the window, which is the exact margin
a stationary node's refresh needs to clear its neighbours' tick-quantised
window regardless of tick phase. A static_assert enforces the pairing.

Role caps (tracker 1 h, lost-and-found 15 min) are unchanged. Saved configs
keep their value, as with the 11 h -> 5 h change in #11606; the new default
applies when traffic management config is first installed.

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Tom <116762865+NomDeTom@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2026-10-13 16:37:17 +00:00
1 parent d5638e64d7
commit c7df2e85bc
5 files changed
+22 -19

No files matched your search

+1 -1
View File
@@ -580,7 +580,7 @@ int32_t PositionModule::runOnce()
return RUNONCE_INTERVAL;
}
// Hold to the 6h floor when fixed_position (every role: pinning yourself forfeits the
// Hold to the stationary floor when fixed_position (every role: pinning yourself forfeits the
// exception) or when stationary. A real move still goes out early via smart-broadcast below.
// Not-fixed exceptions: lost-and-found broadcasts freely; trackers judge movement at their
// own (unclamped) precision rather than the on-wire one (useConfiguredPrecision).