The logo, favicons and app icons are served from public/img under fixed names with a browser cache of hours, and the service worker fetches them through that cache. After the mark changed on 2026-09-27, returning visitors kept the old cat until their copies expired, and the favicon and an installed app's icon hold on longer still. Every URL that names one now carries ?v=BRAND_V (src/lib/brand.ts, brandImage()): the header, sign-in, About, the mail empty state, the notification icons, index.html's favicon links, the manifest's icons and the service worker's shell and notification icons. Date-stamped, never a counter, for the sites' ASSET_V reason; the three static files carry the value written out, and the comment says to keep them in step.
33 lines
1.5 KiB
HTML
33 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
<meta name="color-scheme" content="light dark" />
|
|
<!--
|
|
One tag, no media query: applyTheme() keeps it in step with the chosen
|
|
theme, which a media query cannot do — it only knows what the OS prefers,
|
|
not what the user picked here. There used to be two, both with media
|
|
attributes, which meant the selector in applyTheme (:not([media])) matched
|
|
neither and the color never moved off whatever the OS implied.
|
|
|
|
The initial value is the default theme's background, so the browser chrome
|
|
is right from the first paint rather than only once JS has run.
|
|
-->
|
|
<meta name="theme-color" content="#0d2430" />
|
|
<meta name="description" content="ihasmail - fast, friendly JMAP webmail for Stalwart" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<link rel="icon" href="/favicon.ico?v=2026-09-27a" sizes="any" />
|
|
<link rel="icon" type="image/png" sizes="64x64" href="/img/favicon-64.png?v=2026-09-27a" />
|
|
<link rel="apple-touch-icon" href="/img/apple-touch-icon.png?v=2026-09-27a" />
|
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
<title>inbuxa</title>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|