From 792e53e3d65a58069dcf6125e6a9d244ea534b7e Mon Sep 17 00:00:00 2001 From: Local Dev Date: Tue, 8 Sep 2026 13:12:55 +0200 Subject: [PATCH] fix(theseus/settings): real search-engine favicons instead of emoji fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DuckDuckGo's icons.duckduckgo.com/ip3/… service was returning 404 for Brave, Bing, Yandex and a few others in the SEARCH_ENGINES catalog — so the settings row would fall through to the hardcoded emoji sym (🦁 lion, 🔍 magnifier, etc.) instead of the real brand mark. Two-part fix: 1) main.js: faviconUrl() switched from DDG's icons.duckduckgo.com to Google's www.google.com/s2/favicons?domain=…&sz=32 as the primary source. Google's service is materially more reliable — returns a real 32×32 PNG for essentially every host. 2) settings.html: the engIcon renderer now stacks a two-source fallback. If Google's PNG fails, retry with DDG's ico URL; if that also fails, THEN drop to the emoji sym. Row is never blank, and real brand favicons win over emoji whenever either service resolves. The