Skip to content

feat: PWA reparieren + Android TWA Infrastruktur#293

Merged
sebastianwien merged 5 commits into
mainfrom
android-twa-clean
Jun 12, 2026
Merged

feat: PWA reparieren + Android TWA Infrastruktur#293
sebastianwien merged 5 commits into
mainfrom
android-twa-clean

Conversation

@sebastianwien

Copy link
Copy Markdown
Owner

Summary

  • PWA-Icons generiert (pwa-192x192.png, pwa-512x512.png) - waren im Manifest referenziert aber fehlten, was den Installationsprompt gebrochen hat
  • Maskable Icon (pwa-maskable-512.png) für Android Adaptive Icons (Safe-Zone-Padding 10%)
  • Manifest verbessert: theme_color #4f46e5, background_color, display_override, start_url ?source=pwa, id, lang, Shortcut "Ladevorgang erfassen"
  • assetlinks.json in frontend/public/.well-known/ mit Upload-Key-Fingerprint (Google Play Signing Fingerprint folgt nach erstem AAB-Upload)
  • nginx: expliziter Block für /.well-known/assetlinks.json mit Content-Type: application/json und Access-Control-Allow-Origin: *

Hinweis

Kein TWA-App-Build (Bubblewrap) - Migration direkt zu Capacitor (Android + iOS) geplant. Die PWA-Fixes und assetlinks.json sind für Capacitor wiederverwendbar.

Test plan

  • https://ev-monitor.net/manifest.webmanifest nach Deploy prüfen: theme_color, icons, start_url
  • https://ev-monitor.net/.well-known/assetlinks.json erreichbar mit Content-Type application/json
  • Lighthouse PWA-Score >= 80: npx lighthouse https://ev-monitor.net --only-categories=pwa

- Generiert pwa-192x192.png, pwa-512x512.png aus favicon.svg
- Generiert pwa-maskable-512.png (10% Safe-Zone-Padding fuer Android Adaptive Icons)
- Manifest: theme_color #4f46e5, background_color, display standalone,
  display_override, start_url mit ?source=pwa, id, lang, shortcuts
- Maskable-Icon im Manifest eingetragen (purpose: maskable)
- assetlinks.json in frontend/public/.well-known/ (Fingerprints: Platzhalter)
- nginx: expliziter Block fuer /.well-known/assetlinks.json mit JSON Content-Type und CORS-Header

Naechster Schritt: Keystore generieren, Fingerprints in assetlinks.json eintragen,
dann Bubblewrap (Phase 3).
- BoltLogo.vue: Blitz mit Charge-Fill-Animation (Pageload, Hover, 16s-Idle-Loop),
  light-Variante fuer Indigo-Navbar, respektiert prefers-reduced-motion
- PublicNav.vue: auf /start-Design umgebaut (sticky, backdrop-blur, max-w-7xl),
  gruener Accent-Strip integriert, GitHub-Link von Startseite uebernommen
- LandingPageView + LandingPageV2View: Inline-Navs entfernt, nutzen PublicNav
- App.vue: BoltLogo (light) statt Heroicons-Blitz im eingeloggten Navbar
- BrandIcon.vue: Ring+Auto-Icon (Basis fuer kuenftiges Loading-Icon und App-Icon)
- Rate-Limiting in CI deaktivieren (UI-Logins der Tests überschreiten 10/5min pro IP)
- Spring-Cache in CI deaktivieren (Warmup cachte leere topModels-Liste vor Testdaten-Setup)
- global-setup legt einen Ladevorgang an (Dashboard-Filter + Landing-Preview brauchen Logs)
- Zeitraum-Filter-Test: stale Locator durch data-testid ersetzt
@sebastianwien sebastianwien merged commit 79088fd into main Jun 12, 2026
1 check passed
@sebastianwien sebastianwien deleted the android-twa-clean branch June 12, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant