Hook the existing LocalNotifier (macOS) and DesktopNotifier
(GTK) to observeAllPendingMissionActions so the user sees a
desktop notification when Luma needs an approval and the app
isn't frontmost. Coalesces multiple arrivals in one observe
tick into a single notification with "(+N more pending)".
Push notifications only fire when the server considers a user
offline, which leaves a blind spot on macOS when the app is
connected to the portal but not frontmost (minimized, hidden, or
behind another app). Wire a UNUserNotificationCenter-backed
notifier per Workspace that mirrors the GTK side: notify on
member-added, chat-message, and notebook entry-added, skipping
self-authored events and suppressing delivery when the app is
active.