fix: automatic media location migration without internal assets (#20489)

This commit is contained in:
Daniel Dietzler
2025-08-01 00:58:35 +02:00
committed by GitHub
parent c3263e50fc
commit 3cdc6844a1
4 changed files with 8 additions and 44 deletions
+3 -3
View File
@@ -97,18 +97,18 @@ export class StorageService extends BaseService {
const current = StorageCore.getMediaLocation();
const samples = await this.assetRepository.getFileSamples();
if (samples.length > 0) {
const originalPath = samples[0].originalPath;
const path = samples[0].path;
const savedValue = await this.systemMetadataRepository.get(SystemMetadataKey.MediaLocation);
let previous = savedValue?.location || '';
if (!previous) {
previous = originalPath.startsWith('upload/') ? 'upload' : '/usr/src/app/upload';
previous = path.startsWith('upload/') ? 'upload' : '/usr/src/app/upload';
}
if (previous !== current) {
this.logger.log(`Media location changed (from=${previous}, to=${current})`);
if (!originalPath.startsWith(previous)) {
if (!path.startsWith(previous)) {
throw new Error(
'Detected an inconsistent media location. For more information, see https://immich.app/errors#inconsistent-media-location',
);