Skip to content

✨ Approachable concurrency + Lots of code refactoring#1015

Merged
SenpaiHunters merged 26 commits into
developfrom
concurrency-and-improvements
Jan 29, 2026
Merged

✨ Approachable concurrency + Lots of code refactoring#1015
SenpaiHunters merged 26 commits into
developfrom
concurrency-and-improvements

Conversation

@mrkai77

@mrkai77 mrkai77 commented Jan 22, 2026

Copy link
Copy Markdown
Owner
  • Enabled approachable concurrency (SWIFT_APPROACHABLE_CONCURRENCY) for all build configurations
  • Updated SwiftFormat configuration for 0.59.0
  • Introduced @Loggable macro across all types that use Scribe to simplify logging
  • Introduced ResizeContext struct to encapsulate window resize state (window, screen, action, parent action, mouse position, etc.) so that all parameters no longer need to be individually passed in
  • Centralized window action execution through new WindowActionEngine.shared.apply() method - this now takes in the ResizeContext to commit actions. WindowEngine is now specifically for the resizing/moving of windows, while WindowActionEngine handles everything else (toggling fullscreen, hiding, minimizing, focusing windows etc.)
  • Created WindowActionIndicatorService to manage preview and radial menu display for LoopManager based on user settings. This could also potentially be helpful in case we add more indicators in the future.
    • Changed default preview starting position from .screenCenter to .actionCenter
  • New setting: hideUntilDirectionIsChosen -> hideOnNoSelection - now radial menu can be set to be hidden when its "selected" direction is .noSelection.
    • New data patch (changeTohideOnNoSelection) to migrate old setting to the new one
  • Updated PaddingModel -> PaddingConfiguration naming, as it gained some more buisness logic!
  • Changed screen frame methods: stageStripFreeFrame -> safeScreenFrame, added cgSafeScreenFrame, as these were ambiguous before.
  • Added LaunchAtLoginManager to handle login item registration/unregistration, both during app launch and when the user toggles the setting, to better ensure the setting's persistence.

@mrkai77 mrkai77 self-assigned this Jan 22, 2026
# Conflicts:
#	Loop.xcodeproj/project.pbxproj
#	Loop/App/AppDelegate.swift
#	Loop/Icon/IconManager.swift
#	Loop/Updater/Updater.swift
#	Loop/Updater/Views/UpdateView.swift
@mrkai77 mrkai77 force-pushed the concurrency-and-improvements branch from 1a55e7d to 70c4353 Compare January 25, 2026 04:15
# Conflicts:
#	Loop/Core/URLCommandHandler.swift
#	Loop/Settings Window/Settings/Keybinds/KeybindItemView.swift
#	Loop/Window Management/Window Action/WindowActionCache.swift
# Conflicts:
#	Loop/Core/LoopManager.swift
#	Loop/Core/WindowDragManager.swift
@mrkai77 mrkai77 force-pushed the concurrency-and-improvements branch from 259618a to a7e6c3e Compare January 28, 2026 20:17
@mrkai77 mrkai77 marked this pull request as ready for review January 29, 2026 05:40
@SenpaiHunters SenpaiHunters merged commit c4aa225 into develop Jan 29, 2026
1 check passed
@SenpaiHunters SenpaiHunters deleted the concurrency-and-improvements branch January 29, 2026 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants