feat(ui): command palette uses server-side book search #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "bd-grimmory-n55.6"
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
Bead: grimmory-n55.6 (part of epic grimmory-n55 — Scale to tens of thousands of books)
command-palette.service.tsfilteredthis.bookService.books()in memory, which only works while the full catalog is loaded client-side. The epic's goal is to retire that global signal, so the palette switches to server-side search via the existingAppBooksApiService.searchBooksendpoint.What changed
command-palette.service.ts: 150ms debounce,size=20cap,keepPreviousDatafor stale-while-loading. Preserves keyboard navigation, grouped sections, and select-to-navigate.isSearchingreflects both debounce-pending and in-flight state.command-palette.service.spec.ts: rewritten withHttpTestingController. Covers debounce coalescing (no per-keystroke fetch), empty/1-char no-network, graceful error handling, selection-navigates, audiobook thumbnails.Test plan
develop(unrelated to this PR).just ui check— not run by agent; CI will verify.