- Explicit/clean track filtering with configurable explicitMode per channel
- Last.fm spell correction and smart dual-strategy iTunes search
- Configurable queuedReplyMode and announceReplyMode (channel/private/notice)
- Per-channel announceApproved/announceRejected/announceNowPlaying toggles
- Bulk select mode for mass approve/reject/mark-played in web dashboard
- Comprehensive README rewrite covering all current features and config
Made-with: Cursor
Reposition approve/reject/played buttons as absolute top-right overlay
on each card. Add Mark Played buttons to alternate match cards with a
new play-alt API endpoint, and right-align all alternate action buttons.
Made-with: Cursor
When enabled, skips the IRC disambiguation prompt and immediately
queues the top result. Remaining matches are stored as alternates
visible in the web dashboard with approve buttons.
Made-with: Cursor
Dashboard features round:
- Toggle label text for requests open/closed state
- URL-based channel routing (hash and path)
- Day/night/system theme with localStorage persistence
- Larger typography and album art across the app
- Session management with start/stop, archiving, and history
- Auto-approve config option per channel
- Mobile responsive layout for all new components
UX polish round:
- Auto-switch to history tab when queue empties
- Toast notifications and queue tab pulse for new requests
- Themed modal dialogs replacing native confirm/prompt calls
Database: new sessions table, session_id column on requests,
migration ordering fix for existing databases.
Made-with: Cursor
IRC song request plugin with iTunes validation, HTMX web dashboard,
WebSocket real-time updates, moderation, rate limiting, and history.
Made-with: Cursor