Files
worldmonitor/api
Elie Habib 20af4e55b0 fix: eliminate frontend external API calls, enforce gold standard pattern (#1217)
* fix: eliminate frontend external API calls, enforce gold standard pattern

- Polymarket: remove browser fan-out (536→105 lines), bootstrap → RPC only
- USASpending: remove direct API calls, read from bootstrap hydration
- NWS Weather: remove direct API calls, read from bootstrap hydration
- Nominatim: proxy through api/reverse-geocode.js with Redis cache + SSRF clamping
- Add seed scripts for weather alerts (15min) and spending (60min)
- Wire both seed loops into ais-relay.cjs
- Register weatherAlerts + spending in bootstrap.js and health.js
- Add 4 missing standalone keys to health.js (cyberThreatsRpc, militaryBases, temporalAnomalies, displacement)

* fix: resolve reload regressions and null-cache poisoning from #1217

- Weather/Spending: fall back to `/api/bootstrap?keys=` on scheduled
  reloads after the one-shot `getHydratedData()` is consumed
- Prediction: add client-side bootstrap filter for country markets
  when RPC fails (server skips bootstrap for query-based requests)
- Reverse-geocode: restore abort/timeout guard so transient network
  errors don't permanently poison the in-memory cache
2026-03-07 22:37:36 +04:00
..