perry_system_notification_send in crates/perry-ui-ios/src/lib.rs:1545 is an empty {}. The macOS twin in crates/perry-ui-macos/src/notifications.rs already wires UNUserNotificationCenter (with an NSUserNotification fallback for unbundled apps).
Scope
- Port the macOS
UNMutableNotificationContent + UNTimeIntervalNotificationTrigger + UNNotificationRequest + UNUserNotificationCenter.currentNotificationCenter path into the iOS crate.
requestAuthorizationWithOptions: needs to fire once at app launch (not per-send) — wire into perry-ui-ios/src/app.rs bootstrap.
- Parity with the TS surface:
notificationSend(title, body) in types/perry/system/index.d.ts:53.
Out of scope
Remote/push (separate ticket), scheduling, tap callbacks, background.
perry_system_notification_sendincrates/perry-ui-ios/src/lib.rs:1545is an empty{}. The macOS twin incrates/perry-ui-macos/src/notifications.rsalready wiresUNUserNotificationCenter(with anNSUserNotificationfallback for unbundled apps).Scope
UNMutableNotificationContent+UNTimeIntervalNotificationTrigger+UNNotificationRequest+UNUserNotificationCenter.currentNotificationCenterpath into the iOS crate.requestAuthorizationWithOptions:needs to fire once at app launch (not per-send) — wire intoperry-ui-ios/src/app.rsbootstrap.notificationSend(title, body)intypes/perry/system/index.d.ts:53.Out of scope
Remote/push (separate ticket), scheduling, tap callbacks, background.