This differential implements main <-> rendered IPC and uses it combined with decryption function from previous differential to decrypt notifications. In
summary notification decryption workflow is as follows:
1. Desktop code in `pish-notifications.js` receives notification and checks that it is encrypted (`encryptedPayload`) field.
2. Sends decrypted payload to renderer process (web app) using `onEncryptedNotification` IPC.
3. Renderer receives it in callback registered in `push-notif-handler.js` in web code. In this callback it decrypts paylaod using `decryptDesktopNotification`
function.
4. Decrypted notification is sent to main process using `showDecryptedNotification` IPC.
5. Main process receives decrypted notification in `ipcMain.on('show-decrypted-notification', (...) => {...})` where it shows notification.