Release v8.4.1 - #173
Release v8.4.1#173
Conversation
Release v8.4.0 (merge back into develop)
grow-api clamps pageSize to 100, so the canonical list (~1800 playlists) took 18 sequential round-trips. Request the real max and fetch pages 2..totalPages concurrently once page 1 reports the count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-playlist-pages perf(genre-tree): fetch full genre playlist pages in parallel
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It is a publish-triggering release PR into main whose behavior change depends on grow-api's totalPages contract, which cannot be verified from this repo, so final human sign-off is warranted.
Review effort: Balanced
Findings: None
What changed in this PR
This is the routine v8.4.1 release PR (machine-generated by scripts/release.sh) targeting main. It bumps the package version and cuts the [Unreleased] changelog section, picking up one behavior change merged into develop since 8.4.0: useListFullGenrePlaylists now requests pageSize=100 (grow-api's clamp max) and fetches pages 2..totalPages in parallel instead of walking next sequentially, reducing full-list load latency from one round-trip per page to two waves.
Changes:
fetchAllPagesreworked to readtotalPagesfrom page 1, then fetch the remaining pages concurrently withPromise.all, flattening results in page order;FULL_LIST_PAGE_SIZElowered 1000 → 100.- Tests updated to assert
pageSize=100, plus new cases for the single-page path and for multi-page fetching with in-order merging. - Version bump to
8.4.1and matchingCHANGELOG.mdentry.
| File | Description |
|---|---|
packages/app-kit/src/genre-tree/useGenrePlaylist.ts |
Parallel page fetching via totalPages; page size lowered to grow-api's 100 max; explanatory + ponytail notes. |
packages/app-kit/src/genre-tree/useGenrePlaylist.test.ts |
Updates pageSize expectations to 100; adds single-page and ordered multi-page coverage. |
packages/app-kit/package.json |
Version bump 8.4.0 → 8.4.1. |
CHANGELOG.md |
New [8.4.1] - 2026-10-02 entry under Changed describing the genre-tree behavior change. |
Notes from verification: fetchAllPages safely handles totalPages of 0 or undefined (Math.max/ToLength yield an empty rest array), preserves page order (Promise.all is order-preserving), and the returned object still satisfies PaginatedResponseSchema. The ponytail note on the unbounded Promise.all is an intentional, acknowledged deferral per repo convention. Decoupling, export wiring, changelog, and publishing rules are all respected.
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Release v8.4.1 (8.4.0 -> 8.4.1). After this merges, run
pnpm tag-releaseonmainto tag and trigger the publish workflow, then merge the companion PR intodevelop.