From efb3df82336edd24a1a20c265ebedebf4c8442d3 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Thu, 19 Mar 2026 16:43:34 +0700 Subject: [PATCH] fix desktop notification handling on macos --- .../components/desktop-permission-row.tsx | 31 ++- .../desktop-permissions-section.tsx | 9 + .../permissions/use-desktop-permissions.ts | 29 ++ packages/desktop/src-tauri/Cargo.lock | 2 +- packages/desktop/src-tauri/Cargo.toml | 4 +- packages/desktop/src-tauri/build.rs | 14 + .../src-tauri/macos/paseo_notifications.h | 12 + .../src-tauri/macos/paseo_notifications.m | 176 ++++++++++++ .../src-tauri/src/desktop_notifications.rs | 262 +++++++++++++++--- 9 files changed, 486 insertions(+), 53 deletions(-) create mode 100644 packages/desktop/src-tauri/macos/paseo_notifications.h create mode 100644 packages/desktop/src-tauri/macos/paseo_notifications.m diff --git a/packages/app/src/desktop/components/desktop-permission-row.tsx b/packages/app/src/desktop/components/desktop-permission-row.tsx index 628dcaa25..e176fad98 100644 --- a/packages/app/src/desktop/components/desktop-permission-row.tsx +++ b/packages/app/src/desktop/components/desktop-permission-row.tsx @@ -10,6 +10,10 @@ export interface DesktopPermissionRowProps { isRequesting: boolean; showBorder?: boolean; onRequest: () => void; + extraActionLabel?: string; + isExtraActionBusy?: boolean; + isExtraActionDisabled?: boolean; + onExtraAction?: () => void; } export function DesktopPermissionRow({ @@ -18,6 +22,10 @@ export function DesktopPermissionRow({ isRequesting, showBorder, onRequest, + extraActionLabel, + isExtraActionBusy = false, + isExtraActionDisabled = false, + onExtraAction, }: DesktopPermissionRowProps) { const { theme } = useUnistyles(); const state = status?.state ?? "unknown"; @@ -36,9 +44,21 @@ export function DesktopPermissionRow({ {isGranted ? ( - - - Granted + + + + Granted + + {extraActionLabel && onExtraAction ? ( + + ) : null} ) : (