Add Music Library Hub - Unified Search, Browse, and Queue Management#7
Add Music Library Hub - Unified Search, Browse, and Queue Management#7
Conversation
…nd queue management Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
…ch limit message Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
YoeriVD
left a comment
There was a problem hiding this comment.
@copilot 19:44:28 The List view is changing an uncontrolled search bar to be controlled. This is likely caused by the searchText changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled search bar element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components
YoeriVD
left a comment
There was a problem hiding this comment.
@copilot Error: API error: 500 Internal Server Error - Internal server error
MusicAssistantApi.sendCommand:music-assistant-api.ts:116:14
113:
114: if (!response.ok) {
115: const errorText = await response.text();
116: throw new Error(API error: ${response.status} ${response.statusText} - ${errorText});
117: }
118:
119: const data = await response.json();
Co-authored-by: YoeriVD <2865793+YoeriVD@users.noreply.github.com>
Fixed! Changed |
This is a 500 Internal Server Error from the Music Assistant server, not a client-side code issue. To help diagnose this, could you provide more context:
The error suggests the Music Assistant server is having trouble processing the request. It could be:
If you can share which action triggers it, I can check if there's a code workaround or better error handling needed. |
Description
Adds a comprehensive Music Library Hub command providing unified access to Music Assistant's library through a tab-based interface.
Four Main Tabs:
API Methods Added (15 total):
Implementation Details:
music-library-hub.tsxmusic-assistant-client.tsuseCachedPromiseanduseCachedStategetSelectedQueueID()Bug Fixes:
getStoredQueueID()with proper asyncgetSelectedQueueID()Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare located outside the metadata folder if they were not generated with our metadata toolOriginal prompt
This section details on the original issue you should resolve
<issue_title>Music Library Hub - Unified Search, Browse, and Queue Management</issue_title>
<issue_description>## Description
Add a comprehensive "Music Library" command providing unified access to Music Assistant's library with four main features:
This is a complex view command with multiple tabs for power users who want deeper library exploration from the launcher.
Priority
P1 - Tier 2
Story Points
13
Effort Estimate
6-8 hours
Acceptance Criteria
General
Search Tab
Browse Tab
Recently Played Tab
Queue Manager Tab
Implementation Notes
src/manage-player-groups.tsxfor tab structuresearch()- Search library (text query)getLibraryArtists()- List library artists with paginationgetLibraryAlbums()- List library albums with paginationgetLibraryPlaylists()- List library playlists with paginationgetLibraryPlaylistTracks()- Get tracks in specific playlistgetLibraryArtistAlbums()- Get albums by artistgetLibraryAlbumTracks()- Get tracks in albumgetRecentlyPlayedItems()- Get recently played itemsgetPlayerQueueItems()- Get current queue itemsqueueCommandDelete()- Remove item from queuequeueCommandMoveItem()- Reorder queue itemsqueueCommandClear()- Clear entire queuesrc/music-library-hub.tsx(new file)package.jsonto add command entry for music-library or libraryArchitecture Notes
Performance Considerations
Testing
Stretch Goals (Future Enhancements)
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.