fix: lyrics race condition, PC scroll, artwork matching, accidental artist/album taps
- nowplaying: add cancellation token to _loadNpLyrics to prevent stale async calls overwriting newer results (synced→plain race condition) - nowplaying: replace scrollIntoView with explicit container.scrollTo to prevent page-level scroll on desktop (topbar shifting / gap at edge) - backend: remove results[0] fallback in lookupItunesTrackMeta — only use exact title+artist match to avoid embedding wrong artwork - components/views: makeSongItem accepts noArtistLink/noAlbumLink opts; album-detail disables both, playlist-detail disables artist link Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
14e8226d1d
commit
9da48b88d8
4 files changed
+27
-9
No files matched your search
+2
-2
@@ -440,7 +440,7 @@ export async function loadAlbumDetail(album) {
|
||||
toast(`⬇ ${songs.length} Titel Download gestartet`);
|
||||
};
|
||||
sl.innerHTML = '';
|
||||
songs.forEach((s,i) => sl.appendChild(makeSongItem(s, i, songs)));
|
||||
songs.forEach((s,i) => sl.appendChild(makeSongItem(s, i, songs, { noArtistLink: true, noAlbumLink: true })));
|
||||
} catch(e) { sl.innerHTML = `<p style="color:var(--danger)">${e.message}</p>`; }
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@ export async function loadPlaylistDetail(pl) {
|
||||
playQueue(shuffled, 0);
|
||||
};
|
||||
sl.innerHTML = '';
|
||||
songs.forEach((s,i) => sl.appendChild(makeSongItem(s, i, songs)));
|
||||
songs.forEach((s,i) => sl.appendChild(makeSongItem(s, i, songs, { noArtistLink: true })));
|
||||
} catch(e) { sl.innerHTML = `<p style="color:var(--danger)">${e.message}</p>`; }
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user