Doku: Galerie-Einlesen in README, ROADMAP Punkt 7 als live markiert
All checks were successful
Deploy baustelle-pwa / deploy (push) Has been skipped

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Eddy 2026-09-30 20:24:47 +02:00
parent b824e95c88
commit 8e984fca44
2 changed files with 3 additions and 3 deletions

View file

@ -23,7 +23,7 @@ Mobile Progressive Web App für die Baustellen-Doku — Foto-Upload, Sprach- und
**Foto-Upload** **Foto-Upload**
- ✅ Live-Kamera-Modal (getUserMedia): bleibt für Serien-Aufnahmen offen — Auslöser + Filmstreifen mit Upload-Status je Foto (💾 gesichert → ⏳ lädt hoch → ✓ fertig), Front-/Rückkamera-Umschaltung, Fehlschuss löschbar - ✅ Live-Kamera-Modal (getUserMedia): bleibt für Serien-Aufnahmen offen — Auslöser + Filmstreifen mit Upload-Status je Foto (💾 gesichert → ⏳ lädt hoch → ✓ fertig), Front-/Rückkamera-Umschaltung, Fehlschuss löschbar
- ✅ **Volle Kameraauflösung**: ausgelöst wird über `ImageCapture.takePhoto()` (native JPEG der Kamera inkl. EXIF) — ein Standbild aus dem Video-Stream hat nur Stream-Auflösung und ist nur noch die Rückfallebene (iOS/Safari, ältere Browser) - ✅ **Volle Kameraauflösung**: ausgelöst wird über `ImageCapture.takePhoto()` (native JPEG der Kamera inkl. EXIF) — ein Standbild aus dem Video-Stream hat nur Stream-Auflösung und ist nur noch die Rückfallebene (iOS/Safari, ältere Browser)
- ✅ Alternativ Aufnahme aus der Galerie - ✅ Alternativ Aufnahme aus der Galerie (Mehrfachauswahl: alle Dateien werden sofort nach der Auswahl eingelesen, erst dann hochgeladen, weil Android die Galerie-Dateien nur kurz lesbar hält, siehe ROADMAP Punkt 7)
- ✅ **Fotoqualität im Admin einstellbar** (Bericht-Modul → Fotoqualität, `api/config.php`): Vorgabe ist **1:1, gar nicht verkleinern**; optional längste Seite + JPEG-Qualität. Gesichert wird immer zuerst das Original, die kleine Fassung ersetzt es danach — hängt das Verkleinern (Display aus), bleibt das Original - ✅ **Fotoqualität im Admin einstellbar** (Bericht-Modul → Fotoqualität, `api/config.php`): Vorgabe ist **1:1, gar nicht verkleinern**; optional längste Seite + JPEG-Qualität. Gesichert wird immer zuerst das Original, die kleine Fassung ersetzt es danach — hängt das Verkleinern (Display aus), bleibt das Original
- ✅ **Wake Lock** während Foto-Serie und Upload: schaltet sich das Display ab, friert der Browser laufende Uploads und das Verkleinern ein - ✅ **Wake Lock** während Foto-Serie und Upload: schaltet sich das Display ab, friert der Browser laufende Uploads und das Verkleinern ein
- ✅ **Persist-First / Datenverlust-Schutz**: jedes Foto wird beim Auslösen ZUERST in IndexedDB gesichert, Upload erst danach; Queue-Item wird nur nach bestätigtem Upload (HTTP 2xx mit gültigem `relpath`) gelöscht — überlebt fehlendes/schwaches Netz, hängende Uploads (45s-Timeout) und App-Kill. Erkennt 2xx-HTML (abgelaufene Session/Proxy-Loginseite) als Fehler statt als Erfolg - ✅ **Persist-First / Datenverlust-Schutz**: jedes Foto wird beim Auslösen ZUERST in IndexedDB gesichert, Upload erst danach; Queue-Item wird nur nach bestätigtem Upload (HTTP 2xx mit gültigem `relpath`) gelöscht — überlebt fehlendes/schwaches Netz, hängende Uploads (45s-Timeout) und App-Kill. Erkennt 2xx-HTML (abgelaufene Session/Proxy-Loginseite) als Fehler statt als Erfolg

View file

@ -1,6 +1,6 @@
# ROADMAP — Baustelle PWA # ROADMAP — Baustelle PWA
Stand: 2026-09-18 · Gegenstück: `data/bericht` (Modul-Version 1.7.1) Stand: 2026-09-30 · Gegenstück: `data/bericht` (Modul-Version 1.7.1)
Die PWA hat kein eigenes Backend — alles läuft über `custom/bericht/api/`. Punkte, die eine Die PWA hat kein eigenes Backend — alles läuft über `custom/bericht/api/`. Punkte, die eine
API-Änderung brauchen, sind mit **[API]** markiert und stehen zusätzlich in der ROADMAP des API-Änderung brauchen, sind mit **[API]** markiert und stehen zusätzlich in der ROADMAP des
@ -41,7 +41,7 @@ nur kurz frei (bzw. prüft, ob sie seit der Auswahl verändert wurden) → `NotR
(„could not be read, typically due to permission problems…"). Die betroffenen Fotos landeten („could not be read, typically due to permission problems…"). Die betroffenen Fotos landeten
nicht in der Queue. nicht in der Queue.
- [x] Fix (lokal, noch nicht deployed): erst **alle** Dateien sofort in den Speicher lesen - [x] ✅ Fix live seit 30.09.2026 (Commit b824e95): erst **alle** Dateien sofort in den Speicher lesen
(`readFileNow`, ein Wiederholversuch nach 500 ms), dann hochladen. Unlesbare Datei → (`readFileNow`, ein Wiederholversuch nach 500 ms), dann hochladen. Unlesbare Datei →
klare Meldung „bitte nochmal auswählen". klare Meldung „bitte nochmal auswählen".
- [ ] Am Handy gegenprüfen: 8–10 Fotos aus der Galerie auf einmal auswählen. - [ ] Am Handy gegenprüfen: 8–10 Fotos aus der Galerie auf einmal auswählen.