notification: Bridge notifications to the OS notification center (#2770)
## Description Notifications were in-app toasts only. This adds an opt-in bridge to the operating system's notification center, built on gpui's `SystemNotification` API — no new dependencies. - `NotificationDelivery` selects where a notification goes: `InApp` (default), `System`, or `InAppAndSystem`. Global default via `NotificationSettings::delivery`, per-notification override via `Notification::delivery`, with `.system()` / `.in_app_and_system()` shorthands. - The title and message map to the system notification; pushing the same `.id::<T>()` replaces it, and explicit dismissal (close button, `remove_notification`, `clear_notifications`) retracts it. Autohide expiry leaves it in the notification center. - Clicking the system notification activates the app and window, closes the in-app counterpart, and fires `on_click`. `gpui_component::init` owns the single app-global response handler. - Platform requirements are documented (macOS needs a bundled `.app` in a trusted location, Windows needs `set_app_identity`, Linux needs a notification daemon); plain `cargo run` degrades to in-app only. The story adds a "System notification" section; docs updated in en and zh-CN. Note: `NotificationSettings` gains a `delivery` field, so code constructing it exhaustively without `..Default::default()` needs to add the field. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
F
Floyd Wang committed
b80bb899151cb43db7bdc6f7586736f9fa17253a
Parent: cc89092
Committed by GitHub <noreply@github.com>
on 8/19/2026, 11:18:48 AM