diff --git a/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt b/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt index 067628b..3ac7fe6 100644 --- a/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt @@ -105,7 +105,7 @@ class GameService( imageService.downloadIfNew(it) } } catch (e: Exception) { - log.error { "Error downloading images for game: ${e.message}" } + log.error { "Error downloading images for game '${game.title}' (${game.id}): ${e.message}" } log.debug(e) {} null } diff --git a/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanService.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanService.kt index 1963d34..3b64568 100644 --- a/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanService.kt @@ -376,7 +376,7 @@ class LibraryScanService( game } catch (e: Exception) { - log.error { "Error downloading images for game: ${e.message}" } + log.error { "Error downloading images for game '${game.title}' (${game.id}): ${e.message}" } log.debug(e) {} null } finally { diff --git a/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt b/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt index d9a8a6f..2ff041d 100644 --- a/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt @@ -1,10 +1,10 @@ package org.gameyfin.app.media +import org.apache.tika.Tika +import org.apache.tika.io.TikaInputStream import org.gameyfin.app.games.entities.Image import org.gameyfin.app.games.entities.ImageType import org.gameyfin.app.games.repositories.ImageContentStore -import org.apache.tika.Tika -import org.apache.tika.io.TikaInputStream import org.gameyfin.app.games.repositories.ImageRepository import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service @@ -22,8 +22,10 @@ class ImageService( fun downloadIfNew(image: Image) { if (image.originalUrl == null) throw IllegalArgumentException("Image must have an original URL") - imageRepository.findByOriginalUrl(image.originalUrl)?.let { - imageContentStore.associate(image, it.contentId) + val existingImage = imageRepository.findByOriginalUrl(image.originalUrl) + + if (existingImage != null && existingImage.contentId != null) { + imageContentStore.associate(image, existingImage.contentId) return }