Merge pull request #3689 from Vito0912/feat/fixServercrashPlaybacksession

Resolved a server crash when a playback session lacked media metadata
This commit is contained in:
advplyr 2024-12-07 15:02:20 -06:00 committed by GitHub
commit ff7edc32a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -127,20 +127,20 @@ module.exports = {
bookListeningMap[ls.displayTitle] += listeningSessionListeningTime bookListeningMap[ls.displayTitle] += listeningSessionListeningTime
} }
const authors = ls.mediaMetadata.authors || [] const authors = ls.mediaMetadata?.authors || []
authors.forEach((au) => { authors.forEach((au) => {
if (!authorListeningMap[au.name]) authorListeningMap[au.name] = 0 if (!authorListeningMap[au.name]) authorListeningMap[au.name] = 0
authorListeningMap[au.name] += listeningSessionListeningTime authorListeningMap[au.name] += listeningSessionListeningTime
}) })
const narrators = ls.mediaMetadata.narrators || [] const narrators = ls.mediaMetadata?.narrators || []
narrators.forEach((narrator) => { narrators.forEach((narrator) => {
if (!narratorListeningMap[narrator]) narratorListeningMap[narrator] = 0 if (!narratorListeningMap[narrator]) narratorListeningMap[narrator] = 0
narratorListeningMap[narrator] += listeningSessionListeningTime narratorListeningMap[narrator] += listeningSessionListeningTime
}) })
// Filter out bad genres like "audiobook" and "audio book" // Filter out bad genres like "audiobook" and "audio book"
const genres = (ls.mediaMetadata.genres || []).filter((g) => g && !g.toLowerCase().includes('audiobook') && !g.toLowerCase().includes('audio book')) const genres = (ls.mediaMetadata?.genres || []).filter((g) => g && !g.toLowerCase().includes('audiobook') && !g.toLowerCase().includes('audio book'))
genres.forEach((genre) => { genres.forEach((genre) => {
if (!genreListeningMap[genre]) genreListeningMap[genre] = 0 if (!genreListeningMap[genre]) genreListeningMap[genre] = 0
genreListeningMap[genre] += listeningSessionListeningTime genreListeningMap[genre] += listeningSessionListeningTime