harb/services/ponder/src
openhands 694a68ad27 fix: Issue #447 remains unresolved: no caching path exists for POST GraphQL requests (#478)
Address AI review findings:

- Bug: restore 30 s periodic eviction via setInterval so queries that
  are never repeated don't accumulate forever (add setInterval/
  clearInterval to ESLint globals to allow it)
- Bug: fix .finally() race – use identity check before deleting the
  in-flight key so a waiting request's replacement promise is never
  evicted by the original promise's cleanup handler
- Warning: replace `new URL(c.req.url).search` with a string-split
  approach that cannot throw on relative URLs
- Warning: add MAX_CACHE_ENTRIES (500) cap with LRU-oldest eviction to
  bound memory growth from callers with many unique variable sets
- Warning: prefix cache key with c.req.path so /graphql and / can
  never produce cross-route cache collisions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 19:49:13 +00:00
..
api fix: Issue #447 remains unresolved: no caching path exists for POST GraphQL requests (#478) 2026-03-06 19:49:13 +00:00
helpers fix: Ponder: fix mintNextHourProjected divisor, dead param, dead code (#308) 2026-02-27 05:47:51 +00:00
index.ts feat/ponder-lm-indexing (#142) 2026-02-18 00:19:05 +01:00
kraiken.ts fix: LiveStats: remove floor price from landing, fix ETH reserve data pipeline, strip browser RPC (#196) 2026-02-23 21:57:13 +00:00
lm.ts fix: Ponder: fix mintNextHourProjected divisor, dead param, dead code (#308) 2026-02-27 05:47:51 +00:00
stake.ts fix: LiveStats: remove floor price from landing, fix ETH reserve data pipeline, strip browser RPC (#196) 2026-02-23 21:57:13 +00:00