Repository navigation
Linked names stage 1: artist and album names link everywhere (MAD-837, MAD-838) - #68
Merged
Merged
Conversation
ArtistLink, ArtistLinks and AlbumLink replace track-credits. A name links straight to its page when the link it came from is one you can use. Otherwise, tapping it looks it up by name on your services through the new GET /resolve/artist and /resolve/album, your own links before shared ones. When none has it, you get a search for the name. Guests can use them too. Now playing closes on any page change, so links inside it, or in its queue, don't open the page behind it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Artist and album names now link in queue rows (up next, recently played, my lane, history and stats), track rows (search, album, artist, genre and playlist pages), Syncphony playlists, the album page header, liner notes, and Discover's feed and release cards. Left as plain text: the TV and visualizer (no pointer), game screens, the Wrapped story (taps move between screens), album cards (already a link to the album), and the mini-player (one tap target that opens now playing). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 1 of Phase 13 (MAD-836): every artist and album name in the app opens its page, including up next and recently played in the full-screen player, wherever the song came from.
MAD-837: Shared links and cross-service lookup
components/linked-names.tsx:ArtistLink,ArtistLinks(one link per credited artist) andAlbumLink. They replacetrack-credits.tsx, which only the now-playing sheet and room page used./artist/$linkId/$artistIdor/album/$linkId/$albumId.GET /resolve/artist?name=searches your links for an exact name match (match.Simplify), your own links before shared ones, all at once.GET /resolve/album?title=&artist=does the same for an album, matching title and artist (newartistpage.AlbumElsewhere).hrefis the search, so a modifier-click opens that in a new tab.Search.AppShelllistens foronBeforeNavigate). Links inside the sheet and its queue don't need to close it themselves.MAD-838: The sweep
Names now link in:
QueueRow).Left as plain text, on purpose:
Testing
go test ./...,golangci-lint(0 issues), and webpnpm test(260), typecheck, lint and build all pass.TestAlbumElsewhere.TestResolveArtistAndAlbum: own link preferred over a shared one, wrong artist is a 404, partial names don't match, blank name is a 400.lib/names.test.ts.linked-names.test.tsx: direct link, lookup on tap, and search fallback.TrackRowandReleaseCardnow render links, so their tests mount inside a small memory router (src/test/router.tsx).🤖 Generated with Claude Code