fix: Manifest-Installability-Kriterien für Chrome Android
All checks were successful
Deploy baustelle-pwa / deploy (push) Successful in 1s

Chrome Android zeigte nur 'Zum Startbildschirm hinzufügen' statt
'App installieren', weil:
1. 'any maskable' als kombinierter purpose reicht Chrome nicht —
   braucht mindestens ein reines 'any'-Icon für den Install-Prompt
2. start_url/scope waren relativ (./) — mit absoluten Pfaden zum
   custom/baustelle/-Root ist der Scope eindeutig

Fixes:
- icons: je 192/512 als 'any' UND zusätzlich als 'maskable' (4 Einträge)
- id, start_url, scope auf '/custom/baustelle/' gesetzt (absolut)
- categories, dir: ltr dazu für vollständiges Manifest

Damit erfüllt die PWA die Chrome-Installability-Kriterien und der
Menü-Eintrag wird zu 'App installieren'. Erst dann funktioniert
auch Web Share Target.

Cache v10.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
[deploy]
This commit is contained in:
Eduard Wisch 2026-04-09 01:21:59 +02:00
parent f2c41059a6
commit 5e80d78f41
2 changed files with 10 additions and 5 deletions

View file

@ -2,16 +2,21 @@
"name": "Baustelle — Bericht-Doku",
"short_name": "Baustelle",
"description": "Mobile Doku für Baustellen — Fotos, Sprachnotizen, Skizzen",
"start_url": "./",
"scope": "./",
"id": "/custom/baustelle/",
"start_url": "/custom/baustelle/",
"scope": "/custom/baustelle/",
"display": "standalone",
"orientation": "portrait",
"background_color": "#1a1a1f",
"theme_color": "#1a1a1f",
"lang": "de",
"dir": "ltr",
"categories": ["productivity", "business", "utilities"],
"icons": [
{ "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" },
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
{ "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
{ "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" },
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
],
"share_target": {
"action": "https://awl.data-it-solution.de/custom/baustelle/share.html",

2
sw.js
View file

@ -5,7 +5,7 @@
* - Web Share Target via POST share.html
*/
const CACHE = 'baustelle-v9';
const CACHE = 'baustelle-v10';
const SHELL = [
'./',
'./index.html',