Commit Graph

1 Commits

Author SHA1 Message Date
Nabeel Shahzad
cbb1d85cef
feat(livemap): serve the live map from a pirep_positions table
The map resolved the newest acars breadcrumb per flight on every poll, over a
table that grows for the life of the install and was never pruned. One row per
flight replaces that, and its presence is what puts a flight on the map — no
state filter, no time arithmetic on the read path.

Prefile opens the row at the departure gate, the ACARS batch endpoint maintains
it, and a five-minute cron owns eviction. acars.live_time did two unrelated jobs
and is split into pireps.tombstone_time plus two live map timers.

Also closes the child-record gap PirepService::delete() has claimed to handle
since it was written: acars rows are now deleted, with a cascading foreign key
behind it. Adding that constraint permanently purges pre-existing orphans.
2026-07-27 03:14:23 -05:00