Skip to content

Develop - Menubar drag & drop, Crash reporting#194

Merged
sameerasw merged 4 commits intomainfrom
develop
Mar 11, 2026
Merged

Develop - Menubar drag & drop, Crash reporting#194
sameerasw merged 4 commits intomainfrom
develop

Conversation

@sameerasw
Copy link
Owner

This pull request introduces two major features to the project: a new custom menu bar (menubar) integration for the macOS app and the addition of Sentry crash reporting. The menu bar now includes a dynamic status icon, popover window, and device status text, while Sentry integration enables crash reporting that can be toggled by the user. Several supporting changes were made to AppState and project files to support these features.

Menu Bar Integration:

  • Added a new MenuBarManager class to handle the app's menu bar status item, including dynamic icon, text, and a popover window (airsync-mac/Core/MenuBarManager.swift).
  • Updated AppDelegate to initialize MenuBarManager on launch (airsync-mac/Core/AppDelegate.swift). [1] [2]
  • Updated AppState with new properties to control menubar behavior (isMenubarWindowOpen) and support for dynamic text (airsync-mac/Core/AppState.swift).
  • Removed the now-obsolete MenuBarLabelView (airsync-mac/Screens/MenubarView/MenuBarLabelView.swift).

Sentry Crash Reporting Integration:

  • Added Sentry as a Swift Package dependency and linked it in the Xcode project files (AirSync.xcodeproj/project.pbxproj, AirSync.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved). [1] [2] [3] [4] [5] [6] [7] [8]
  • Added a SentryInitializer struct to handle Sentry SDK startup, respecting the user's crash reporting preference (airsync-mac/Core/SentryInitializer.swift).
  • Updated AppDelegate to initialize Sentry at launch (airsync-mac/Core/AppDelegate.swift).
  • Added isCrashReportingEnabled property to AppState and persisted it in user defaults (airsync-mac/Core/AppState.swift). [1] [2]

UI/UX Improvements:

  • Updated the DropTargetOverlay visual style for a more modern appearance (airsync-mac/Components/Custom/DropTargetModifier.swift).
  • Added a debug-only crash button to the menubar popover for testing Sentry integration (airsync-mac/Screens/MenubarView/MenubarView.swift).

These changes collectively modernize the app's menu bar experience and introduce robust crash reporting capabilities.

@sameerasw sameerasw self-assigned this Mar 11, 2026
@sameerasw sameerasw merged commit 32094b8 into main Mar 11, 2026
1 check passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in AirSync Features and Bugs Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant