Browsers showed the default/Authentik favicon because index.html had no icon links. Generates favicon.ico + PNG sizes from the v1 logo (design/logos, read-only) into web/public, links them in index.html, precaches them in the service worker, and adds a Vitest check for the links. Matches the existing PWA icon generation pattern.
Maestro task 7c778111-c615-4437-a3f6-0e36bcb97e63.
Browsers showed the default/Authentik favicon because index.html had no icon links. Generates favicon.ico + PNG sizes from the v1 logo (design/logos, read-only) into web/public, links them in index.html, precaches them in the service worker, and adds a Vitest check for the links. Matches the existing PWA icon generation pattern.
index.html linked only the apple-touch-icon, so browsers fell back to a
default favicon. generate-icons now also writes favicon.ico (16/32/48
PNG-in-ICO) and 16/32 px PNG favicons from the v1 logo; index.html links
them, and the service worker precaches every icon and favicon so the
offline shell keeps them (the glob covers the manifest icons, so the
plugin no longer injects them a second time).
pwa.test.ts asserts the build ships the favicons at the right sizes,
links them from index.html, and precaches each icon exactly once.
Task: 7c778111-c615-4437-a3f6-0e36bcb97e63
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task 7c778111-c615-4437-a3f6-0e36bcb97e63.
Browsers showed the default/Authentik favicon because index.html had no icon links. Generates favicon.ico + PNG sizes from the v1 logo (design/logos, read-only) into web/public, links them in index.html, precaches them in the service worker, and adds a Vitest check for the links. Matches the existing PWA icon generation pattern.
Independent Codex gpt-6-sol review: APPROVED for this exact commit.