π New Features
File Operation Progress Tracking
- File Import/Export Progress Bar: Implemented a frontend progress bar to show real-time progress during file import and export operations, providing better user feedback
- IPC Communication for Progress: Added a new IPC channel (
onFileOperationProgress) to relay file copy progress from the main process to the renderer
Enhanced Search Functionality
- Fuzzy Search Implementation: Added fuzzy search capability with improved scoring logic using named weights configuration for better search relevance
- Improved Search Experience: Clearing the search term now instantly hides search results and reveals the previous page, eliminating full page reloads and preserving scroll position
Thumbnail Generation
- Video Thumbnail Creation: Implemented thumbnail generation for imported local video files using FFmpeg, replacing placeholder images with actual video thumbnails
Sleep Timer Improvements
- Sleep Timer Event Management: Fixed bug where setting a track-based sleep timer multiple times would create duplicate event listeners
- Sleep Timer Refactoring: Refactored SleepTimer logic into a SleepTimerManager class for better code structure and maintainability
π§ Improvements
Application Lifecycle
- Complete Process Termination: On application close, all processes are now properly terminated, including the tray icon, ensuring complete shutdown
- Process Management: Close button now ensures all background processes terminate when clicked
Downloader Reliability
- Intelligent Queue Management: The downloader now intelligently detects videos already present in the library. Instead of failing or re-downloading, it skips them and updates their "date added" timestamp, which is especially useful for refreshing playlists.
- Enhanced Error Reporting: Implemented specific and actionable feedback for common download failures. The app will now clearly state the reason for an error, such as a browser cookie database lock, instead of showing a generic "unknown error" message.
UI/UX Enhancements
- Settings Page Redesign: Redesigned file operation progress display in settings
- Header Improvements: Relocated sleep timer status indicator in the header for better visibility
- Smooth Dropdown Transitions: Added smooth animation to dropdown menus
- Audio Artwork Fullscreen: Made audio artwork display in fullscreen mode
Performance & Code Quality
- Search Performance: Optimized search functionality to prevent unnecessary page reloads
- Code Refactoring: Improved player.js readability and volume logic
- File Path Resolution: Fixed file path resolution for exports
π Bug Fixes
- Silent Download Failures: Fixed a critical bug where downloads would fail silently if a video was already logged in
yt-dlp's download archive, which often led to a "post-processing failed" error. The app now correctly handles all download states. - File Export Path Issues: Corrected file path resolution for exports
- Sleep Timer Duplicate Listeners: Fixed duplicate event listeners issue with multiple sleep timer settings
- Media Button Colors: Fixed clear media button color issues
- Search Functionality: Fixed file search and removed problematic custom output template
ποΈ Technical Changes
- Downloader Logic: Updated downloader logic to address YouTube server-side changes and removed the use of
yt-dlp's external download archive, making the application's internal database the single source of truth for download history. - FFmpeg Integration: Integrated FFmpeg for thumbnail generation
- IPC Channel Addition: Created new IPC channel for file operation progress updates
Full Changelog: 5.8.0...5.9.0