Skip to content

fix: sound#1

Merged
billdaws merged 6 commits intomasterfrom
feature/unusernotificationcenter
Apr 4, 2026
Merged

fix: sound#1
billdaws merged 6 commits intomasterfrom
feature/unusernotificationcenter

Conversation

@billdaws
Copy link
Copy Markdown
Owner

@billdaws billdaws commented Apr 4, 2026

Fixes sound, see upstream contribution for detailed PR description julienXX#322

billdaws added 6 commits April 3, 2026 18:00
NSUserNotification and NSUserNotificationCenter were deprecated in
macOS 11 and removed entirely in macOS 14 (Sonoma), breaking all
notification delivery including the -sound option on modern systems.

Migrates to the UserNotifications framework (UNUserNotificationCenter),
which is the supported API from macOS 10.14 onwards. Raises the minimum
deployment target from 10.10 to 10.14 accordingly.

Changes:
- Fix -sound: now uses UNNotificationSound defaultSound/soundNamed:
- -group now uses UNNotificationRequest identifiers for deduplication
- -remove and -list use async UNUserNotificationCenter equivalents
- -contentImage uses UNNotificationAttachment (local files only)
- -ignoreDnD uses interruptionLevel .timeSensitive on macOS 12+
- Notification permission is requested via requestAuthorizationWithOptions:
- applicationWillFinishLaunching: sets delegate early to handle
  click-launched activations before applicationDidFinishLaunching: runs

Dropped features (no public API equivalent in UNUserNotificationCenter):
- -sender: bundle identifier spoofing via NSBundle swizzle no longer
  has any effect; emits a warning and continues
- -appIcon: _identityImage was a private NSUserNotification API with no
  UNUserNotificationCenter equivalent; emits a warning and continues

Bumps version to 3.0.0.
@billdaws billdaws merged commit 23c5288 into master Apr 4, 2026
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