Пометить как прочитанную опцию в уведомлении в MacOS - PullRequest
0 голосов
/ 08 октября 2019

Я создаю приложение для обмена сообщениями, используя электрон. Я могу ответить из уведомления, но не нашел источников, чтобы сделать уведомление прочитанным.

Я использую значение по умолчанию Notification API, предоставляемое электроном, но у него просто есть параметр hasReply, а не hasRead. Я также пытался использовать node-mac-notifier, который обеспечивает ту же функциональность.

Ссылка только на полезную часть кода:

const notifications = new Map();

ipcMain.on(
    'notification',
    (_event: ElectronEvent, {id, title, body, icon, silent}: NotificationEvent) => {
        const notification = new Notification({
            title,
            body: config.get('notificationMessagePreview') ? body : `You have a new message`,
            hasReply: true,
            icon: nativeImage.createFromDataURL(icon),
            silent
        });

        notifications.set(id, notification);

        notification.on('click', () => {
            sendAction('notification-callback', {callbackName: 'onclick', id});

            notifications.delete(id);
        });

        notification.on('reply', (_event, reply: string) => {
            // We use onclick event used by messenger to go to the right convo
            sendBackgroundAction('notification-reply-callback', {callbackName: 'onclick', id, reply});

            notifications.delete(id);
        });

        notification.on('close', () => {
            sendBackgroundAction('notification-callback', {callbackName: 'onclose', id});
            notifications.delete(id);
        });

        notification.show();
    }
);

Предполагается найти способ пометить сообщение как прочитанное, учитываяуведомление. Оценивается при использовании API уведомлений по умолчанию (хотя и не обязательно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...