/* add event listeners */
socket.on("open", () => {
- socket.send(secret);
+ socket.send(JSON.stringify({key: secret}));
// ping server
_connectionCheckInterval = setInterval(() => {
});
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) => {
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);
-//
-// }
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 = (
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 {
ipcMain.removeAllListeners("audio-chunk");
ipcMain.on("audio-chunk", onAudioChunk);
- ipcMain.removeHandler("get-audio");
- ipcMain.handle("get-audio", onGetAudio);
-
}
"use strict";
import {IpcHandler} from "@/composables/useIpcMain";
-import handlers from "./account";
+import accountHandlers from "./account";
import useSessionListeners from "./session";
// import useAudioListeners from "./audio";
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();
export default function useIpc(): void {
- _initHandlers();
+ _initHandlers(accountHandlers);
// useAccountListeners();
"use strict";
-import { ipcMain, IpcMainEvent, IpcMainInvokeEvent } from "electron";
+import { ipcMain, IpcMainEvent } from "electron";
import { sendMessage } from '@/session';
// Handle messages from window/client.
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);
<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>
setup() {
- const ready = ref(false);
+ const authComplete = ref(false);
const { setProfile, clearProfile, profile } = useProfile();
/* 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;
});
});
});
return {
- ready,
+ authComplete,
profile
}
}
} catch(e) {
console.log(e);
- };
+ }
}
/* 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.
/* 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);