mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
Add `Notification.getHistory()` which returns a `Promise<Notification[]>` of all delivered notifications still present in Notification Center. Each returned Notification is a live object connected to the corresponding delivered notification — interaction events (click, reply, action, close) will fire on these objects, enabling apps to re-attach event handlers after a restart. Key implementation details: - Queries UNUserNotificationCenter's getDeliveredNotifications API - Creates live Notification objects with populated id, groupId, title, subtitle, and body properties from what macOS provides - Registers each object with the presenter via Restore() so the NotificationCenterDelegate routes events correctly - Restored notifications use is_restored_ flag to prevent removal from Notification Center when the JS object is garbage collected - Requires code-signed builds (unsigned builds resolve with empty array) Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
12 lines
408 B
TypeScript
12 lines
408 B
TypeScript
const binding = process._linkedBinding('electron_browser_notification');
|
|
|
|
const ElectronNotification = binding.Notification;
|
|
ElectronNotification.isSupported = binding.isSupported;
|
|
ElectronNotification.getHistory = binding.getHistory;
|
|
|
|
if (process.platform === 'win32' && binding.handleActivation) {
|
|
ElectronNotification.handleActivation = binding.handleActivation;
|
|
}
|
|
|
|
export default ElectronNotification;
|