Companion to #31 (Windows balloon tip) - extending the same first-run onboarding fix to macOS for v0.1.2 rather than shipping it Windows-only.
StatusItemTray/StatusItemTray.mm already imports <Cocoa/Cocoa.h> (Foundation transitively). NSUserNotificationCenter/NSUserNotification is deprecated but still present with zero new frameworks/linker flags - the modern UNUserNotificationCenter replacement needs a proper bundle identifier + entitlement/framework link, i.e. a real new dependency, so it's not the minimal-footprint choice here. The app is already MACOSX_BUNDLE with an Info.plist (CMakeLists.txt:137), so NSUserNotificationCenter defaultUserNotificationCenter with a title/informativeText notification is the right fit.
Same trigger condition as #31: on startup, if config.clientId is still the placeholder default (core/AppConfig.h), show one notification once per launch: "FeatherRPC is running. Right-click the tray icon to set your Discord Application ID."
Tasks
Part of the v0.1.2 onboarding UX pass. See also #31 (Windows), Linux companion issue.
Companion to #31 (Windows balloon tip) - extending the same first-run onboarding fix to macOS for v0.1.2 rather than shipping it Windows-only.
StatusItemTray/StatusItemTray.mmalready imports<Cocoa/Cocoa.h>(Foundation transitively).NSUserNotificationCenter/NSUserNotificationis deprecated but still present with zero new frameworks/linker flags - the modernUNUserNotificationCenterreplacement needs a proper bundle identifier + entitlement/framework link, i.e. a real new dependency, so it's not the minimal-footprint choice here. The app is alreadyMACOSX_BUNDLEwith anInfo.plist(CMakeLists.txt:137), soNSUserNotificationCenter defaultUserNotificationCenterwith atitle/informativeTextnotification is the right fit.Same trigger condition as #31: on startup, if
config.clientIdis still the placeholder default (core/AppConfig.h), show one notification once per launch: "FeatherRPC is running. Right-click the tray icon to set your Discord Application ID."Tasks
native/src/platform/macos/StatusItemTray.h/.mmthat posts anNSUserNotificationviaNSUserNotificationCenternative/src/platform/macos/main.mmafter tray creation, gated on the placeholder client ID checkappid setPart of the v0.1.2 onboarding UX pass. See also #31 (Windows), Linux companion issue.