]> Repos - mime-chat/commitdiff
init session after auth
authorEnrique Hernandez <hernandeze2@xavier.edu>
Fri, 18 Jun 2021 13:52:49 +0000 (08:52 -0500)
committerEnrique Hernandez <hernandeze2@xavier.edu>
Fri, 18 Jun 2021 13:52:49 +0000 (08:52 -0500)
src/composables/useWebsockets.ts
src/ipc/account.ts
src/ipc/audio.ts
src/ipc/index.ts
src/ipc/session.ts
src/render/App.vue
src/render/components/login.vue
src/session.ts

index 820810914ea2ff017d18e1214ce400f2d47fd584..cc272d6e00544870a4623bd3b5cef5a6b0b2fe44 100644 (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) => {
index 29a614b3720e1b4034baab7af77b5ef69a661333..b8ae1d3544c50c868edd3bae3c4a2cd352cb224b 100644 (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);
-//
-// }
index 31c16ce8da35dcbc051c8db31b9b1302ff57fee2..d3c76858deff3e32059509f9ba58cb4a4f7e6f1b 100644 (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);
-
 }
index ef61fe91dd8f338c6f461661e25293b1f0050eda..017a9f2b78605a1355b1fbebfc131557134ad7d5 100644 (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();
 
index bbaf0e992f81cba090f2304691dfcc1f872301a6..0d89eb7edfee61d9e7e58fc84ed6f5cda9d59290 100644 (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);
index 2794eaad7bdb8a7f7c3adcb987d357dd690b699e..d53788fa49241c0277718f65a48234f1b0389b69 100644 (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
     }
   }
index 9970f4cdf836984a289035296a8d020ee3348d51..6cb4dd6eb6393c3d38a3e0e389dc1f94042a2664 100644 (file)
@@ -63,7 +63,7 @@ export default defineComponent({
 
       } catch(e) {
           console.log(e);
-      };
+      }
 
     }
 
index e08ce4c047b330054ff2ccecb2217be395022031..3e844c1d478efff1ef4d31f6d106bbef8c4d0d07 100644 (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);