gui/modules/desktop/electron/libs/push-notification.ts
Neil a50e7b9289
add logging in renderer thread (#323)
* #322 add logging in renderer thread

* #322 add more logging in main process

* #322 improve logging

* #322 cleanup data requested

---------

Co-authored-by: neil molina <neil@neils-MacBook-Pro.local>
2023-03-22 14:53:27 +08:00

28 lines
974 B
TypeScript

import Pushy from "pushy-electron";
import { readSessionData } from "./auth";
import { post } from "./v1-client";
import * as log from "electron-log";
import { BrowserWindow } from "electron";
export default function initialize(mainWindow: BrowserWindow) {
Pushy.listen();
// Register device for push notifications
Pushy.register({ appId: "64110fb47446e48a2a0e906d" })
.then(async (push_token) => {
const { device_id } = await readSessionData();
if (device_id) await post(`/auth/device/${device_id}/register-push-token`, { push_token });
})
.catch((err) => {
log.error(err);
// Display error dialog
// Pushy.alert(mainWindow, 'Pushy registration error: ' + err.message);
});
// Listen for incoming notifications
Pushy.setNotificationListener((data: any) => {
// Display an alert with the "message" payload value
log.info("push data:", data);
// TODO: replace this with something
Pushy.alert(mainWindow, data?.message as string);
});
}