fix(core,fuse,gui): date photos by their EXIF when nothing else does

A Takeout photo with no sidecar and no date in its name was filed under
the day of the import, and the app dated uploads by modification time.
A new `exiftime` module reads DateTimeOriginal (then DateTimeDigitized)
with its offset. Takeout uses it for undated photos it copies out for a
thumbnail, and the daemon uses it for app uploads before falling back to
the modification time (B244).
This commit is contained in:
nvrl committed 2026-10-16 12:12:41 +02:00
1 parent 48c8910e7b
commit 47934b7ddb
9 files changed
+189 -6

No files matched your search

+3 -5
View File
@@ -1379,11 +1379,9 @@ pub(crate) fn wire_gallery(
"tiff" | "tif" => "image/tiff",
_ => "image/jpeg",
};
let capture_time = std::fs::metadata(&path)
.and_then(|m| m.modified())
.ok()
.and_then(|t| t.duration_since(std::time::SystemTime::UNIX_EPOCH).ok())
.map(|d| d.as_secs() as i64);
// The daemon dates the photo: by its EXIF, or by the file's
// modification time when it has none.
let capture_time = None;
ui.busy_begin();
let rx = spawn_request(