Skip to content

feat(genre-tree)!: page genre playlist tracks lazily - #133

Merged
Andreas-Garcia merged 2 commits into
developfrom
feature/lazy-track-list-pages
Sep 28, 2026
Merged

Andreas-Garcia merged 2 commits into
developfrom
feature/lazy-track-list-pages

Conversation

@Andreas-Garcia

Copy link
Copy Markdown
Member

Summary

Genre-playlist play no longer downloads the full playlist detail (thousands of tracks with nested playlists). It pages GET {me/}genre-playlists/{uuid}/tracks/ (100 per page, served by grow API v8.2.0 / hear API v5.2.0) and loads more lazily. Breaking → app-kit 8.0.0.

Changes

  • TrackListProvider fetches pages itself with its schema; playNewTrackListFromGenrePlaylist(genrePlaylist, scope) is async and ignores superseded requests (including their failures).
  • loadMore() on useTrackList(): in-flight guard, dedupe, and it ignores stale-origin and stale-closure pages. The provider auto-loads when the selected track is within 10 tracks of the end.
  • TrackList gains total/nextPage. TrackListSidebar shows the total and infinite-scrolls using an IntersectionObserver sentinel.
  • Removed: TrackBase.playlists, trackPlaylistRelations from CriteriaPlaylistDetailedSchema, makeCriteriaPlaylistDetailedSchema, CriteriaPlaylistDetailedLike, useFetchGenrePlaylistDetailed, and GenreTreeView's criteriaPlaylistDetailedSchema prop.
  • Added genrePlaylistEndpoints.tracks(uuid) and makeTrackPlaylistRelPageSchema.
  • Playground updated.

Test plan

  • pnpm lint && pnpm build && pnpm test (586 tests, coverage thresholds met)
  • Consumers: grow-frontend/hear-frontend drop the criteriaPlaylistDetailedSchema prop after the 8.0.0 release.

🤖 Generated with Claude Code

Andreas-Garcia and others added 2 commits September 29, 2026 00:15
Play fetches {me/}genre-playlists/{uuid}/tracks/ page by page instead of
the playlist detail; the track list auto-loads near the end and the
sidebar infinite-scrolls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
app-kit-playground Error Error Sep 28, 2026 10:21pm UTC

@Andreas-Garcia
Andreas-Garcia merged commit 6229ea9 into develop Sep 28, 2026
3 of 4 checks passed
@Andreas-Garcia
Andreas-Garcia deleted the feature/lazy-track-list-pages branch September 28, 2026 22:25

This branch had an error being deployed

1 failed deployment
Preview — dfc6f187 Deployed Sep 28, 2026 by vercel[bot]
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