Add an SVG favicon (no more /favicon.ico 404)

Link a small inline SVG (site/favicon.svg, a red tile with a white "V") from
both index.html and board.html via a root-absolute href, so it resolves from
"/" and from "/board/" under Vercel cleanUrls. With an icon link present,
browsers stop auto-requesting (and 404ing on) /favicon.ico. No binary asset and
no external dependency, consistent with the self-contained client.

e2e asserts both pages declare the favicon and that /favicon.svg is served as
valid SVG. Closes the last code-finishable item in the roadmap's smaller list.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
thePR0M3TH3ANandClaude Opus 4.8 committed 2026-06-10 19:19:06 -04:00
1 parent 2f423ceed5
commit 23badb03ae
6 files changed
+22 -1

No files matched your search

+1
View File
@@ -28,6 +28,7 @@ site/
locales.js
board.html (bulletin board page)
board.js
favicon.svg (inline SVG site icon)
CNAME
vendor/
nostr-tools/
+2 -1
View File
@@ -240,7 +240,8 @@ should follow the board's trust model.
varies with font availability and zoom; the
[cheat sheet](flyer-field-limits.md) is explicitly approximate. Fine as-is;
noted so it is not mistaken for a contract.
- **No favicon** — browsers log a harmless `404 /favicon.ico`. Cosmetic.
- **Favicon — ✅ done.** A small inline SVG (`site/favicon.svg`) is linked from
both pages, so browsers no longer request (and 404 on) `/favicon.ico`.
- **WebKit/Safari coverage in CI** needs `libavif16` on Linux runners
(`sudo npx playwright install-deps`); headless WebKit is also not a perfect
stand-in for real Safari/iOS print + clipboard behavior, so a real-device