feat: add ISR cache with stale-while-revalidate pattern

Implements in-memory caching for SSR pages using moka with:
- Configurable fresh/stale TTLs (60s/300s defaults)
- Background refresh for stale entries
- Cache invalidation on project/tag mutations
- Pre-cached icon collections on startup
- Skips cache for authenticated requests
This commit is contained in:
2026-01-12 03:41:06 -06:00
parent 462b510e14
commit 9d231e6fdc
15 changed files with 874 additions and 237 deletions
+1
View File
@@ -16,6 +16,7 @@ dotenvy = "0.15"
futures = "0.3.31"
include_dir = "0.7.4"
mime_guess = "2.0.5"
moka = { version = "0.12.12", features = ["future"] }
nu-ansi-term = "0.50.3"
rand = "0.9.2"
reqwest = { version = "0.13.1", default-features = false, features = ["rustls", "charset", "json", "stream"] }