fix: time zone upserts (#25889)

This commit is contained in:
Daniel Dietzler
2026-02-05 18:43:03 +01:00
committed by GitHub
parent 27a2808470
commit 9c098109e0
7 changed files with 69 additions and 7 deletions
+6 -3
View File
@@ -32,6 +32,7 @@ import { BaseService } from 'src/services/base.service';
import { JobItem, JobOf } from 'src/types';
import { getAssetFiles } from 'src/utils/asset.util';
import { isAssetChecksumConstraint } from 'src/utils/database';
import { mergeTimeZone } from 'src/utils/date';
import { mimeTypes } from 'src/utils/mime-types';
import { isFaceImportEnabled } from 'src/utils/misc';
import { upsertTags } from 'src/utils/tag';
@@ -431,14 +432,16 @@ export class MetadataService extends BaseService {
const { sidecarFile } = getAssetFiles(asset.files);
const sidecarPath = sidecarFile?.path || `${asset.originalPath}.xmp`;
const { description, dateTimeOriginal, latitude, longitude, rating, tags } = _.pick(
const { description, dateTimeOriginal, latitude, longitude, rating, tags, timeZone } = _.pick(
{
description: asset.exifInfo.description,
dateTimeOriginal: asset.exifInfo.dateTimeOriginal,
// the kysely type is wrong here; fixed in 0.28.3
dateTimeOriginal: asset.exifInfo.dateTimeOriginal as string | null,
latitude: asset.exifInfo.latitude,
longitude: asset.exifInfo.longitude,
rating: asset.exifInfo.rating,
tags: asset.exifInfo.tags,
timeZone: asset.exifInfo.timeZone,
},
lockedProperties,
);
@@ -447,7 +450,7 @@ export class MetadataService extends BaseService {
<Tags>{
Description: description,
ImageDescription: description,
DateTimeOriginal: dateTimeOriginal ? String(dateTimeOriginal) : undefined,
DateTimeOriginal: mergeTimeZone(dateTimeOriginal, timeZone)?.toISO(),
GPSLatitude: latitude,
GPSLongitude: longitude,
Rating: rating,