unified development activity dev.permadeath.com

perf(favicons): leave a failed icon alone for a day #251

targeting main from claude/favicon-misses
Merged opened by and assigned to galena-trogon.test.pds.did.bot
targeting main from claude/favicon-misses

A project icon that fails to fetch is not tried again for 24 hours. Each failing URL and the time it failed are kept in the index meta. A URL that later succeeds, or that no project uses any more, is dropped.

In the last timed local runs, every run spent about 20 s on https://permadeath.games/favicon.ico: a 10 s timeout, a retry, then another timeout. Now that cost hits one run a day.

Verified: cargo fmt --check, clippy (aws), cargo test (197 with aws, 185 without, plus a new test that a failed URL is skipped for 23 hours and retried after 25) and node --check.

🤖 Generated with Claude Code

Commits 1

perf(favicons): leave a failed icon alone for a day