Skip to content

feat(ui): community playlist and daily discover cards - #421

Merged
Pyrexus merged 14 commits into
Clash-Projects:mainfrom
Pyrexus:feat/ui-community-and-daily-discover-cards
Oct 25, 2026
Merged

Pyrexus merged 14 commits into
Clash-Projects:mainfrom
Pyrexus:feat/ui-community-and-daily-discover-cards

Conversation

@Pyrexus

@Pyrexus Pyrexus commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Community playlists and daily discover cards

Home now selects the two large card styles from YouTube Music's renderer and endpoint data. Community cards fetch one playlist page when visible, cache the result for the Home session, and share a two-request limit. Playlist play, song play, Play all, navigation and track menus use the existing handlers.

The branch is rebased on upstream 9de6745. Home UI points 1 and 2 are ancestors of that base; fix/queue-refill-size-and-feed-tap is not. Six commits are retained without squashing.

Data verified against the supplied captures

  • Community items are square musicTwoRowItemRenderer objects with a VL… playlist browse endpoint and a first subtitle run linking to MUSIC_PAGE_TYPE_USER_CHANNEL. Home supplies no preview songs. Shelf titles do not participate in detection.
  • The playlist response contains 13 responsive song rows. The header is musicResponsiveHeaderRenderer, with 13 tracks in secondSubtitle. The preview reads three songs and scans further rows for four distinct covers. It does not follow continuations or include recommendations.
  • Daily items are square two-row songs with watch endpoints. Their item endpoints contain RDAMVM<videoId> and wAEB; the header's Play all watch endpoint has a video ID and params, but no playlist ID. The captured covers have 226px and 544px variants; the large card selects 544px.
  • The separators are • rather than double spaces. The captured playlist's first three entries are uploaded videos with USER_CHANNEL uploader names, 400×225 thumbnails, and no play counts. Their secondary line therefore shows the uploader only.
  • None of the nine captured daily items has a caption. The UI does not create one. Captions are displayed only when the existing parser supplies a real caption field.
  • The Home capture contains community, New releases and daily shelves. Normal-playlist and responsive Quick picks negatives are explicitly documented mutations of the captured excerpts.

Sanitized excerpts are in app/src/test/resources/home_cards/; tracking, logging, menus and session data are omitted.

@Pyrexus
Pyrexus merged commit 044b0f3 into Clash-Projects:main Oct 25, 2026
1 check failed
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.

1 participant