Add an alphabet index to the library page #15
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/library-alphabet-index"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Écho→E), and rendering stays chunked (renderGroupedTilesInChunks, mirroringtiles.ts's ownrenderTilesInChunks) so a 1000+-item library doesn't block the main thread just because it's sectioned now too..libraryHeaderand the shell's.bottomStack(ResizeObserver, not a guessed constant) so neither the header wrapping to two lines nor a listen party's music bar floating at the bottom (desktop included) ever sits under/behind them.renderLibrarychanged shape to the synchronous-wrapper-returning-a-CleanupFnpatternviews/player/Player.tsalready uses, since the rail'sResizeObservers andwindowscroll/resize listeners need real teardown when navigating away — otherwise the exact leak class this app already fixed once elsewhere.Base branch note: this stacks on
feature/library-sticky-header(uses its.libraryHeader/Library.css), notmaster— that PR (#14) is still open. Per CLAUDE.md's sequential-PRs rule, this avoids two branches independently touching the same new files.Test plan
npm run typecheck(client) — cleannpm run build(client) — cleanalphaIndex.tsalone (deleted after) driven inside a page reproducing the real Shell/Library DOM + real compiled CSS.setPointerCaptureonly proves out under real input) on a rail letter jumped and highlighted correctly, zero console errors.ResizeObservers were actually disconnected.🤖 Generated with Claude Code