Fall back to the GitHub owner avatar when no local project icon resolves #8745
Closed
vitalyiegorov
started this conversation in
Ideas
Replies: 1 comment
|
feels unnecessary... there are so many ways to resolve and set your own icon that i dont see why i would want my github avatar as one?? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Pitch: if a project has no local icon but lives on GitHub, show the avatar GitHub itself uses for that repository — instead of a wall of identical letter glyphs.
The problem
Most projects are clones of GitHub repos. When they don't ship a favicon (most don't), the sidebar, tabs, and command palette all fall back to the same generic letter avatar. GitHub has no per-repo icon — the image GitHub itself displays for a repository in every list is the owner's avatar. We render nothing where an identity already exists.
Repo-specific artwork keeps coming from the project (
t3.json iconPath, the settings picker, local favicons); this fills only the "nothing found, nothing selected" gap.What exists today
ProjectFaviconResolver.resolvePathalready walks: settings path →t3.json iconPath→ well-known files →<link rel="icon">scrape. Null → letter glyph. AndRepositoryIdentityResolveralready parses and cachesgit remote -vintoowner/repo.The feature is the gap between two services that already exist.
Proposal — implemented in #8747
Append one step when everything above returns null:
owner/repo: hit → onestat, serve it. Miss → single-flight GET ofhttps://github.com/<owner>.png— the avatar the repository page itself displays, not the rate-limited API — 5s timeout, 1 MiB cap.AssetAccessserves managed cache paths through the existingproject-favicon-externalclaims, so clients never call github.com. No contract, UI, or mobile changes.Priority: settings override →
t3.json iconPath→ well-known files → link scrape → GitHub avatar → generic.Why nothing else changes
Only projects that show the generic glyph today. Override,
t3.json, well-known files, and the link scrape all win first. Local discovery is untouched.Performance — designed with #7536, not against it
One fetch per repository, ever: hits and fresh negatives answer without the permit, concurrent misses single-flight into one request. Reconnect hydration storms produce zero extra requests; steady state is zero network.
Prove-out
Related
All reactions