From f880bfb3de792d457c0bd6fb17873ba4f336102f Mon Sep 17 00:00:00 2001 From: Kevin Bloomquist Date: Tue, 20 May 2025 15:48:28 -0700 Subject: [PATCH] fix GPSLongitudeRef and GPSLatitudeRef --- e2e/package-lock.json | 35 ++++++++------- e2e/package.json | 2 +- server/package-lock.json | 45 +++++++++++++------ server/package.json | 2 +- .../src/repositories/metadata.repository.ts | 1 + 5 files changed, 54 insertions(+), 31 deletions(-) diff --git a/e2e/package-lock.json b/e2e/package-lock.json index cbce017e089eb..b40fe70b89fa3 100644 --- a/e2e/package-lock.json +++ b/e2e/package-lock.json @@ -25,7 +25,7 @@ "eslint-config-prettier": "^10.0.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^57.0.0", - "exiftool-vendored": "^28.3.1", + "exiftool-vendored": "^30.0.0", "globals": "^16.0.0", "jose": "^5.6.3", "luxon": "^3.4.4", @@ -3438,27 +3438,27 @@ } }, "node_modules/exiftool-vendored": { - "version": "28.8.0", - "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-28.8.0.tgz", - "integrity": "sha512-R7tirJLr9fWuH9JS/KFFLB+O7jNGKuPXGxREc6YybYangEudGb+X8ERsYXk9AifMiAWh/2agNfbgkbcQcF+MxA==", + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-30.0.0.tgz", + "integrity": "sha512-fSNjsIMjh/ssRP2GEScqGp7uTHhaJWxfDQPhWAyvckSpI/0DnU3glpzrF1VzGrc5Fi4ZMBcMj7N4AC1QoWHZNA==", "dev": true, "license": "MIT", "dependencies": { - "@photostructure/tz-lookup": "^11.0.0", - "@types/luxon": "^3.4.2", + "@photostructure/tz-lookup": "^11.2.0", + "@types/luxon": "^3.6.2", "batch-cluster": "^13.0.0", "he": "^1.2.0", - "luxon": "^3.5.0" + "luxon": "^3.6.1" }, "optionalDependencies": { - "exiftool-vendored.exe": "13.0.0", - "exiftool-vendored.pl": "13.0.1" + "exiftool-vendored.exe": "13.29.0", + "exiftool-vendored.pl": "13.29.0" } }, "node_modules/exiftool-vendored.exe": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/exiftool-vendored.exe/-/exiftool-vendored.exe-13.0.0.tgz", - "integrity": "sha512-4zAMuFGgxZkOoyQIzZMHv1HlvgyJK3AkNqjAgm8A8V0UmOZO7yv3pH49cDV1OduzFJqgs6yQ6eG4OGydhKtxlg==", + "version": "13.29.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored.exe/-/exiftool-vendored.exe-13.29.0.tgz", + "integrity": "sha512-n82fD6uhoEzCwhJl2RbJFaAD6f5/8sP4Z6+rxYh1MVLrccUK7sj3cgg1e34BPbcD9v2dGyX29slTGj6iLmMZFw==", "dev": true, "license": "MIT", "optional": true, @@ -3467,15 +3467,18 @@ ] }, "node_modules/exiftool-vendored.pl": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.0.1.tgz", - "integrity": "sha512-+BRRzjselpWudKR0ltAW5SUt9T82D+gzQN8DdOQUgnSVWWp7oLCeTGBRptbQz+436Ihn/mPzmo/xnf0cv/Qw1A==", + "version": "13.29.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.29.0.tgz", + "integrity": "sha512-NijMl890wa+1i5ytBaMF0OV4pEZw/n6cB+cu8aTFG5SgrHUl88C4rC7b3tsfO/g1qvMDftG693m91usVoZxK0A==", "dev": true, "license": "MIT", "optional": true, "os": [ "!win32" - ] + ], + "bin": { + "exiftool": "bin/exiftool" + } }, "node_modules/expect-type": { "version": "1.2.1", diff --git a/e2e/package.json b/e2e/package.json index fc0196fb99517..a54ae84a7696a 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -35,7 +35,7 @@ "eslint-config-prettier": "^10.0.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^57.0.0", - "exiftool-vendored": "^28.3.1", + "exiftool-vendored": "^30.0.0", "globals": "^16.0.0", "jose": "^5.6.3", "luxon": "^3.4.4", diff --git a/server/package-lock.json b/server/package-lock.json index bf70dd5f0abdb..3e5e459ca35da 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -35,7 +35,7 @@ "compression": "^1.8.0", "cookie": "^1.0.2", "cookie-parser": "^1.4.7", - "exiftool-vendored": "^28.3.1", + "exiftool-vendored": "^30.0.0", "fast-glob": "^3.3.2", "fluent-ffmpeg": "^2.1.2", "geo-tz": "^8.0.0", @@ -9235,31 +9235,50 @@ } }, "node_modules/exiftool-vendored": { - "version": "28.8.0", - "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-28.8.0.tgz", - "integrity": "sha512-R7tirJLr9fWuH9JS/KFFLB+O7jNGKuPXGxREc6YybYangEudGb+X8ERsYXk9AifMiAWh/2agNfbgkbcQcF+MxA==", + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-30.0.0.tgz", + "integrity": "sha512-fSNjsIMjh/ssRP2GEScqGp7uTHhaJWxfDQPhWAyvckSpI/0DnU3glpzrF1VzGrc5Fi4ZMBcMj7N4AC1QoWHZNA==", "license": "MIT", "dependencies": { - "@photostructure/tz-lookup": "^11.0.0", - "@types/luxon": "^3.4.2", + "@photostructure/tz-lookup": "^11.2.0", + "@types/luxon": "^3.6.2", "batch-cluster": "^13.0.0", "he": "^1.2.0", - "luxon": "^3.5.0" + "luxon": "^3.6.1" }, "optionalDependencies": { - "exiftool-vendored.exe": "13.0.0", - "exiftool-vendored.pl": "13.0.1" + "exiftool-vendored.exe": "13.29.0", + "exiftool-vendored.pl": "13.29.0" } }, + "node_modules/exiftool-vendored.exe": { + "version": "13.29.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored.exe/-/exiftool-vendored.exe-13.29.0.tgz", + "integrity": "sha512-n82fD6uhoEzCwhJl2RbJFaAD6f5/8sP4Z6+rxYh1MVLrccUK7sj3cgg1e34BPbcD9v2dGyX29slTGj6iLmMZFw==", + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/exiftool-vendored.pl": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.0.1.tgz", - "integrity": "sha512-+BRRzjselpWudKR0ltAW5SUt9T82D+gzQN8DdOQUgnSVWWp7oLCeTGBRptbQz+436Ihn/mPzmo/xnf0cv/Qw1A==", + "version": "13.29.0", + "resolved": "https://registry.npmjs.org/exiftool-vendored.pl/-/exiftool-vendored.pl-13.29.0.tgz", + "integrity": "sha512-NijMl890wa+1i5ytBaMF0OV4pEZw/n6cB+cu8aTFG5SgrHUl88C4rC7b3tsfO/g1qvMDftG693m91usVoZxK0A==", "license": "MIT", "optional": true, "os": [ "!win32" - ] + ], + "bin": { + "exiftool": "bin/exiftool" + } + }, + "node_modules/exiftool-vendored/node_modules/@types/luxon": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.6.2.tgz", + "integrity": "sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==", + "license": "MIT" }, "node_modules/expect-type": { "version": "1.2.1", diff --git a/server/package.json b/server/package.json index b588aa153a915..aea70becb3588 100644 --- a/server/package.json +++ b/server/package.json @@ -60,7 +60,7 @@ "compression": "^1.8.0", "cookie": "^1.0.2", "cookie-parser": "^1.4.7", - "exiftool-vendored": "^28.3.1", + "exiftool-vendored": "^30.0.0", "fast-glob": "^3.3.2", "fluent-ffmpeg": "^2.1.2", "geo-tz": "^8.0.0", diff --git a/server/src/repositories/metadata.repository.ts b/server/src/repositories/metadata.repository.ts index bf3a96f21fdee..fc7eb60ac8592 100644 --- a/server/src/repositories/metadata.repository.ts +++ b/server/src/repositories/metadata.repository.ts @@ -84,6 +84,7 @@ export class MetadataRepository { numericTags: [...DefaultReadTaskOptions.numericTags, 'FocalLength', 'FileSize'], /* eslint unicorn/no-array-callback-reference: off, unicorn/no-array-method-this-argument: off */ geoTz: (lat, lon) => geotz.find(lat, lon)[0], + geolocation: true, // Enable exiftool LFS to parse metadata for files larger than 2GB. readArgs: ['-api', 'largefilesupport=1'], writeArgs: ['-api', 'largefilesupport=1', '-overwrite_original'],