You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Apple Music listen links — resolved via Apple's free iTunes Search API (no credentials needed), with artist-name verification to avoid linking the wrong same-titled track.
Amazon Music listen links — always a plain search link, since Amazon has no public track-search API to verify against.
Album art fallback chain — when Last.fm has no art for a track (common on soundtrack/compilation scrobbles), falls back to Spotify, then Apple Music, before giving up. Applies to the Now Playing hero, Previously Played thumb, and every Favourite Tracks/Trending row.
Grammy Award badge — a small trophy icon on any track that's won a Grammy, resolved via grammy.com's own public artist search and per-artist nominations table. Deliberately conservative: only exact artist/track matches count, so a near-miss shows nothing rather than a wrong claim.
"Loved on Last.fm" heart badge — shown on the Now Playing hero, Previously Played card, and every track row, with a tinted circular badge so it stands out.
Fixed
The art hover-tooltip on the Now Playing hero and Previously Played thumb no longer opens above the top of the viewport and gets clipped — it now flips downward when there isn't room above.
A Chromium rendering bug where the Favourite Tracks/Trending panel's heading bled through that same tooltip whenever they overlapped (two backdrop-filter layers interacting badly) — fixed by briefly suppressing the blur on both sides while the tooltip is open, instead of reserving layout space or fighting z-index.
Performance
Cold-cache Favourite Tracks/Trending loads were taking up to 56 seconds once Grammy/art-fallback lookups were added per track. cron.php's existing pre-warming was extended to cover every period, bringing a warmed load down to 0.3 seconds.
Internal
Spotify's track search is now shared between the listen-link button and album-art fallback resolution (one API call instead of two per track).
Added Http::postJson() for JSON request bodies (previously form-encoded only).