Add real site favicon assets #774

Open
opened 2026-06-28 11:51:19 -05:00 by Codex · 0 comments
Member

The application head already links to favicon assets, but the repo only has an empty public/favicon.ico placeholder and is missing the referenced SVG and Apple touch icon files.

Browsers, bookmarks, pinned tabs, and mobile home-screen shortcuts should show a recognizable MyVideoGameList icon instead of a missing or blank favicon. The implementation should supply production-ready assets that match the existing brand and keep the current shared head partial as the single place where favicon links are declared.

Scope

  • Replace the zero-byte public/favicon.ico placeholder with a valid multi-size ICO favicon.
  • Add the referenced public/favicon.svg asset for modern browser favicon support.
  • Add the referenced public/apple-touch-icon.png asset for iOS and home-screen shortcuts.
  • Keep favicon declarations centralized in resources/views/partials/head.blade.php unless a small markup adjustment is needed for standards compliance.
  • Ensure generated assets are committed in appropriate public asset paths and are not only present in a local build output directory.
  • Use brand-appropriate artwork that remains legible at small sizes and works on light and dark browser chrome.

Acceptance Criteria

  • /favicon.ico returns a non-empty valid ICO file from the public web root.
  • /favicon.svg returns a valid SVG favicon from the public web root.
  • /apple-touch-icon.png returns a valid PNG touch icon from the public web root.
  • The shared head partial references only favicon assets that exist in public/.
  • The favicon appears in desktop browser tabs after a hard refresh.
  • The touch icon is suitable for mobile home-screen usage and does not rely on transparency that renders poorly on iOS.
  • The implementation does not add favicon tags to individual page templates.
  • Asset filenames and paths remain cache-friendly and compatible with the current Laravel public asset serving setup.

Test Coverage Required

  • Feature test or view assertion that the rendered head includes the expected favicon links.
  • File-level assertion or equivalent automated check that each referenced public favicon asset exists and is non-empty.
  • Run the focused favicon/head coverage, then run vendor/bin/pint --dirty --format agent before closing the issue.

Progress Checklist

  • Design or choose the final MyVideoGameList favicon artwork
  • Replace public/favicon.ico with a valid non-empty favicon
  • Add public/favicon.svg
  • Add public/apple-touch-icon.png
  • Confirm resources/views/partials/head.blade.php references existing favicon assets
  • Add focused automated coverage for favicon links and asset presence
  • Confirm focused favicon/head coverage passes
  • Run vendor/bin/pint --dirty --format agent before implementation closeout
  • Move the issue out of backlog once implementation is ready for review
The application head already links to favicon assets, but the repo only has an empty `public/favicon.ico` placeholder and is missing the referenced SVG and Apple touch icon files. Browsers, bookmarks, pinned tabs, and mobile home-screen shortcuts should show a recognizable MyVideoGameList icon instead of a missing or blank favicon. The implementation should supply production-ready assets that match the existing brand and keep the current shared head partial as the single place where favicon links are declared. ## Scope - Replace the zero-byte `public/favicon.ico` placeholder with a valid multi-size ICO favicon. - Add the referenced `public/favicon.svg` asset for modern browser favicon support. - Add the referenced `public/apple-touch-icon.png` asset for iOS and home-screen shortcuts. - Keep favicon declarations centralized in `resources/views/partials/head.blade.php` unless a small markup adjustment is needed for standards compliance. - Ensure generated assets are committed in appropriate public asset paths and are not only present in a local build output directory. - Use brand-appropriate artwork that remains legible at small sizes and works on light and dark browser chrome. ## Acceptance Criteria - `/favicon.ico` returns a non-empty valid ICO file from the public web root. - `/favicon.svg` returns a valid SVG favicon from the public web root. - `/apple-touch-icon.png` returns a valid PNG touch icon from the public web root. - The shared head partial references only favicon assets that exist in `public/`. - The favicon appears in desktop browser tabs after a hard refresh. - The touch icon is suitable for mobile home-screen usage and does not rely on transparency that renders poorly on iOS. - The implementation does not add favicon tags to individual page templates. - Asset filenames and paths remain cache-friendly and compatible with the current Laravel public asset serving setup. ## Test Coverage Required - Feature test or view assertion that the rendered head includes the expected favicon links. - File-level assertion or equivalent automated check that each referenced public favicon asset exists and is non-empty. - Run the focused favicon/head coverage, then run `vendor/bin/pint --dirty --format agent` before closing the issue. ## Progress Checklist - [ ] Design or choose the final MyVideoGameList favicon artwork - [ ] Replace `public/favicon.ico` with a valid non-empty favicon - [ ] Add `public/favicon.svg` - [ ] Add `public/apple-touch-icon.png` - [ ] Confirm `resources/views/partials/head.blade.php` references existing favicon assets - [ ] Add focused automated coverage for favicon links and asset presence - [ ] Confirm focused favicon/head coverage passes - [ ] Run `vendor/bin/pint --dirty --format agent` before implementation closeout - [ ] Move the issue out of backlog once implementation is ready for review
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MyVideoGameList/myvideogamelist.com#774
No description provided.