fix(branding): point HTML favicon link at /favicon.ico (the real Safari fix)
index.html hardcoded <link rel=icon href=/favicon-32x32.png>. When the HTML declares a favicon link, the browser uses it and NEVER requests /favicon.ico — so Safari showed the bundled default and our dynamic backend route was never hit (direct /favicon.ico was correct, but the tab wasn't). DynamicFavicon's JS swap is exactly what Safari ignores. Point the link at /favicon.ico (backend dynamic route) + add apple-touch-icon, no type/sizes so the response content-type wins. Now the configured favicon shows from first paint in every browser, Safari included.
This commit is contained in:
+9
-1
@@ -2,7 +2,15 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
||||
<!-- Point the favicon at the backend's dynamic /favicon.ico route so the
|
||||
admin-configured branding favicon is used from the very first paint,
|
||||
in every browser. CRITICAL: a hardcoded href here (e.g. the bundled
|
||||
/favicon-32x32.png) makes the browser use THAT and never request
|
||||
/favicon.ico — Safari then shows the default and ignores the JS that
|
||||
DynamicFavicon uses to swap it. No type/sizes so the byte stream
|
||||
(png/ico/svg) is honoured via the response content-type. -->
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<!--
|
||||
Static fallback title + Open Graph defaults (#521).
|
||||
|
||||
Reference in New Issue
Block a user