ai generated solutions to our ai generated problems

This commit is contained in:
Heidi
2026-05-27 15:13:40 +01:00
parent ac0dcf7522
commit 4ab411a853
3 changed files with 62 additions and 15 deletions
+17 -1
View File
@@ -70,13 +70,29 @@ function normalizeLastfmTrack(track) {
const name = track?.name || ''
if (!artist || !name) return null
const images = Array.isArray(track.image) ? track.image : []
const image = [...images].reverse().find((item) => item?.['#text'])
let imageUrl = ''
try {
const parsed = new URL(image?.['#text'] || '')
if (
parsed.protocol === 'https:' &&
(parsed.hostname === 'lastfm.freetls.fastly.net' ||
parsed.hostname.endsWith('.lastfm.freetls.fastly.net'))
) {
imageUrl = parsed.toString()
}
} catch {
imageUrl = ''
}
return {
id: `${artist.toLowerCase()}::${name.toLowerCase()}`,
artist,
name,
album: track?.album?.['#text'] || '',
url: track?.url || '',
image: '',
image: imageUrl,
played_at: track?.date?.uts ? Number(track.date.uts) : null,
}
}