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 */
socket.on("open", () => {
socket.send(secret);
socket.send(JSON.stringify({key: secret}));
// ping server
_connectionCheckInterval = setInterval(() => {
@ -57,7 +57,8 @@ export default function useWebSockets(
});
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) => {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -13,10 +13,19 @@ const uiState: any | null = null;
/* start and stop audio functionality */
// const { initAudio, closeAudio } = useAudio();
let isInitMessage: any;
let isInitMessage = (message: any): boolean => {
console.log(message)
return true;
};
let deauthenticate: any;
let isAddMessage: any
let deauthenticate = (): void => {
console.log('deauthenticating')
};
let isAddMessage = (message: any): boolean => {
console.log(message)
return true;
};
/**
* Controls for interfacing with the platform.
@ -36,21 +45,23 @@ const onMessageCallback = (message: string) => {
/* on init, platform sends state, used to init canvas */
if (isInitMessage(content)) {
uiState.set(content);
// uiState.set(content);
}
else if (isAddMessage(content)) {
uiState.add(content);
// uiState.add(content);
}
else {
uiState.update(content);
// uiState.update(content);
}
}
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);