Repository navigation
NOMAD Field Desk v7.2.0 — Location-aware Situation Room
Near You — location-aware Situation Room
The global Situation Room can now filter threats by distance from your home.
Proximity Board
A new top-of-dashboard card shows a 4-bucket ring of active events:
- < 50 km immediate
- < 200 km regional
- < 500 km default situational awareness
- < 2000 km wide-area
Below the rings: a nearest-first list of active events with distance + compass bearing (e.g. "23 km NE"). Event types covered: seismic, severe weather, fires, disease outbreaks, volcanic activity, armed conflict, OREF sirens.
New Settings row
Home Location — latitude, longitude, radius selector, plus a Detect button that uses the browser geolocation API. Coordinates are reused by existing weather and sunrise/sunset features.
Empty / error states
- No coordinates set → board shows a prompt card with a button to open Settings (not an empty grid).
- Coordinates set, no threats within radius → green "All clear within X km" message.
- Fetch failure → "Proximity data unavailable" fallback.
Under the hood
GET /api/sitroom/proximityaggregates from the existingsitroom_eventstable — no new background fetcher needed.- Haversine + bearing helpers in
situation_room.py, unit-tested against the published NYC→LA great-circle distance. SETTINGS_WHITELISTextended withlatitude,longitude,proximity_radius_km.
Tests
843 passed (was 839) — 4 new tests for the proximity endpoint.