Skip to content

Show genres on detail pages and fill them on scrobble - #1311

Open
crimsonsunset wants to merge 5 commits into
dannyvfilms:latestfrom
crimsonsunset:fix/music-genres
Open

crimsonsunset wants to merge 5 commits into
dannyvfilms:latestfrom
crimsonsunset:fix/music-genres

Conversation

@crimsonsunset

@crimsonsunset crimsonsunset commented Sep 25, 2026 •

Copy link
Copy Markdown

Summary

Music artist, album, podcast, and episode pages store genres and were not rendering them. Artist, album, and podcast pages now show those chips. An episode page shows the parent show's genres, which season metadata already copies down.

Scrobble fill is unchanged from the first commits: an album saved with no genres is filled from its MusicBrainz release group, and a play with no album genres falls back to the artist. After that, the first non-empty genre list is copied onto the artist, album, track, and play rows that are still empty. An album page with no album genres shows the artist's.

Rebased onto current latest.

Changes overview

In ticket / planned scope

  • Render the genre chips the artist page already built from MusicBrainz, and register that sidebar section
  • On scrobble, fill an empty album from its MusicBrainz release group, then resync the play
  • Fall back to the album artist's genres when the album still has none
  • Store that matched list on the related rows that are still empty

Added while implementing

  • Render album.genres on the music album page and register the album sidebar section
  • Render show.genres on the podcast show page
  • Render season_metadata.genres on the episode page
  • Album pages fall back to the artist genres for display when the album list is empty

What ships

Area What
Artist page Genre chips in the sidebar
Album page Stored album genres, or the artist's when the album has none
Podcast page Stored show genres under the title
Episode page Parent show genres
Scrobble Album release-group fill, artist fallback, then copy onto empty related rows

Key technical decisions

  • Display reads stored names. The artist page still uses the MusicBrainz list the view already built when the chips come from the provider payload
  • Episode pages do not invent a genre field. Season metadata already sets genres from the show
  • A row that already has genres is left alone when the matched list is copied

Test plan

  • Artist, album, and podcast pages show genre chips
  • An episode page shows the parent show's genres
  • A scrobble whose album has no genres picks up the release group, then the artist
  • Those names land on the album, track, and play when those rows were empty
  • An album with no genres of its own shows the artist's on the album page

Related

  • Brought up to date with latest and the genre-match commit added

Screenshots

music-artist
Before After
desktop, light
desktop, dark
phone, light
phone, dark
music-album
Before After
desktop, light
desktop, dark
phone, light
phone, dark

@crimsonsunset crimsonsunset changed the title Show music genres on artist pages and fill them on scrobble Show genres on detail pages and fill them on scrobble Sep 25, 2026

Copy link
Copy Markdown
Owner

Thanks for this! Genres now show on several detail pages (album, artist, episode, podcast), so could you add before/after screenshots, or a short screen recording, to the PR description?

If an AI agent did the work, screenshots of the running app (or a link to a published artifact page that shows them) are expected. The updated PR template in #1403 has a short section for this.


Generated by Claude Code

@crimsonsunset

Copy link
Copy Markdown
Author

Added screenshots to the description: desktop and phone, light and dark, before and after where the page already existed.

- The artist view already built genre_chips from MusicBrainz, but the
  template never rendered them.
- Register a Genres sidebar section for music_artist so the layout
  settings can show and reorder it.
- After the write transaction, fill an album saved without genres from
  its MusicBrainz release group, then resync the play.
- Plays fall back to the album artist's genres when the album has none.
- Store artist genres from scrobbles as names, matching the artist page,
  instead of raw MusicBrainz genre objects.
Album and podcast show rows already store genres, but those detail
pages never rendered them. Register the album sidebar section the
same way artist pages already do.
Season metadata already copies the show's genres. The episode page
never rendered them.
- Copy the first non-empty list onto the related rows that are still empty, including after a listen hook writes one.
- Show artist genres on the album and artist pages when the album itself has none.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants