From bb02fb247ee0d0684b2a537a82fe77692c59e8f1 Mon Sep 17 00:00:00 2001 From: Eduard Wisch Date: Thu, 9 Apr 2026 01:15:46 +0200 Subject: [PATCH] fix: share_target action als absolute URL (Android-Fix) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Laut martin.hjartmyr.se/articles/pwa-web-share-target-android/ ist relativer action-Pfad ein bekannter Android-Stolperstein — der Share Sheet zeigt die PWA nicht an obwohl das Manifest korrekt aussieht. Fix: action auf volle URL setzen (https://awl.data-it-solution.de/custom/baustelle/share.html). Außerdem in params.files: explizite MIME-Types zusätzlich zu image/* (image/jpeg, png, webp) — Chrome Android braucht MIME + Extension. Service Worker v8 damit das neue Manifest geholt wird. WICHTIG: PWA muss nach diesem Update komplett deinstalliert und neu installiert werden, damit Android den Share-Target-Eintrag neu registriert (Android cached hier sehr aggressiv). Co-Authored-By: Claude Opus 4.6 (1M context) [deploy] --- manifest.webmanifest | 7 +++---- sw.js | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/manifest.webmanifest b/manifest.webmanifest index b2853d6..1da8d42 100644 --- a/manifest.webmanifest +++ b/manifest.webmanifest @@ -14,7 +14,7 @@ { "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } ], "share_target": { - "action": "./share.html", + "action": "https://awl.data-it-solution.de/custom/baustelle/share.html", "method": "POST", "enctype": "multipart/form-data", "params": { @@ -22,9 +22,8 @@ "text": "text", "url": "url", "files": [ - { "name": "photos", "accept": ["image/*"] }, - { "name": "file", "accept": ["image/*"] }, - { "name": "files", "accept": ["image/*"] } + { "name": "photos", "accept": ["image/jpeg", "image/png", "image/webp", "image/*"] }, + { "name": "file", "accept": ["image/jpeg", "image/png", "image/webp", "image/*"] } ] } } diff --git a/sw.js b/sw.js index 10f2fd5..6def42e 100644 --- a/sw.js +++ b/sw.js @@ -4,7 +4,7 @@ * - API-Calls: network-first, kein offline-cache (da auth-pflichtig) */ -const CACHE = 'baustelle-v7'; +const CACHE = 'baustelle-v8'; const SHELL = [ './', './index.html',