906b61143a
- Replaced getUserMedia() + canvas.toBlob() with <input type=file capture=environment> → native camera app preserves full EXIF data including GPS - Defined missing extractGpsFromPhoto() using exifr.gps() library - Manual mode now uploads the original file (with EXIF) instead of a canvas-encoded blob - Server-side exif_gps fallback if client-side extraction fails - Renamed manualPhotoBlob → manualPhotoFile for clarity