Files
worldmonitor/api
Elie Habib 0102428bb0 fix: reduce upstream API pressure with cache TTL optimization (#430)
* fix(sentry): tighten noise filters for deck.gl/maplibre and WebView errors

- Widen beforeSend regex to catch `null is not an object (evaluating 'u.id')`
  pattern from deck.gl internals during variant switch (WORLDMONITOR-4A, 270 events)
- Remove `in_app` requirement from TypeError suppression — Sentry SDK marks
  deck.gl/maplibre frames inconsistently, causing the filter to miss
- Fix Firefox lexical declaration wording: `can't access` vs Chrome's `Cannot access`
- Add noise filters: isReCreate (Android WebView injection), HTMLImageElement
  style access, WebGL context loss write access

* fix: reduce upstream API pressure with cache TTL optimization

- Military/posture: 5min → 15min (flight cache, theater posture, panel refresh, intelligence refresh)
- Theater posture: fetch 2 targeted bbox regions instead of global states/all (~95% less data)
- Wingbits batch: reduce from 20 to 10, sequential with 100ms delay instead of Promise.all burst
- Preserve intelligenceCache.military across intelligence refresh cycles
- OpenSky edge proxy: add CDN caching (s-maxage=120), align timeout to 20s
- list-military-flights: Redis cache 2min → 10min
- Market handlers: stablecoins/crypto/commodities/sectors 3min → 5min
- Cable health: 3min → 10min
- YouTube embed: s-maxage 60s → 15min
2026-02-26 21:24:32 +04:00
..