You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Onboarding
Redesigned two-step onboarding flow
Step 1: Cursor bridge configuration.
Step 2: Glow preview and final setup.
Bridge status detection without auto-skip
Step 1 now checks whether the Cursor bridge is already installed and shows an "Installed" status, but it no longer jumps automatically to Step 2.
Streamlined Cursor setup
Only automatic installation remains. Manual and dynamic detection options have been removed. The flow clearly indicates whether Cursor is installed and whether the bridge is configured.
Notch preview hidden on non-notch Macs
On machines without a display notch, the notch preview card is hidden in Step 2.
Settings
Redesigned Glow settings with tabs
The Glow settings page is now organized into four tabs: General, Notch, Cursor, and Menu Bar.
Cursor: Cursor glow toggle and bridge configuration status.
Menu Bar: Status-color glow settings.
Notch tab hidden on non-notch Macs
On Macs without a display notch, the Notch tab is not shown.
Cursor settings simplified
Removed manual and dynamic detection; only automatic bridge installation is offered.
Bug Fixes
Fixed crash when toggling Low Power Mode GlowController observed NSProcessInfoPowerStateDidChangeNotification via a selector-based observer. The notification is delivered on a background thread, which caused UI API calls (window.orderFront, window.contentView, etc.) to run off the main thread and trigger an EXC_BREAKPOINT crash. All notification observers that touch UI have been migrated to block-based observers on OperationQueue.main.
Fixed unresponsive "Configure" button in onboarding
Chaining two .alert(isPresented:) modifiers on macOS SwiftUI prevented the second alert from presenting. The alerts in OnboardingStep1View are now combined into a single .alert(item:content:) modifier, and the button hit area is explicitly defined with .contentShape(Rectangle()).
Fixed notch glow turning on automatically during onboarding OnboardingWindowController.preferredInitialStep() previously skipped to Step 2 when Cursor was already configured, and the glow defaults were left enabled. The initial step is now always Step 1 until onboarding is completed, and AppDelegate explicitly disables all glow layers before showing onboarding.
Cursor glow now responds to motion and power settings CursorGlowController now observes NSWorkspace.accessibilityDisplayOptionsDidChangeNotification and NSProcessInfoPowerStateDidChangeNotification on the main queue, so the cursor halo refreshes immediately when Reduce Motion or Low Power Mode is toggled.
Notes
Breathing animations are intentionally static when Reduce Motion or Low Power Mode is enabled
Liang respects macOS accessibility and power-management settings by downgrading all breathing/pulse effects to a steady glow when either Reduce Motion or Low Power Mode is active. This is by design.