mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-22 05:26:21 +00:00
- Cache entries track loadedAt timestamp and in-flight update promise - Fresh (<60s): return immediately - Stale (60s+): return stale data, refresh in background - Expired (no entry): wait for fresh data, coalesce concurrent requests - Failed refresh keeps old data and resets freshness timer - Empty cache returns proper metadata arrays (oses, arches, etc.) - Stampede protection via updating promise coalescing - Corrupted cache files treated as empty Add 22 tests covering all freshness scenarios and edge cases.