Skip to content

Conversation

@Alexander5015
Copy link
Member

@Alexander5015 Alexander5015 commented Dec 1, 2025

  • Fixes issues with innacurate menu bar and notch height modes
  • Hides notch window from Mission Control on notchless displays to prevent blocking underlying UI
  • Remove corner radius scaling (as defined before) and replaces it with closed notch corner radius scaling (WIP)
  • Fixes Safari tabs triggering expanded notch detection
  • Reduces memory usage
  • Improves Shelf performance
  • Improves music visualizer performance

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the codebase for better maintainability and improves UX through:

  • Extracting lyrics functionality into a dedicated LyricsService for better separation of concerns
  • Splitting monolithic settings file into separate view files for each settings section
  • Removing deprecated music visualizer customization features
  • Improving performance through better caching, debouncing, and concurrent processing
  • Simplifying APIs and standardizing animations
  • Fixing corner radius scaling behavior and notch height synchronization

Key Changes

  • Code Organization: Settings views split from 1700+ line file into separate files per section
  • Service Extraction: Lyrics logic moved from MusicManager to dedicated LyricsService with caching
  • Performance: Improved thumbnail caching with NSCache, debounced shelf persistence, concurrent drop processing
  • Feature Removal: Removed custom music visualizer (Lottie) support, simplified corner radius scaling
  • Bug Fixes: Synchronized notch height on app launch/screen changes, improved bookmark handling

Reviewed changes

Copilot reviewed 51 out of 55 changed files in this pull request and generated no comments.

Show a summary per file
File Description
boringNotch/managers/LyricsService.swift New service extracting lyrics functionality with caching and improved error handling
boringNotch/managers/MusicManager.swift Refactored to delegate lyrics to LyricsService
boringNotch/components/Settings/Views/*.swift Settings UI split into separate files for maintainability
boringNotch/sizing/matters.swift Added helper functions for notch height synchronization
boringNotch/components/Shelf/Services/ThumbnailService.swift Improved caching using NSCache instead of dictionary
boringNotch/components/Shelf/ViewModels/ShelfStateViewModel.swift Added debounced persistence to reduce I/O
boringNotch/components/Shelf/Services/ShelfDropService.swift Concurrent processing of dropped items
boringNotch/models/Constants.swift Centralized notification names with better organization
boringNotch/ContentView.swift Improved corner radius scaling and standardized animations
boringNotch/components/Music/MusicVisualizer.swift Enhanced audio spectrum visualization
boringNotch/observers/DragDetector.swift Fixed drag validation logic
boringNotch/boringNotchApp.swift Added flush on termination, centralized notification cleanup
Multiple asset/localization files Removed unused assets and localization strings

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Alexander5015 Alexander5015 marked this pull request as ready for review December 1, 2025 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant