mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-08-03 07:26:22 +08:00
The decision to tune was tested; the three seconds between announcing it and doing it were not, and that gap is where the feature can go wrong — it is the only window in which the radio moves on its own. Moves the scheduling into a testable unit and wires the composable to it, so the tested code is the code that runs. Covered: nothing is announced when no change is due, the change is announced immediately but made only after the delay, and it is dropped when the pilot tuned the radio themselves, when the session ended, and when a second handoff superseded it — the last of which would otherwise have tuned to a stale frequency. Leaving the flight or unmounting now cancels a pending change explicitly rather than relying on the fire-time guards to notice.