Repository navigation
fix(server): cache project favicon resolution - #16
Conversation
resolvePath walks up to 12 well-known favicon paths and then reads 7 source files looking for icon metadata, so a miss costs roughly 20 filesystem probes. AssetAccess calls it on every project-favicon asset URL and nothing cached the answer, even though a project's icon does not move. Traced over 100 minutes on one install: 451 resolvePath calls issued 9,106 findExistingFile probes and spent 313s of the 422s that issueAssetUrl consumed in total. The slowest asset URL took 67.8s. Cache the resolved path per workspace root and saved favicon path, 10 minutes for a hit and 1 minute for a miss. A hit still confirms the file with a single stat rather than the full walk, so deleting an icon falls back immediately instead of serving a stale path until the entry expires. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KX8tw6Sqs3h2oYKmi18Ptr
|
@codex review Please review the latest commits for cache invalidation, TTL behavior, filesystem safety, and missing validation. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What changed\n- Cache project favicon discovery with bounded positive and negative TTLs.\n- Re-check cached hits so deleted icons fall back immediately.\n- Keep the existing candidate precedence and add platform-neutral regression coverage.\n\nReviewed against upstream PR #9080: https://github.com/pingdotgg/t3code/pull/9080\n\nValidation: ProjectFaviconResolver tests pass (15 tests) on Windows.