SIGN IN SIGN UP

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