fix post window close auth bug
This commit is contained in:
parent
46a127c217
commit
6a19a96855
7 changed files with 91 additions and 82 deletions
|
|
@ -1,58 +1,50 @@
|
|||
"use strict";
|
||||
|
||||
import { createWindow } from './createWindow';
|
||||
import { ipcMain, BrowserWindow } from "electron";
|
||||
import { initSession, sendMessage } from './session';
|
||||
import { initSession } from './session';
|
||||
import { windowEmitter } from './windowEmitter';
|
||||
const portAudio = require('naudiodon');
|
||||
// const portAudio = require('naudiodon');
|
||||
|
||||
interface ipcRendererPayload {
|
||||
interface IpcRendererPayload {
|
||||
endpoint: string;
|
||||
message: any;
|
||||
}
|
||||
|
||||
let activeSession = false;
|
||||
let win: BrowserWindow | null;
|
||||
let activeSession = false;
|
||||
|
||||
windowEmitter.on('ipc-renderer', (payload: ipcRendererPayload) => {
|
||||
windowEmitter.on('ipc-renderer', (payload: IpcRendererPayload) => {
|
||||
if (win)
|
||||
win.webContents.send(payload.endpoint, {
|
||||
message: payload.message
|
||||
});
|
||||
});
|
||||
|
||||
const windowDismount = (): void => {
|
||||
win = null;
|
||||
windowEmitter.emit('window-active', false);
|
||||
ipcMain.removeAllListeners('send-message');
|
||||
}
|
||||
|
||||
/*
|
||||
* The main function will be run after electron app is ready.
|
||||
*/
|
||||
export async function main() {
|
||||
|
||||
// create main window.
|
||||
if (!win) {
|
||||
win = await createWindow({ width: 350, height: 525, resizable: false });
|
||||
}
|
||||
|
||||
if (!win) win = await createWindow({
|
||||
width: 350,
|
||||
height: 525,
|
||||
resizable: false
|
||||
});
|
||||
|
||||
// Instantiate socket session with crimata-platorm.
|
||||
if (!activeSession) {
|
||||
initSession();
|
||||
}
|
||||
if (!activeSession) initSession();
|
||||
|
||||
activeSession = true;
|
||||
|
||||
const handleMessage = (event: any, arg: any) => {
|
||||
sendMessage(arg);
|
||||
}
|
||||
|
||||
const windowMount = (): void => {
|
||||
windowEmitter.emit('window-active', true);
|
||||
ipcMain.on('send-message', handleMessage);
|
||||
}
|
||||
|
||||
const windowDismount = (): void => {
|
||||
win = null;
|
||||
windowEmitter.emit('window-active', false);
|
||||
ipcMain.removeAllListeners('send-message');
|
||||
}
|
||||
|
||||
// Handle window mount and dismount.
|
||||
win.webContents.on('did-finish-load', windowMount);
|
||||
// Handle window close.
|
||||
win.on("closed", windowDismount);
|
||||
|
||||
// TODO: FIX recorder restart bug
|
||||
|
|
|
|||
Loading…
Reference in a new issue