Closed anytimesoon closed 2 months ago
Does the app have location access permissions?
It does
Can you download the original file from the Immich server and check with exiftool or such whether it has the GPS data, and do the same with a copy of the file copied manually off your phone?
Downloading the file from immich, it seems it does not have any GPS data.
I'm not sure I understand what your request with this
and do the same with a copy of the file copied manually off your phone?
I think you would like me to confirm that the file had GPS data before the upload to immich. If this is the case, yes the original file has GPS data.
From this, it seems like the data has been stripped from the file during the upload process
Can you try turning off background upload, taking a new photo with gps data, then uploading that in the Immich app with the foreground upload mechanism?
I have tried this, and still no GPS
I have the same issue. It worked before flawlessly (even without having granted Immich app location permission), but since around two weeks, metadata isn't parsed properly from both my phone (Pixel 6 with latest CalyxOS - Android 14 and microG as well as app version 1.111.0 from github release page) as well as my wife's phone (Pixel 4 with latest GrapheneOS - Android 14 with sandboxed Google Play Services and app version 1.109.2 from F-Droid). Uploading from web interface works properly, but both devices will backup duplicates (without location tags) of the pictures to the server if I upload my pictures through the web interface and keep auto backup through mobile app activated. I tried an older device (Samsung Galaxy S8 running LineageOS - Android 11 with microG and app version 1.109.2), where it still works flawlessly. Server is running v1.110.0.
So I am a little bit confused right now what might be the underlying issue here. And yes, I am aware that since Android Q EXIF data will be stripped from media files when shared and proper permissions aren't granted to the sharing app (especially the "access all files" permission, which Immich mobile app didn't request in the first place and can't be granted manually as it doesn't ask for it).
I tried different app versions, the issue still persists.
For me the issue is definitely calyxos, since they recently made the location redaction feature more restrictive. So disabling the feature altogether fixed it for me. There is a global toggle at settings -> Security & privacy -> More security & privacy -> Redact location data when sharing media.
Sadly, this hasn't worked for me. It's interesting to learn that others who face this issue are using Calyx. That does imply that the problem may stem from there
I have the same problem, I'm using calyxos too. After some research in the flutter_photo_manager lib used by immich, I found that the location isn't set in the AssetEntity (cf. https://github.com/fluttercandies/flutter_photo_manager/blob/044ee31d8569341d0feb6772315f4c6b89c9e5c9/android/src/main/kotlin/com/fluttercandies/photo_manager/core/utils/IDBUtils.kt#L226 and the comment https://github.com/fluttercandies/flutter_photo_manager/blob/044ee31d8569341d0feb6772315f4c6b89c9e5c9/lib/src/types/entity.dart#L482) According to the comments in the library, we should use latlngAsync function to get location. Maybe I missed something because the location sync seems to work on android (without calyxos), but I didn't find any usages of latlngAsync.
I tried to use my own version of flutter_photo_manager that defined latitude and longitude values directly in AssetEntity and it works, but I'm not sure that is a good solution. I'm not flutter or mobile developer, so if someone wants to help me your welcome :)
The code I'm using to define the location :
// com.fluttercandies.photo_manager.core.utils.IDBUtils#toAssetEntity
var latitude: Double? = null
var longitude: Double? = null
context.contentResolver.openInputStream(getUri(id, getMediaType(type)))?.use {
val exifInterface = ExifInterface(it)
val latLong: FloatArray = kotlin.FloatArray(2)
if (exifInterface.getLatLong(latLong)) {
latitude = latLong[0].toDouble()
longitude = latLong[1].toDouble()
}
}
It'd be nice if Immich implemented the media permission so that this doesn't happen, it does manage media afterall
The bug
None of my images uploaded from my phone or my partner's phone have the location data parsed by immich. I have checked that these images have GPS data using the phone's gallery app. I have also tried rerunning the metadata job
The OS that Immich Server is running on
Ubuntu 22.04 lts
Version of Immich Server
1.108.0
Version of Immich Mobile App
1.108.0
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Relevant log output
No response
Additional information
No response