Skip to content

v1.2.5-test

Pre-release
Pre-release

Choose a tag to compare

@gottesman gottesman released this 23 Sep 06:18
· 6 commits to tauri since this release

Release v1.2.5-test: Picture-in-Picture Mode, Player Optimization, and Enhanced User Experience

πŸš€ Major Features & Improvements

Picture-in-Picture (PiP) Mode

  • βœ… Full PiP Implementation: Complete Picture-in-Picture mode with seamless window transitions
  • 🎯 Smart Position Memory: Automatic window position persistence and restoration between PiP modes
  • 🎨 Smooth Transitions: Elegant opacity animations (0.3s) to prevent visual glitches during mode changes
  • πŸ“Œ Always-On-Top Integration: Pin button in title bar with keep/keep_off icons for window control
  • ⚑ Optimized Window Management: Efficient Tauri window API integration with proper state handling

Component Architecture Optimization

  • πŸ”§ Massive Code Reduction: Unified Player component eliminates 95% code duplication between MainPlayer and SmallPlayer
  • πŸŽ›οΈ Variant-Based Design: Single Player component with 'main'/'small' variants using conditional rendering
  • πŸ“¦ Shared Utilities: Extracted PlayerUtils.tsx for common functionality and event handlers
  • πŸš€ Performance Gains: Reduced bundle size from 1,380+ lines to ~560 lines in player components

Queue System Enhancements

  • πŸ”„ Automatic Track Fetching: Implemented useMissingTrackFetcher hook for seamless metadata loading
  • πŸ“‚ Database Integration: Enhanced queue items with Spotify API caching and merged track data
  • ⚑ Loading State Management: Eliminated "Loading..." placeholders with proactive data fetching
  • 🎡 Smooth User Experience: Queue items now display complete track information immediately

User Interface Improvements

  • 🎨 Lyrics Performance Optimization: Enhanced CSS with GPU acceleration and smoother animations
  • πŸ“± Responsive Design: Improved layout handling for different screen sizes and modes
  • ✨ Visual Polish: Better transitions, typography improvements, and enhanced readability
  • 🎯 Context Menu Enhancements: Improved user interaction patterns throughout the application

🎡 PiP Mode Technical Details

Window Management

  • Position Tracking: Automatic save/restore of window coordinates
  • Size Optimization: Smart resizing for optimal PiP viewing experience
  • State Synchronization: Seamless data flow between PiP and main window modes
  • Memory Efficiency: Proper cleanup and resource management during transitions

Always-On-Top Functionality

  • Pin Toggle: Dedicated button in title bar for easy access
  • Visual Feedback: Clear icon states (keep/keep_off) indicating current mode
  • Integration: Deep integration with PiP mode for enhanced workflow
  • Tauri API: Leverages native window management capabilities

πŸ› Bug Fixes

  • Fixed queue items stuck displaying "Loading..." text
  • Resolved player component code duplication issues
  • Eliminated visual glitches during PiP mode transitions
  • Improved window state management edge cases
  • Enhanced error handling in track metadata fetching

⚑ Performance Improvements

  • Lyrics Rendering: GPU-accelerated animations with optimized CSS transforms
  • Component Loading: Faster initialization with shared utility functions
  • Memory Usage: Reduced memory footprint through code consolidation
  • Transition Smoothness: Optimized opacity and transform animations for fluid experience

οΏ½ Technical Architecture

  • Component Unification: Single source of truth for player functionality
  • Hook Optimization: Custom hooks for data fetching and state management
  • TypeScript Enhancement: Improved type safety across player components
  • CSS Performance: Modern CSS features for hardware acceleration

🎨 UI/UX Enhancements

  • Seamless Mode Switching: Intuitive PiP toggle with visual feedback
  • Responsive Layout: Adaptive design for different window modes
  • Enhanced Typography: Improved readability in lyrics and UI text
  • Visual Consistency: Unified design language across all components

πŸ“¦ Technical Improvements

  • Player component architecture completely refactored for maintainability
  • Enhanced data flow patterns with optimized React hooks
  • Improved CSS performance with modern animation techniques
  • Better error handling and loading state management
  • Comprehensive TypeScript type coverage for new features

πŸ”„ Breaking Changes

  • None - All changes are backward compatible

🎯 Developer Experience

  • Code Maintainability: Significantly reduced codebase complexity
  • Development Speed: Faster iteration with shared component architecture
  • Type Safety: Enhanced TypeScript coverage for new PiP features
  • Performance Monitoring: Better debugging capabilities for window management

πŸ“‹ Notes

  • Version bump to 1.2.5-test
  • Major focus on user experience and performance optimization
  • PiP mode ready for production testing
  • Comprehensive player component refactoring complete
  • Enhanced queue system with proactive data loading
  • All new features designed with accessibility and performance in mind

This release provides users with a modern, efficient, and highly polished music streaming experience through innovative PiP functionality and dramatically optimized codebase architecture.