From: riqo Date: Mon, 8 Feb 2021 15:50:35 +0000 (-0600) Subject: add background auth and login X-Git-Tag: v0.9~98 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=c9f8ea6337f231b7139d031d0155f4076f2e3bfc;p=mime-chat add background auth and login --- diff --git a/src/background/audio.ts b/src/background/audio.ts index 3ce3d89..7a30f32 100644 --- a/src/background/audio.ts +++ b/src/background/audio.ts @@ -22,7 +22,7 @@ const updateRecorder = async (Event: any, record: boolean): void => { } -let ia = new portAudio.AudioIO({ +const ia = new portAudio.AudioIO({ inOptions: { channelCount: 1, sampleFormat: 16, diff --git a/src/background/user.ts b/src/background/auth.ts similarity index 53% rename from src/background/user.ts rename to src/background/auth.ts index 1258257..81e086f 100644 --- a/src/background/user.ts +++ b/src/background/auth.ts @@ -1,5 +1,5 @@ -const authUser = (event: any, arg: any) => { +export const authUser = (event: any, arg: any) => { let reply; reply = { id: "2", @@ -7,16 +7,14 @@ const authUser = (event: any, arg: any) => { firstName: "Enrique", lastName: "Hernandez", access_token: "test-token" - } + }; if (arg === ['undefined']) { reply = new Error('AUTH-FAILED'); } - event.reply('auth-user-reply', reply) + event.reply('auth-user-reply', reply); } -ipcMain.on('auth-user', authUser); - -const authLogin = (event: any, arg: any) => { - console.log(arg) - event.reply('auth-login-reply', true) +export const authLogin = (event: any, arg: any) => { + console.log('testing login', arg); + event.reply('auth-login-reply', true); } diff --git a/src/background/run.ts b/src/background/run.ts index 49ccaca..f64e181 100644 --- a/src/background/run.ts +++ b/src/background/run.ts @@ -2,6 +2,7 @@ import { createWindow } from './createWindow'; import { ipcMain } from "electron"; import WebSocket from 'ws'; import { windowEmitter } from './windowEmitter'; +import { authUser, authLogin } from './auth'; const portAudio = require('naudiodon'); /* @@ -9,29 +10,9 @@ const portAudio = require('naudiodon'); */ export function main(): void { - let audioInput: string[] = []; - - const authUser = (event: any, arg: any) => { - let reply; - reply = { - id: "2", - email: "hernandeze@xavier.edu", - firstName: "Enrique", - lastName: "Hernandez", - access_token: "test-token" - } - if (arg === ['undefined']) { - reply = new Error('AUTH-FAILED'); - } - event.reply('auth-user-reply', reply) - } + // mount auth-user listener ipcMain.on('auth-user', authUser); - const authLogin = (event: any, arg: any) => { - console.log(arg) - event.reply('auth-login-reply', true) - } - // create main window. const win = createWindow({ width: 350, height: 525, resizable: false }); @@ -59,27 +40,9 @@ export function main(): void { }); } - const updateRecorder = async (Event: any, record: boolean): void => { - if (record) { - ia.resume(); - } else { - ia.pause(); - const audio = processAudio(audioInput); - sendAudio(audio); - audioInput = []; - } - } - - function processAudio(audioInput: Array): Buffer { - let audio = ''; - audioInput.forEach(chunk => audio += chunk); - return Buffer.from(audio, "base64"); - } - const windowMount = (): void => { windowEmitter.emit('window-active', true); // ipc event handlers - ipcMain.on('update-recorder', updateRecorder); ipcMain.on('send-message', sendMessage); ipcMain.on('auth-login', authLogin); } @@ -87,7 +50,6 @@ export function main(): void { const windowDismount = (): void => { windowEmitter.emit('window-active', false); // TODO: Gracefully close socket connection - ipcMain.removeAllListeners('update-recorder'); ipcMain.removeAllListeners('send-message'); ipcMain.removeAllListeners('auth-login'); ipcMain.removeAllListeners('auth-user'); @@ -101,22 +63,41 @@ export function main(): void { win.webContents.on('did-finish-load', windowMount); win.on("closed", windowDismount); - let ia = new portAudio.AudioIO({ - inOptions: { - channelCount: 1, - sampleFormat: 16, - sampleRate: 16000, - deviceId: -1, - closeOnError: false, - } - }); - ia.setEncoding('base64'); - ia.start(); - ia.pause(); - ia.on('error', (e: Error) => { - console.log('Error recording audio', + e); - }); - ia.on('data', (chunk: string) => { - audioInput.push(chunk); - }); + // TODO: FIX recorder restart bug + // let audioInput: string[] = []; + // const updateRecorder = async (Event: any, record: boolean): void => { + // if (record) { + // ia.resume(); + // } else { + // ia.pause(); + // const audio = processAudio(audioInput); + // sendAudio(audio); + // audioInput = []; + // } + // } + + // function processAudio(audioInput: Array): Buffer { + // let audio = ''; + // audioInput.forEach(chunk => audio += chunk); + // return Buffer.from(audio, "base64"); + // } + + // const ia = new portAudio.AudioIO({ + // inOptions: { + // channelCount: 1, + // sampleFormat: 16, + // sampleRate: 16000, + // deviceId: -1, + // closeOnError: false, + // } + // }); + // ia.setEncoding('base64'); + // ia.start(); + // ia.pause(); + // ia.on('error', (e: Error) => { + // console.log('Error recording audio', + e); + // }); + // ia.on('data', (chunk: string) => { + // audioInput.push(chunk); + // }); }