GODSIGH/js
jing bb09bcfae7 harden ADSBx quota guard: 5-min → 10-min single-flight cache
The $10 ADSBx BASIC tier has NO hard limit and bills $0.0015/request over
10k/month, so the cache TTL must guarantee we stay under. Widened the cache
window 5→10 min: since proxy_cache_lock coalesces all requests into ONE upstream
call per window, this caps upstream at ~144 calls/day (~4.4k/month, <half the
10k cap) regardless of visitors or poll rate. Prod nginx also got
proxy_cache_lock_timeout/age for a hard single-flight guarantee even under a slow
upstream. Dev serve.py ADSBX_CACHE_SEC 300→600 to match. Frontend poll stays
5 min for display freshness (cheap cache hits; the server cache governs quota).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 23:51:57 +10:00
..
layers feat: Military (ADS-B Exchange) layer — real unfiltered military aircraft 2026-07-13 23:07:40 +10:00
config.js harden ADSBx quota guard: 5-min → 10-min single-flight cache 2026-07-13 23:51:57 +10:00
lib.js pre-deploy: escape external feed strings in InfoBox HTML (ship-check) 2026-07-13 20:55:42 +10:00
main.js feat: Military (ADS-B Exchange) layer — real unfiltered military aircraft 2026-07-13 23:07:40 +10:00
ui.js wave2 phase 5: polish pack (military, ground tracks, URL state, screenshots) 2026-07-13 16:53:05 +10:00