8a0e6782ad5dc0ac7786a781747a6796ffcee72c
The Library showed a blocking error with the backend unreachable. Now it composes a read-only library from everything already in the RTK Query cache (Tier-2 rehydrated last-seen data + anything fetched this session), so it keeps rendering offline instead of erroring. - selectors: `selectLocalTracks/Albums/Artists` — memoized, union + dedupe across getTracks/getAlbums/getArtists, the per-album/artist list endpoints, and single-entity fetches; skips pending/rejected entries - LibraryPage: when offline, fall back to the composed lists (live data still wins online), filter client-side for search, show an offline banner, and never show the retry-only ErrorState - i18n: `library.offline.*` (en + ru) - test: selector composition / dedup / status filtering (3 cases) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rsbuild project
Setup
Install the dependencies:
npm install
Get started
Start the dev server, and the app will be available at http://localhost:3000.
npm run dev
Build the app for production:
npm run build
Preview the production build locally:
npm run preview
Learn more
To learn more about Rsbuild, check out the following resources:
- Rsbuild documentation - explore Rsbuild features and APIs.
- Rsbuild GitHub repository - your feedback and contributions are welcome!
Description
Languages
TypeScript
90.3%
CSS
6.1%
JavaScript
3.3%
Shell
0.3%