Skip to content

macOS: first-run onboarding notification #32

Description

@hvtim

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

  • Add a method to native/src/platform/macos/StatusItemTray.h/.mm that posts an NSUserNotification via NSUserNotificationCenter
  • Call it once from native/src/platform/macos/main.mm after tray creation, gated on the placeholder client ID check
  • Build and run on the macOS Intel test VM to confirm the notification appears with a placeholder client ID, and does NOT appear after appid set

Part of the v0.1.2 onboarding UX pass. See also #31 (Windows), Linux companion issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions