Update spotify-player
extension — 'Your Library' command: fetch ALL liked tracks - needed for proper functionality
#16335
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The 'Your Library' command needs your entire library dataset for accurate search results.
Spotify's API has limits:
This requires a balanced consideration of UX, performance, and API constraints. I implemented infinite fetching and caching to solve this.
Solution
Overview
Implementation Details
1. Data Fetching
2. Caching
me/tracks
cmd + r
3. Response Model + Memory Optimization
Minimized data structure:
4. UX Improvements
5. Miscellaneous
Title | Artists | Duration
Known Issues
Memory Management
Data minimization limitations may require:
Current solution supports ~2,000 songs (verified)
Development Issues
UI/UX Challenges
Progress/Loading State
Search Results
Performance
Error Handling
Cache Validation
Limitations:
100% of the changes in this PR are AI-generated (except this one!). 🍾🤯 EDIT: not anymore!
Related
Closes #14663 and provides a half-solution for #7222.
Explore the full commit history here: https://github.com/inducingchaos/raycast-spotify-extension
Checklist
npm run build
and tested this distribution build in Raycastassets
folder are used by the extension itselfREADME
are placed outside of themetadata
folder