added null saftey and added displayTitle and displayAuthor

This commit is contained in:
Vito0912 2024-12-07 10:37:00 +01:00
parent 89167543fa
commit 2fbb31e0ea
No known key found for this signature in database
GPG Key ID: 29A3D509FE70B237

View File

@ -178,8 +178,14 @@ class PlaybackSessionManager {
// This makes sure that the client's metadata is preferred over the library's metadata, if available, to make a non-breaking change
if(session.mediaMetadata == null) {
// Only sync important metadata
const { title, subtitle, narrators, authors, author, series, genres } = libraryItem.media.metadata || {};
session.mediaMetadata = { title, subtitle, narrators, authors, series, genres, author};
const { title, subtitle, narrators, authors, author, series, genres } = libraryItem?.media?.metadata || {}
session.mediaMetadata = { title, subtitle, narrators, authors, series, genres, author}
}
if(session.displayTitle == null || session.displayTitle === '') {
session.displayTitle = libraryItem?.media?.metadata?.title ?? ''
}
if(session.displayAuthor == null || session.displayAuthor === '') {
session.displayAuthor = libraryItem?.media?.metadata?.authors?.map(a => a.name).join(', ') ?? libraryItem?.media?.metadata?.author ?? ''
}
session.setDuration(libraryItem, sessionJson.episodeId)
Logger.debug(`[PlaybackSessionManager] Inserting new session for "${session.displayTitle}" (${session.id})`)