init session after auth

This commit is contained in:
Enrique Hernandez 2021-06-18 08:52:49 -05:00
commit a6351af83c
8 changed files with 46 additions and 49 deletions

View file

@ -39,7 +39,7 @@ export default function useWebSockets(
/* add event listeners */ /* add event listeners */
socket.on("open", () => { socket.on("open", () => {
socket.send(secret); socket.send(JSON.stringify({key: secret}));
// ping server // ping server
_connectionCheckInterval = setInterval(() => { _connectionCheckInterval = setInterval(() => {
@ -57,7 +57,8 @@ export default function useWebSockets(
}); });
socket.on("message", (event: WebSocket.MessageEvent) => { socket.on("message", (event: WebSocket.MessageEvent) => {
messageCallback(event.data.toString()) console.log("message received", event.data);
messageCallback(event.toString())
}); });
socket.on("close", (event: WebSocket.CloseEvent) => { socket.on("close", (event: WebSocket.CloseEvent) => {

View file

@ -21,12 +21,3 @@ const handlers = [loginHandler, logoutHandler];
export default handlers; export default handlers;
// export default function useAccountListeners(): void {
//
// ipcMain.removeHandler(LOGIN_HANDLER);
// ipcMain.handle(LOGIN_HANDLER, onLogin);
//
// ipcMain.removeHandler(LOGOUT_HANDLER);
// ipcMain.handle(LOGOUT_HANDLER, onLogout);
//
// }

View file

@ -3,6 +3,10 @@
import { ipcMain, IpcMainInvokeEvent, IpcMainEvent } from "electron"; import { ipcMain, IpcMainInvokeEvent, IpcMainEvent } from "electron";
import { collect, flush } from "@/composbales/audio"; import { collect, flush } from "@/composbales/audio";
import { IpcHandler } from "@/composables/useIpcMain";
const AUDIO_CHUNK_CHANNEL = 'audio-chunk';
const GET_AUDIO_CHANNEL = 'get-audio';
// handle the new audio data // handle the new audio data
const onAudioChunk = ( const onAudioChunk = (
@ -13,14 +17,10 @@ const onAudioChunk = (
collect(payload); collect(payload);
} }
// Returns recorded audio to frontend and sets record to false. const getAudioHandler = new IpcHandler({
const onGetAudio = async ( channel: GET_AUDIO_CHANNEL,
_event: IpcMainInvokeEvent, handlerCallback: flush
_payload: null });
): Promise<Error | ArrayBuffer[]> => {
console.log('[IPC]: stop-recording');
return await flush()
};
export default function useAudioListeners(): void { export default function useAudioListeners(): void {
@ -28,7 +28,4 @@ export default function useAudioListeners(): void {
ipcMain.removeAllListeners("audio-chunk"); ipcMain.removeAllListeners("audio-chunk");
ipcMain.on("audio-chunk", onAudioChunk); ipcMain.on("audio-chunk", onAudioChunk);
ipcMain.removeHandler("get-audio");
ipcMain.handle("get-audio", onGetAudio);
} }

View file

@ -2,7 +2,7 @@
"use strict"; "use strict";
import {IpcHandler} from "@/composables/useIpcMain"; import {IpcHandler} from "@/composables/useIpcMain";
import handlers from "./account"; import accountHandlers from "./account";
import useSessionListeners from "./session"; import useSessionListeners from "./session";
// import useAudioListeners from "./audio"; // import useAudioListeners from "./audio";
@ -12,8 +12,8 @@ interface IPCHandlers {
const ipcHandlers: IPCHandlers = {}; const ipcHandlers: IPCHandlers = {};
const _initHandlers = () => { const _initHandlers = (handlers: Array<IpcHandler<any, any>>) => {
handlers.forEach((h) => { handlers.forEach((h: IpcHandler<any, any>) => {
if (!(h.channel in ipcHandlers)) { if (!(h.channel in ipcHandlers)) {
ipcHandlers[h.channel] = h; ipcHandlers[h.channel] = h;
h.handle(); h.handle();
@ -23,7 +23,7 @@ const _initHandlers = () => {
export default function useIpc(): void { export default function useIpc(): void {
_initHandlers(); _initHandlers(accountHandlers);
// useAccountListeners(); // useAccountListeners();

View file

@ -1,7 +1,7 @@
"use strict"; "use strict";
import { ipcMain, IpcMainEvent, IpcMainInvokeEvent } from "electron"; import { ipcMain, IpcMainEvent } from "electron";
import { sendMessage } from '@/session'; import { sendMessage } from '@/session';
// Handle messages from window/client. // Handle messages from window/client.
@ -9,11 +9,6 @@ function onSendMessage(_event: IpcMainEvent, payload: Message): void {
sendMessage(payload); sendMessage(payload);
} }
// Login attempt, returns success or not.
function onLogin(_event: IpcMainEvent, payload: LoginPayload): void {
console.log('hello')
}
export default function useSessionListeners(): void { export default function useSessionListeners(): void {
ipcMain.removeAllListeners("client-message"); ipcMain.removeAllListeners("client-message");
ipcMain.on("client-message", onSendMessage); ipcMain.on("client-message", onSendMessage);

View file

@ -1,15 +1,17 @@
<template> <template>
<!-- Only render when profile has been set --> <!-- Only render when profile has been set -->
<main id="app" v-if="ready"> <main id="app" v-if="authComplete">
<Header /> <Header />
<!-- Main Components --> <!-- Main Components
<Messenger <Messenger
v-if="profile" v-if="profile"
:profile="profile" :profile="profile"
:messages="state.messages" :messages="state.messages"
/> />
-->
<div v-if="profile">{{profile}}</div>
<Login v-else /> <Login v-else />
</main> </main>
@ -41,7 +43,7 @@ export default defineComponent({
setup() { setup() {
const ready = ref(false); const authComplete = ref(false);
const { setProfile, clearProfile, profile } = useProfile(); const { setProfile, clearProfile, profile } = useProfile();
@ -50,9 +52,9 @@ export default defineComponent({
/* listen for auth related messages */ /* listen for auth related messages */
window.ipcRenderer.on("set-profile", (_event: IpcRendererEvent, payload: any) => { window.ipcRenderer.on("set-profile", (_event: IpcRendererEvent, payload: any) => {
console.log('progfile', payload.message)
payload.message ? setProfile(payload.message) : clearProfile(); payload.message ? setProfile(payload.message) : clearProfile();
ready.value = true; authComplete.value = true;
console.log('progfile', profile.value)
}); });
}); });
@ -62,7 +64,7 @@ export default defineComponent({
}); });
return { return {
ready, authComplete,
profile profile
} }
} }

View file

@ -63,7 +63,7 @@ export default defineComponent({
} catch(e) { } catch(e) {
console.log(e); console.log(e);
}; }
} }

View file

@ -13,10 +13,19 @@ const uiState: any | null = null;
/* start and stop audio functionality */ /* start and stop audio functionality */
// const { initAudio, closeAudio } = useAudio(); // const { initAudio, closeAudio } = useAudio();
let isInitMessage: any; let isInitMessage = (message: any): boolean => {
console.log(message)
return true;
};
let deauthenticate: any; let deauthenticate = (): void => {
let isAddMessage: any console.log('deauthenticating')
};
let isAddMessage = (message: any): boolean => {
console.log(message)
return true;
};
/** /**
* Controls for interfacing with the platform. * Controls for interfacing with the platform.
@ -36,21 +45,23 @@ const onMessageCallback = (message: string) => {
/* on init, platform sends state, used to init canvas */ /* on init, platform sends state, used to init canvas */
if (isInitMessage(content)) { if (isInitMessage(content)) {
uiState.set(content); // uiState.set(content);
} }
else if (isAddMessage(content)) { else if (isAddMessage(content)) {
uiState.add(content); // uiState.add(content);
} }
else { else {
uiState.update(content); // uiState.update(content);
} }
} }
const onConnectionStatusCallback = (alive: boolean) => { const onConnectionStatusCallback = (alive: boolean) => {
ipcEmit('connection-state', alive);
// console.log('[Session]: Connection Alive: ', alive);
// ipcEmit('connection-state', alive);
} }
const { connect, send, close } = useWebsockets(onMessageCallback, onConnectionStatusCallback); const { connect, send, close } = useWebsockets(onMessageCallback, onConnectionStatusCallback);