Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
30529e407c
8 changed files with 173 additions and 74 deletions
|
|
@ -4,9 +4,8 @@ import WebSocket from 'ws';
|
|||
import { backgroundMitt } from './emitter';
|
||||
import { ipcMain } from "electron";
|
||||
import { play } from './audio';
|
||||
import { UserCreds, ClientMessage } from "@/types/message/index";
|
||||
import { clientMessage } from '@/modules/message';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { UserCreds, ClientMessage, RenderMessage, Annotation } from "@/types/message/index";
|
||||
import { clientMessage, renderMessage } from '@/modules/message';
|
||||
|
||||
const ip = 'ws://127.0.0.1';
|
||||
const port = 8760;
|
||||
|
|
@ -15,7 +14,7 @@ let socket: WebSocket;
|
|||
let success = false;
|
||||
let auth = false;
|
||||
|
||||
const onAuthSession = async (_event, payload: string | UserCreds | null): Promise<string> => {
|
||||
const onAuthSession = async (e: any, payload: string | UserCreds | null): Promise<string> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
console.log('authenticating...');
|
||||
|
|
@ -43,40 +42,48 @@ const onAuthSession = async (_event, payload: string | UserCreds | null): Promis
|
|||
});
|
||||
};
|
||||
|
||||
const onMessage = (message: string): void => {
|
||||
const onMessage = (messageStr: string): void => {
|
||||
|
||||
while (!auth) {
|
||||
backgroundMitt.emit('auth-res', message);
|
||||
backgroundMitt.emit('auth-res', messageStr);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the message.
|
||||
const m = JSON.parse(message);
|
||||
// Decode the message.
|
||||
const m = JSON.parse(messageStr)
|
||||
let message: RenderMessage | Annotation;
|
||||
|
||||
// check to see if this is a Render Message.
|
||||
// Check to see if this is a Render Message.
|
||||
if (m.content) {
|
||||
message = renderMessage({
|
||||
text: m.content.text,
|
||||
audio: m.content.audio,
|
||||
context: m.context,
|
||||
modifier: m.modifier,
|
||||
});
|
||||
|
||||
// If there is audio, play it.
|
||||
if (m.content.audio) {
|
||||
// Play audio if any.
|
||||
if (message.content.audio) {
|
||||
const audioBytes = Buffer.from(m.content.audio as string, 'hex');
|
||||
m.content.audio = true;
|
||||
play(audioBytes);
|
||||
} else {
|
||||
m.content.audio = false;
|
||||
}
|
||||
|
||||
// if there is no unique id, add it.
|
||||
if(!m.uid) m.uid = uuidv4();
|
||||
}
|
||||
|
||||
else {
|
||||
message = m // Annotation
|
||||
}
|
||||
|
||||
// Send it to the frontend.
|
||||
backgroundMitt.emit('ipc-renderer', {
|
||||
endpoint: 'render-message',
|
||||
message: m
|
||||
message: message
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
const onClientMessage = (_event, payload: ClientMessage): void => {
|
||||
const onClientMessage = (e: any, payload: ClientMessage): void => {
|
||||
console.log('sending message');
|
||||
socket.send(JSON.stringify(payload));
|
||||
}
|
||||
|
|
@ -150,8 +157,7 @@ export function initSession(): void {
|
|||
}
|
||||
|
||||
|
||||
export function sendAudio(content: string, uid: string): void {
|
||||
const m = clientMessage("", content, uid);
|
||||
export function sendAudio(audio: string, uid: string): void {
|
||||
const m = clientMessage("", audio, uid);
|
||||
socket.send(JSON.stringify(m));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
import { BrowserWindow, ipcMain } from "electron";
|
||||
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
|
||||
import { backgroundMitt } from './emitter';
|
||||
import { RenderMessage } from "@/types/message/index";
|
||||
import * as path from "path";
|
||||
|
||||
interface WindowSettings {
|
||||
|
|
@ -11,15 +12,6 @@ interface WindowSettings {
|
|||
resizable: boolean;
|
||||
}
|
||||
|
||||
interface RenderMessage {
|
||||
content: string;
|
||||
context: string;
|
||||
subContext: string;
|
||||
modifiers: string;
|
||||
time: string;
|
||||
id: string;
|
||||
}
|
||||
|
||||
interface IpcRendererPayload {
|
||||
endpoint: string;
|
||||
message: RenderMessage | null;
|
||||
|
|
|
|||
Loading…
Reference in a new issue