Appearance
Zuko Portfolio (michael-engineer.dev)
owner: Zuko
first_touched: 2026-05-17
last_touched: 2026-05-25
Favicon + Desktop Routing + Cache-Bust Deploy — 2026-05-25
source: documentation/activities/portfolio-favicon-routing-2026-05-25.md
Issue
Live address-bar logo on michael-engineer.dev showed old design.
Diagnosis chain
Stale build —
public/favicon.svgupdated 15:45, butdist/last built at 15:02 (43 minutes earlier). Vite never re-bundled.Stale deploy — last prod Cloudflare Pages deploy was
5909c0aon 2026-05-20, before the favicon edit.Browser cache — even after redeploy, browser favicon cache persists across Cmd+Shift+R.
Fixes shipped
#CommitWhat
1branding: deepen bg to #0d0f1a + round favicon corners3 SVGs (favicon, apple-touch, og-image)
2routing: desktop react-router pages + mobile scroll-snap fallbackBrowserRouter wraps App; useIsMobile hook; Nav adapts between Link/anchor; new public/_redirects for SPA fallback
3favicon: cache-bust href with ?v=2 + sync mask-icon colourAll icon hrefs in index.html get ?v=2 query suffix to force browser refresh
Deploy flow validated
deploy-portfolio.commandbuilds + deploys viawrangler pages deployWrangler stale cache bug fixed:
node_modules/.cache/wrangler/account-id cache cleared; deploy scripts nowrm -rfit on every invocation
Verification
* Cloudflare edge serves new favicon (verified with `curl /favicon.svg`)
* Deep routes (`/experience`, `/projects`, `/about`, `/contact`) all return 200 via SPA fallback
* Browser address bar shows correct logo after cache-bust deploy
◆ hinata · zuko-portfolio · folded from documentation/activities/ phase-19