Publish Container / publish (push) Successful in 2m43s
iOS showed a letter tile ('N') when adding to the Home Screen. The live files were fine, but a
reverse proxy in front of the app serves static files with a long cache lifetime (live icon.svg
and sw.js were stale) and iOS remembers a failed icon per URL.
- New versioned URLs no proxy/phone has cached; old paths kept for existing installs
- apple-touch-icon declared at 180/167/152/120 (opaque 8-bit RGB PNGs) for app and dashboard
- 180px icon also listed in both manifests; notification icons and root fallbacks use v2
- Service worker cache bumped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
111 lines
2.3 KiB
JSON
111 lines
2.3 KiB
JSON
{
|
|
"name": "NeCloud Weather",
|
|
"short_name": "NeCloud",
|
|
"description": "Self-hosted weather app with animated radar. No API keys required.",
|
|
"start_url": "/",
|
|
"scope": "/",
|
|
"display": "standalone",
|
|
"display_override": [
|
|
"window-controls-overlay",
|
|
"standalone"
|
|
],
|
|
"background_color": "#070c14",
|
|
"theme_color": "#070c14",
|
|
"orientation": "portrait-primary",
|
|
"categories": [
|
|
"weather",
|
|
"utilities"
|
|
],
|
|
"icons": [
|
|
{
|
|
"src": "/icons/v2/icon-192.png",
|
|
"sizes": "192x192",
|
|
"type": "image/png",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/v2/apple-touch-icon-180.png",
|
|
"sizes": "180x180",
|
|
"type": "image/png",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/v2/icon-512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/v2/icon-maskable-512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "maskable"
|
|
},
|
|
{
|
|
"src": "/icons/v2/icon.svg",
|
|
"sizes": "any",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
}
|
|
],
|
|
"share_target": {
|
|
"action": "/?share",
|
|
"method": "GET",
|
|
"params": {
|
|
"title": "title",
|
|
"text": "text",
|
|
"url": "url"
|
|
}
|
|
},
|
|
"shortcuts": [
|
|
{
|
|
"name": "Current Conditions",
|
|
"short_name": "Now",
|
|
"description": "View current weather and forecast",
|
|
"url": "/?tab=conditions",
|
|
"icons": [
|
|
{
|
|
"src": "/icons/v2/icon-192.png",
|
|
"sizes": "192x192"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "My Station",
|
|
"short_name": "Station",
|
|
"description": "Live readings from your weather station",
|
|
"url": "/?tab=station",
|
|
"icons": [
|
|
{
|
|
"src": "/icons/v2/icon-192.png",
|
|
"sizes": "192x192"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Radar Map",
|
|
"short_name": "Map",
|
|
"description": "Live radar and weather map",
|
|
"url": "/?tab=unified-map",
|
|
"icons": [
|
|
{
|
|
"src": "/icons/v2/icon-192.png",
|
|
"sizes": "192x192"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Active Alerts",
|
|
"short_name": "Alerts",
|
|
"description": "Weather warnings and alerts",
|
|
"url": "/?tab=alerts",
|
|
"icons": [
|
|
{
|
|
"src": "/icons/v2/icon-192.png",
|
|
"sizes": "192x192"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|