feat: Add favicon provider setting (Google vs DuckDuckGo)#10
Merged
Conversation
added 3 commits
December 8, 2025 12:25
- Add FaviconProvider enum with Google and DuckDuckGo options - Add Appearance section in Settings with provider picker - Use AppStorage for persistent provider selection - Update favicon URL generation to use selected provider - Default: Google (more reliable) - DuckDuckGo option for privacy-conscious users Closes #3
- Add Logger for Favicons category - Log which provider (Google/DuckDuckGo) loads each favicon - Use public privacy level for debugging visibility - Add helper script for viewing logs in real-time Example log output: Loading favicon for 'github.com' using Google provider: https://www.google.com/s2/favicons?domain=github.com&sz=32
- Add log stream command for verifying favicon provider - Explain how to check which provider (Google/DuckDuckGo) is used - Include example output - Document how to change provider in Settings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
⚙️ Favicon Provider Settings
Closes #3
✨ What's New
Adds a Favicon Provider setting that allows users to choose between Google and DuckDuckGo favicon services.
🎯 Motivation
Privacy Considerations:
📦 Implementation
1. FaviconProvider Enum
2. Settings Integration
@AppStorage3. Dynamic Favicon Loading
FavoriteRowViewreads provider from AppStorage🖼️ Settings UI
New Appearance Section:
🔧 API Endpoints
Google:
https://www.google.com/s2/favicons?domain={domain}&sz=32DuckDuckGo:
https://icons.duckduckgo.com/ip3/{domain}.ico✅ Testing
Tested Scenarios:
📝 Changes
New Files:
FaviconProvider.swift- Provider enum with URL generation logicModified Files:
SettingsView.swift- Added Appearance section with provider pickerContentView.swift- Use selected provider for favicon URLs🎨 UI Improvements
🔐 Privacy Benefits
Users can now choose DuckDuckGo if they prefer:
Ready for review! 🚀