mirror of
https://github.com/markuryy/shark.git
synced 2025-12-12 11:41:02 +00:00
2.8 KiB
2.8 KiB
Changelog
[0.1.0] - 2025-10-05
🎉 First Alpha Release
This is the very first usable build of Shark! - a retro Windows 98-styled music player and downloader. It's rough around the edges and likely contains uncaught bugs, but the core functionality is working.
Features
Local Library Management
- SQLite-backed library cache with automatic scanning
- Album views with cover art
- Track listing and playback
Music Player
- Now playing panel with playback controls
- Volume control with triangle slider
- Queue tracks from context menus
- Can show synced lyrics when the window is enlarged
- Can be hidden or shown
Deezer Integration
- Browse and download user favorites (tracks, albums, playlists)
- Search for tracks, albums, and artists
- Playlist caching with SQLite
- Alternative format fallback for unavailable lossless content
Download Queue
- Track and playlist downloads progress
- Automatic audio decryption
- Metadata tagging (ID3 for MP3, FLAC tags)
- Cover art embedding
- Existence checks to avoid re-downloading
Lyrics
- Automatic lyrics fetching during downloads
- LRCLIB integration for manual lyric fetching
- Scan library for missing lyrics
UI/UX
- Windows 98 (ish) dark theme throughout
- Custom window decorations for OS parity
- Bottom status bar for notifications
- Onboarding prompts for folder selection
- Double-click interactions
Known Limitations
- This is an early version - expect bugs and rough edges
- Limited error handling in some edge cases
- UI polish needed in various areas
- Some features may not work as expected
- Breaking changes likely in future releases
- Lack of loading state means pages initially show no data
- No dynamic routes for artists (yet)
Known Bugs
- Context menus show inappropriate options sometimes
- Now Playing section causes layout jitter on nav
- Now Playing section causes title bar vertical shift
- Batch lyrics downloading is less reliable than individual
- Track scrubbing causes lyrics desync
- Stopping (not pausing) a track and starting the same one resumes progress
- Album year is not populated in Library table
- Not all tables clip text overflow in certain columns
- Album fetching edge cases (
Doja CatandK/DA) - Download interruptions don't always clean up temp files
- LRCLIB service page indexes temp folder
Technical Details
- Built with Tauri 2 + SvelteKit 2 + Svelte 5
- Rust backend for audio processing and decryption
- SQLite for caching and library management
- File-based storage (FLAC/MP3 + metadata)
- Playlists are stored as .m3u8 files with relative paths to tracks
Notes
This release represents 5 days of development and ~80 commits. The app is functional enough for basic use but still has plenty of rough edges. Use at your own risk and expect possible breaking changes as development continues.