Release v0.4.1
📝 Changelog
Minor Changes
- Added playlist browsing and add-to-playlist functionality
- Added "Playlists" option to right-click context menu for browsing user playlists
- Created PlaylistView to browse playlists and play tracks from them
- Added "+" button to LayoutB for adding the current song to any playlist
- Implemented AddToPlaylistModal component for quick playlist selection
- Added Spotify API functions for fetching playlists and adding tracks
- Integrated TOON format for AI DJ tool responses to reduce LLM token usage
- Added @toon-format/toon dependency for Token-Oriented Object Notation encoding
- Updated all Spotify tool responses to use TOON format for track and artist data
- Track data now uses compact format: n=name, a=artists, u=uri
- Artist data now uses compact format: n=name, g=genres, p=popularity, id=artistId
- Updated AI DJ system prompt to explain TOON format parsing
- Expected token savings of 30-50% on structured data responses
- Added Discord Rich Presence integration
- Shows currently playing track on Discord profile
- Toggle in Settings → Connections to enable/disable
- Displays: Track name, Artist, "Listening to MiniFy"
- Automatically updates when track changes or playback pauses
- "View on GitHub" button linking to the MiniFy repository
- AI Queue indicator: Shows "Artist • AI Queue" when AI Queue is active
- Enabled by default
- Enhanced AI DJ with automatic user context and privacy transparency
- AI DJ now automatically sends user context with each message for better recommendations:
- Display name, current time, currently playing track
- Recent tracks (last 15), top artists with genres
- Added privacy notice in Settings → Privacy explaining what data is sent to LLM providers
- AI Queue info box now updates in real-time showing correct "Next" track and remaining count
- Queue monitoring interval reduced from 5s to 3s for faster updates
- AI DJ now automatically sends user context with each message for better recommendations:
- Added AI Queue feature for endless automated playlists
- New AI Queue mode that generates continuous playlists based on listening history
- Analyzes last 30 played tracks and top artists using TOON format (saves ~40% tokens)
- Automatically queues 5 tracks at a time with smart prefetching
- Caches user preferences for 10 minutes to minimize API calls
- Red border indicator when AI Queue is active (shows token usage)
- Toggle in Settings > AI DJ to disable the border warning
- Queue button in AI DJ view to start/stop the feature
- Uses compact TOON data format for efficient LLM communication
- Performance optimizations and Volume control feature
- New Volume control accessible via right-click menu
- Slider for precise volume adjustment (debounced for smooth operation)
- Preset buttons for quick volume levels (Mute, 25%, 50%, 75%, 100%)
- Shows current playback device name
- PlaylistView: Implemented lazy loading - loads 30 tracks initially, loads more on scroll
- Added lazy loading for album art images (
loading="lazy") - SpotifyClient optimizations:
- Token caching to avoid repeated Tauri invocations
- Request deduplication for concurrent identical GET requests
- Fire-and-forget pattern for player controls (play, pause, next, prev)
- Debounced seek to avoid API flooding during scrubbing
- AI Queue auto-stops when user manually starts a different song
- TOON format verified across all AI-related code for token efficiency
- New Volume control accessible via right-click menu
Patch Changes
- Code cleanup and improvements
- Replaced dynamic imports with static imports in aiQueueService for better performance
- Added error handling for AI suggestion JSON parsing with descriptive error messages
- Fixed stale closure issue in PlaylistView loadMoreTracks callback
- Removed unused SplashScreen component and related CSS animations
- Removed unused ContextMenu component
- Fixed linter warnings in keyboard shortcuts switch statement
- Added keyboard shortcuts for quick navigation
- Ctrl+S: Open Search
- Ctrl+P: Open Playlists
- Ctrl+E: Open Settings
- Ctrl+M: Open Volume Control
- Ctrl+D: Open AI DJ (when configured)
- Escape: Return to player view
Shortcuts are displayed in the right-click context menu.
📦 Commits since v0.4.0
- feat: add discord_rpc_enabled setting to readSettings function (6acc54a)
- refactor: improve AI queue and playlist handling (bdfac29)
- feat: integrate AI Queue and Discord RPC features (f4b2319)
- chore: update development URLs in env.example (76356be)
- chore: update README to include Discord link (e0f5be1)
- chore: refine Dockerfile for MiniFy Docs build process (bb7e04d)
- chore: update Dockerfile for improved asset handling (94bc15a)
- chore: update Dockerfile and .dockerignore for improved build process (d3c490d)
- chore: delete changesets after release v0.4.0 (b5856ee)
This release was generated automatically using GitHub Actions.