Documentation Index
Fetch the complete documentation index at: https://mintlify.com/asispts/neo-git-graph/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Neo Git Graph can display avatars for commit authors and committers by fetching images from GitHub, GitLab, or Gravatar based on the repository’s remote origin and user email addresses.Enabling Avatar Fetching
Configuration
Enable avatar support in VS Code settings:- Settings UI
- settings.json
- Open Settings (Cmd/Ctrl + ,)
- Search for “neo-git-graph.fetchAvatars”
- Check the box to enable
Clearing Avatar Cache
To clear cached avatars:- Open Command Palette (Cmd/Ctrl + Shift + P)
- Run:
(neo) Git Graph: Clear Avatar Cache - All cached avatars are deleted
- Avatars will be re-fetched on next view
Avatar Sources
The extension automatically determines the avatar source based on your repository’s remote URL:GitHub
GitHub
Detection: Remote URL starts with
https://github.com/Method: Fetches avatars via GitHub API using commit dataRate Limit: 60 requests/hour (unauthenticated)GitLab
GitLab
Detection: Remote URL starts with
https://gitlab.com/Method: Searches users by email via GitLab APIRate Limit: Respects GitLab rate limiting headersGravatar
Gravatar
Detection: Fallback for all other remotes or when GitHub/GitLab failMethod: MD5 hash of email addressFallback: Identicon generation if no avatar found
Avatar Fetching Process
Request Queue
Avatars are fetched asynchronously using a priority queue:Retry Logic
The extension implements smart retry logic:GitHub Rate Limit
GitHub Rate Limit
Commit Not Found (422)
Commit Not Found (422)
Server Error (5xx)
Server Error (5xx)
Network Error
Network Error
Avatar Caching
Cache Duration
Avatars are cached with different expiration times:Standard Avatars
Cached for 14 days before refresh
Identicons (Fallback)
Cached for 4 days - shorter to retry finding real avatars
Storage Location
Avatars are stored in VS Code’s extension storage:{MD5_hash_of_email}.{format} (e.g., abc123def456.png)
Cache Management
- In-Memory Cache
- Persistent Storage
Display Format
Avatars are sent to the webview as base64-encoded data URIs:data:image/{png|jpeg|gif};base64,{base64_data}
Privacy Considerations
Best Practices
Private Repositories
Private Repositories
Consider disabling avatar fetching for repositories with sensitive commit information
Corporate Networks
Corporate Networks
Avatar fetching requires internet access and may be blocked by firewalls
Rate Limits
Rate Limits
GitHub API has strict rate limits for unauthenticated requests. Heavy use may cause delays.
Troubleshooting
Avatars Not Appearing
Identicons Only
If you only see identicons (geometric patterns):- Email address may not be registered with Gravatar
- GitHub/GitLab API couldn’t find the user
- Commit may not exist on remote (for GitHub)
Performance Impact
Avatar fetching is highly optimized:
- Asynchronous background processing
- Queue-based rate limiting
- Persistent caching reduces network requests
- No impact on graph rendering speed
Network Usage
- Initial fetch: ~10-50 KB per avatar
- Refresh: Only after cache expiration (4-14 days)
- Queue interval: 10 seconds between requests
Related Commands
Clear Avatar Cache
Command:
neo-git-graph.clearAvatarCacheRemoves all cached avatar images and metadata, forcing fresh downloads on next view