diff --git a/CHANGELOG.md b/CHANGELOG.md index 718fb1b..041911f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ ## Changelog +### v0.167.0 — Outlined logo + favicon (Part 4, the v0.166.0 gated follow-up) (2026-07-24) + +No agent coupling; MinAgent unchanged. Embedded-asset constants + one test only — no backend, no +routes, no template/CSS behavior change. + +Completes Part 4 that v0.166.0 deferred at the §3a gate. Viktor pushed the text-outlined +`website/assets/logo.svg` to felhom.eu `main` (`be9edb4`): the wordmark is now **17 real `` +glyphs** (Inkscape Object→Path) instead of live `` with `font-family:'Vremena Grotesk'`/`'M+ 2c'`. +Under `` secure static mode only locally-installed fonts resolve, so the old constants rendered +the wordmark in a fallback font on every device without those fonts — now fixed. + +- **`FelhomLogoSVG`** body replaced with the outlined master. Inkscape left behind **2 empty `` + shells + font-* style leftovers on the paths** (inert, but they carried the font names); these were + stripped via a DOM pass (lxml) — **glyphs untouched, no text-to-path conversion done by CC**. Also + dropped the editor-only ``. `viewBox` **unchanged** (`0 0 645.30703 408.36403`); + full palette preserved (white glyphs `#ffffff`, blue `.eu` `#008ddf`, navy `#051343`, all 14 + gradients, the cloud/house/server/lock artwork). +- **`FelhomFaviconSVG`** vestigial empty `` nodes + their `font-family` removed (cloud icon only; + `viewBox` unchanged `0 0 437.307 296.36403`, 11 paths). +- Both constants now contain **zero ` > Ask Claude Code: "Please update CONTEXT.md with what we did today" -Last updated: 2026-07-24 (v0.166.0 — mobile nav drawer + sidebar cleanup + versioned logo/favicon URLs) +Last updated: 2026-07-24 (v0.167.0 — outlined logo + favicon, the v0.166.0 Part-4 follow-up) + +> **2026-07-24 — v0.167.0 (outlined logo + favicon — Part 4 unblocked).** Viktor pushed the +> text-outlined `logo.svg` to felhom.eu `main` (`be9edb4`); the wordmark is now 17 real `` +> glyphs. `FelhomLogoSVG` swapped to it; Inkscape's leftover **empty `` shells + font-* leftovers +> on the paths** were stripped via an lxml DOM pass (glyphs untouched — CC did NOT do text-to-path), +> editor `` dropped. `FelhomFaviconSVG` vestigial `` removed. Both constants: +> **0 ` Inkscape "Object→Path" leaves empty `` shells AND copies `style="…font-family:…"` onto the +> resulting ``s — a search for `svg:text` misses them (elements are ``, no prefix); grep +> ` first** (`assetsSyncer.Resolve`) and fall back to the constant only if none is on disk — on 9201 the +> constant is what's live (verified). Still open (separate follow-up): website + hub serve their own +> non-outlined logo copies; login.html stylesheet link still unversioned. + > **2026-07-24 — v0.166.0 (mobile nav = off-canvas drawer; sidebar cleanup; ?v= on logo/favicon).** > Mobile nav was broken: the ≤768px block predated the v0.146.0 accordion and flattened `.nav-links` diff --git a/controller/internal/web/mobile_nav_test.go b/controller/internal/web/mobile_nav_test.go index 88f9dbe..57232fd 100644 --- a/controller/internal/web/mobile_nav_test.go +++ b/controller/internal/web/mobile_nav_test.go @@ -163,9 +163,25 @@ func TestLogin_CustomerNameKept(t *testing.T) { } } -// Group E — versioned asset URLs (Scenario E). The logo-constant no-live-text test ships WITH -// Part 4 (the outlined-asset swap), which is gated on Viktor pushing the outlined master; it is -// intentionally not part of this suite while the constants still carry live . +// Group E — logo constants carry NO live text (Scenario E). Under `` secure static mode only +// locally-installed fonts resolve, so a `font-family` in the SVG renders a fallback font everywhere; +// the wordmark must be outlined paths. Shipped in v0.167.0 once the outlined master landed on +// felhom.eu main and the vestigial empty text nodes were stripped. +// +// Red-proof (recorded 2026-07-24): run against the pre-v0.167.0 constants → FAILS, both constants +// contained ` secure static mode", name) + } + } +} + +// Group E — versioned asset URLs (Scenario E). // // Red-proof: run against the pre-edit layout.html → both assertions FAIL (the /static/ URLs lack // the ?v= cache-bust). Cloudflare edge-caches /static/* for 4h, so an unversioned logo/favicon keeps diff --git a/controller/internal/web/templates.go b/controller/internal/web/templates.go index e67a3d1..faf6bb2 100644 --- a/controller/internal/web/templates.go +++ b/controller/internal/web/templates.go @@ -1,379 +1,12 @@ package web // FelhomLogoSVG is the felhom.eu logo, served at /static/felhom-logo.svg. -// Updated from website/assets/logo.svg (white text variant). +// Text outlined (Inkscape Object→Path) — no font dependency, renders identically in +// secure static mode. Source: website/assets/logo.svg @ felhom.eu main (be9edb4). const FelhomLogoSVG = ` -felhomeu -` +` // FelhomFaviconSVG is the felhom.eu favicon (cloud icon only), served at /static/favicon.svg. +// Vestigial empty text nodes removed (v0.167.0) — no live text elements, cloud paths only. const FelhomFaviconSVG = ` - -` +`