fix(build): serve favicon + all res/ icons at their referenced /public paths

The static-copy step landed the android icons at dist/public/android/ (stripBase
dropped the res/ segment), never copied public/res/apple/ or public/favicon.ico at
all, and the manifest pointed at /res/android/ — so every PWA icon, apple-touch
icon, og:image, and the favicon 404'd on the live server.

Copy all of public/res -> dist/public/res and public/favicon.ico -> dist/public/,
and point manifest.json icons at ./public/res/android/ — matching the /public/res
and /public/favicon.ico paths index.html already uses. Verified in dist/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 20:28:40 -04:00
parent 45afc9ba7e
commit 4236621c7a
2 changed files with 23 additions and 14 deletions
+12 -12
View File
@@ -11,58 +11,58 @@
"theme_color": "#980000",
"icons": [
{
"src": "./res/android/android-chrome-36x36.png",
"src": "./public/res/android/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-48x48.png",
"src": "./public/res/android/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-72x72.png",
"src": "./public/res/android/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-96x96.png",
"src": "./public/res/android/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-144x144.png",
"src": "./public/res/android/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-192x192.png",
"src": "./public/res/android/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-256x256.png",
"src": "./public/res/android/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-384x384.png",
"src": "./public/res/android/android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "./res/android/android-chrome-512x512.png",
"src": "./public/res/android/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "./res/android/maskable-192x192.png",
"src": "./public/res/android/maskable-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "./res/android/maskable-512x512.png",
"src": "./public/res/android/maskable-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
@@ -77,7 +77,7 @@
"url": "/",
"icons": [
{
"src": "res/android/android-chrome-96x96.png",
"src": "public/res/android/android-chrome-96x96.png",
"sizes": "96x96"
}
]